컴퓨터과학
컴퓨터과학(computer science, 컴퓨터 사이언스) 또는 전산학(電算學)은 계산(computation), 정보(information) 그리고 자동화(automation)에 대한 학문이다. 컴퓨터과학은 알고리즘, 계산 및 정보에 대한 이론적 연구에서부터 하드웨어와 소프트웨어의 계산 시스템 구현에 대한 실질적인 문제에 이르기까지 다양한 주제에 걸쳐 있다. 전산 이론 및 시스템 설계를 다루는 전문가를 컴퓨터과학자 또는 전산학자라고 부른다.
목차
개요[편집]
컴퓨터과학(컴퓨터 사이언스) 또는 전산학(電算學)은 계산(computation), 정보(information) 그리고 자동화(automation)에 대한 학문이다.
컴퓨터과학은 알고리즘, 계산 및 정보에 대한 이론적 연구에서부터 하드웨어와 소프트웨어의 계산 시스템 구현에 대한 실질적인 문제에 이르기까지 다양한 주제에 걸쳐 있다.
전산 이론 및 시스템 설계를 다루는 전문가를 컴퓨터과학자 또는 전산학자라고 부른다.
외국에서는 컴퓨터공학(computer engineering)을 컴퓨터과학(computer science, 컴퓨터 사이언스) 분야 중에서 하드웨어를 다루는 세부 영역의 명칭으로 사용하는데 대한민국에서는 컴퓨터과학과 같은 뜻으로 자리 잡았다. Stanford의 경우 Computer Science전공에서 Computer Engineering트랙을 제공한다.[[1]]
Computer Science and Engineering (CSE)이라는 이름으로 교육 프로그램을 운영하는 대학도 존재한다.
컴퓨터과학의 분야는 (알고리즘, 계산이론, 정보이론 같은) 이론적인 분야와 (하드웨어와 소프트웨어 설계 및 구현을 포함한) 실용적인 분야로 나눌 수 있다. 예를 들어, 컴퓨터 그래픽스나 계산기하학은 보다 구체적인 응용을 강조하는 반면, 계산이론은 추상적인 계산 모델과 그것들을 사용하여 해결할 수 있는 일반적인 종류의 문제에 관한 것이다. 알고리즘과 자료구조는 컴퓨터과학의 심장이라고 불려왔다. 프로그래밍 언어론은 계산 프로세스의 설명에 대한 접근 방식을 고려하는 반면, 컴퓨터 프로그래밍은 복잡한 시스템을 만들기 위해 그것들을 사용하는 것을 포함한다. 컴퓨터 구조는 컴퓨터 구성요소와 컴퓨터 작동원리를 설명한다. 인공지능은 인간과 동물에게서 발견되는 문제 해결, 의사결정, 환경 적응, 계획, 학습과 같은 목표 지향적인 과정을 종합하는 것을 목표로 한다. 디지털 컴퓨터는 다양한 정보 과정을 시뮬레이션할 수 있다. 컴퓨터과학의 근본적인 관심사는 자동화할 수 있는 것과 없는 것을 결정하는 것이다. 컴퓨터과학자들은 보통 학술 연구에 집중한다. 튜링상은 일반적으로 컴퓨터과학에서 가장 뛰어난 상으로 인정받고 있다.
분야[편집]
컴퓨터과학은 그 이론의 적용법에 따라 여러 분야로 나뉜다. 일반적인 분류는 다음과 같다.
인접 학문[편집]
바탕이 되는 이론[편집]
이론 컴퓨터과학[편집]
알고리즘과 자료구조[편집]
프로그래밍 언어론과 정형 기법[편집]
병행·병렬·분산 컴퓨팅[편집]
소프트웨어 공학[편집]
컴퓨터 시스템[편집]
네트워크[편집]
인공지능[편집]
데이터베이스[편집]
컴퓨터 그래픽스와 시각화[편집]
이미지 처리와 음향 처리[편집]
소셜 컴퓨팅과 인간과 컴퓨터 상호작용[편집]
계산과학[편집]
참고자료[편집]
- 길현영, 〈컴퓨터과학에 대한 오해와 진실〉, 《소프트웨어정책연구소》, 2017-10-30
- 〈컴퓨터 과학의 역사로 알아보는 컴퓨터 공학과의 차이.〉, 《티스토리》, 2020-06-23
- 〈그래프 이*론〉, 《위키백과》
- 〈컴퓨터 과학〉, 《위키백과》
- 〈그래프 (자료 구조)〉, 《위키백과》
- 〈Information Theory〉, 《AIStudy》
- 〈정보 이론〉, 《위키백과》
- 〈수리 논리학〉, 《위키백과》
- 〈도메인 이론〉, 《위키백과》
- 〈확률론〉, 《위키백과》
- 〈통계학〉, 《위키백과》
- 〈계산 이론〉, 《네이버 지식백과》
- 〈계산복잡도이론〉, 《네이버 지식백과》
- 〈계산 가능성 이론〉, 《위키백과》
- 〈알고리즘〉, 《네이버 지식백과》
- 초보몽키, 〈강의노트 17. 알고리즘, 자료구조 개요〉, 《깃허브 블로그》, 2019-04-28
- botho, 〈(자료구조) 자료구조의 선형, 비선형 분류에 따른 각 종류와 자료구조별 특징 간단 정리〉, 《티스토리》, 2019-08-01
- 〈자료 구조〉, 《위키백과》
- 〈프로그래밍언어〉, 《네이버 지식백과》
- 〈컴파일러〉, 《위키백과》
- 〈동시 처리〉, 《정보통신용어사전》
- 〈다중작업〉, 《위키백과》
- 〈병렬 처리〉, 《네이버 지식백과》
- 마팸, 〈병렬 처리에 대해서〉, 《티스토리》, 2017-08-18
- 〈분산 처리〉, 《네이버 지식백과》
- 장철원, 〈분산 처리 시스템의 개념 이해(1)〉, 《깃허브 블로그》, 2020-03-12
- 〈컴퓨터구조〉, 《네이버 지식백과》
- IT양햄찌, 〈운영체제(Operating System : OS)란 ? 운영체제 종류〉, 《티스토리》, 2019-01-23
- wondong2, 〈1장 소프트웨어 공학의 개요〉, 《티스토리》, 2017-02-06
- 〈소프트웨어공학〉, 《네이버 지식백과》
- 〈소프트웨어공학〉, 《네이버 지식백과》
- 〈암호학〉, 《네이버 지식백과》
- 〈암호학〉, 《위키백과》
- heecheolman, 〈가볍게 배우는 암호학〉, 《깃허브 블로그》, 2020-12-14
- Yunnie, 〈인공지능(Artificial Intelligence)의 유형〉, 《티스토리》, 2021-03-07
- 〈강인공지능〉, 《나무위키》
- 〈컴퓨터 그래픽스〉, 《위키백과》
- 〈컴퓨터그래픽스〉, 《네이버 지식백과》
같이 보기[편집]