"컴퓨터과학"의 두 판 사이의 차이
(사용자 4명의 중간 판 16개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''컴퓨터과학'''<!--컴퓨터 과학-->(computer science)은 전산 이론 | + | '''컴퓨터과학'''<!--컴퓨터 과학-->(computer science, 컴퓨터 사이언스) 또는 '''전산학'''(電算學)은 [[계산]](computation), [[정보]](information) 그리고 [[자동화]](automation)에 대한 학문이다. 컴퓨터과학은 [[알고리즘]], [[계산]] 및 [[정보]]에 대한 이론적 [[연구]]에서부터 [[하드웨어]]와 [[소프트웨어]]의 계산 시스템 구현에 대한 실질적인 문제에 이르기까지 다양한 주제에 걸쳐 있다. 전산 이론 및 시스템 설계를 다루는 전문가를 [[컴퓨터과학자]] 또는 [[전산학자]]라고 부른다. |
== 개요 == | == 개요 == | ||
− | + | '''컴퓨터과학'''(컴퓨터 사이언스) 또는 '''전산학'''(電算學)은 [[계산 이론|계산]](computation), [[정보]](information) 그리고 [[자동화]](automation)에 대한 학문이다. | |
+ | |||
+ | 컴퓨터과학은 알고리즘, 계산 및 정보에 대한 이론적 연구에서부터 하드웨어와 소프트웨어의 계산 시스템 구현에 대한 실질적인 문제에 이르기까지 다양한 주제에 걸쳐 있다. | ||
+ | |||
+ | 전산 이론 및 시스템 설계를 다루는 전문가를 [[컴퓨터과학자]] 또는 [[전산학자]]라고 부른다. | ||
+ | |||
+ | 외국에서는 [[컴퓨터공학]](computer engineering)을 컴퓨터과학(computer science, 컴퓨터 사이언스) 분야 중에서 하드웨어를 다루는 세부 영역의 명칭으로 사용하는데 대한민국에서는 컴퓨터과학과 같은 뜻으로 자리 잡았다. Stanford의 경우 Computer Science전공에서 Computer Engineering트랙을 제공한다.[[https://www.cs.stanford.edu/bachelors-compsci-tracks-overview]] | ||
+ | |||
+ | [https://en.m.wikipedia.org/wiki/Computer_science_and_engineering Computer Science and Engineering] (CSE)이라는 이름으로 교육 프로그램을 운영하는 대학도 존재한다. | ||
+ | |||
+ | 컴퓨터과학의 분야는 ([[알고리즘]], [[계산이론]], [[정보이론]] 같은) 이론적인 분야와 (하드웨어와 소프트웨어 설계 및 구현을 포함한) 실용적인 분야로 나눌 수 있다. 예를 들어, [[컴퓨터 그래픽스]]나 [[계산기하학]]은 보다 구체적인 응용을 강조하는 반면, [[계산이론]]은 추상적인 계산 모델과 그것들을 사용하여 해결할 수 있는 일반적인 종류의 문제에 관한 것이다. [[알고리즘]]과 [[자료구조]]는 컴퓨터과학의 심장이라고 불려왔다. [[프로그래밍 언어론]]은 계산 프로세스의 설명에 대한 접근 방식을 고려하는 반면, [[컴퓨터 프로그래밍]]은 복잡한 시스템을 만들기 위해 그것들을 사용하는 것을 포함한다. [[컴퓨터 구조]]는 컴퓨터 구성요소와 컴퓨터 작동원리를 설명한다. [[인공지능]]은 인간과 동물에게서 발견되는 문제 해결, 의사결정, 환경 적응, 계획, 학습과 같은 목표 지향적인 과정을 종합하는 것을 목표로 한다. 디지털 컴퓨터는 다양한 정보 과정을 시뮬레이션할 수 있다. 컴퓨터과학의 근본적인 관심사는 자동화할 수 있는 것과 없는 것을 결정하는 것이다. 컴퓨터과학자들은 보통 학술 연구에 집중한다. [[튜링상]]은 일반적으로 컴퓨터과학에서 가장 뛰어난 상으로 인정받고 있다. | ||
== 분야 == | == 분야 == | ||
− | === | + | 컴퓨터과학은 그 이론의 적용법에 따라 여러 분야로 나뉜다. 일반적인 분류는 다음과 같다. |
− | + | ||
− | [[ | + | ===인접 학문=== |
− | + | * [[정보철학]] | |
− | [[ | + | * [[정보심리학]] |
− | + | * [[인지과학]] | |
− | + | * [[언어학]] | |
− | + | * [[사이버네틱스]] | |
− | + | ||
− | + | ===바탕이 되는 이론=== | |
− | + | * [[이산수학]] | |
− | + | * [[정보이론]] | |
− | + | * [[수리논리학]] | |
− | + | * [[도메인 이론]] | |
− | + | * [[확률론]]과 [[통계학]] | |
− | + | * [[암호학]] | |
− | * | + | |
− | + | ===이론 컴퓨터과학=== | |
− | * | + | * [[계산이론]] |
− | + | * [[그래프이론]] | |
− | === | + | * [[계산이론|최적화 이론]] |
− | + | * [[오토마타 이론]] | |
− | * | + | * [[유형이론]] |
− | [[알고리즘]] | + | * [[정보이론]] |
− | * | + | * [[부호이론]] |
− | [[자료구조]] | + | * [[양자컴퓨터|양자 컴퓨팅]] |
− | + | * [[계산 가능성 이론]] | |
− | + | * [[형식언어|형식언어]] | |
− | + | * [[람다대수]] | |
− | 프로그래밍 | + | |
− | ] | + | ===알고리즘과 자료구조=== |
− | + | * [[알고리즘]] | |
− | * | + | * [[알고리즘 분석]] |
− | + | * [[확률적 알고리즘]] | |
− | * | + | * [[자료구조]] |
− | + | * [[계산기하학]] | |
+ | * [[조합최적화]] | ||
+ | |||
+ | ===프로그래밍 언어론과 정형 기법=== | ||
+ | * [[프로그래밍 언어]] | ||
+ | * [[유형이론]] | ||
+ | * [[컴파일러]] | ||
+ | * [[자동 정리 증명]] | ||
− | * | + | ===병행·병렬·분산 컴퓨팅=== |
− | 분산 | + | * [[병렬 컴퓨팅]] |
+ | * [[그리드 컴퓨팅]] | ||
+ | * [[병행 컴퓨팅]] | ||
+ | * [[병행성]] | ||
+ | * [[분산 컴퓨팅]] | ||
− | + | === 소프트웨어 공학 === | |
− | === | + | * [[소프트웨어 공학]] |
− | + | * [[컴퓨터 프로그래밍]] | |
− | |||
− | |||
− | |||
− | |||
− | + | ===컴퓨터 시스템=== | |
+ | * [[컴퓨터공학]] | ||
+ | * [[컴퓨터 아키텍처]] | ||
+ | * [[마이크로 아키텍처]] | ||
+ | * [[명령어 집합 구조]] | ||
+ | * [[다중처리]] | ||
+ | * [[운영체제]] | ||
+ | * [[실시간 컴퓨팅]] | ||
+ | * [https://en.m.wikipedia.org/wiki/Processor_design 프로세서 디자인] | ||
+ | |||
+ | ===네트워크=== | ||
+ | * [[컴퓨터 네트워크]] | ||
+ | |||
+ | ===인공지능=== | ||
+ | * [[자동 추론]] | ||
+ | * [[로봇공학|로보틱스]] | ||
+ | * [[컴퓨터 비전]] | ||
+ | * [[기계학습]] | ||
+ | * [[진화연산]] | ||
+ | * [[자율컴퓨팅]] | ||
+ | * [[패턴인식]] | ||
+ | * [[지식표현]] | ||
+ | * [[강화학습]] | ||
+ | * [[딥러닝]] | ||
+ | * [[인공신경망]] | ||
+ | * [[떼지능]] | ||
+ | * [[게임이론]] | ||
+ | * [[알고리즘 게임이론]] | ||
+ | * [[인공생명]] | ||
+ | |||
+ | ===데이터베이스=== | ||
+ | * [[데이터베이스]] | ||
+ | * [[데이터마이닝]] | ||
+ | * [[검색엔진]] | ||
+ | |||
+ | ===컴퓨터 그래픽스와 시각화=== | ||
+ | * [[2차원 컴퓨터 그래픽스]] | ||
+ | * [[3차원 컴퓨터 그래픽스]] | ||
+ | * [[계산기하학]] | ||
+ | * [[컴퓨터 애니메이션]] | ||
+ | * [[렌더링]] | ||
+ | * [[혼합현실]] | ||
+ | * [[가상현실]] | ||
+ | * [[솔리드 모델링]] | ||
+ | |||
+ | ===이미지 처리와 음향 처리=== | ||
+ | * [[고속 푸리에 변환|FFT 알고리즘]] | ||
+ | * [[영상처리]] | ||
+ | * [[음성인식]] | ||
+ | * [[데이터 압축]] | ||
+ | * [[음성합성]] | ||
+ | |||
+ | ===소셜 컴퓨팅과 인간과 컴퓨터 상호작용=== | ||
+ | * [[소셜컴퓨팅]] | ||
+ | * [[인간-컴퓨터 상호 작용|인간과 컴퓨터 상호작용]] | ||
+ | |||
+ | ===계산과학=== | ||
+ | * [[수치해석학]] | ||
+ | * [[계산생물학]] | ||
+ | * [[계산물리학]] | ||
+ | * [[계산화학]] | ||
+ | * [[생물정보학]] | ||
+ | * [[신경정보학]] | ||
+ | * [[계산신경과학]] | ||
+ | * [[기호계산]] | ||
== 참고자료 == | == 참고자료 == | ||
75번째 줄: | 156번째 줄: | ||
* 〈[https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0 자료 구조]〉, 《위키백과》 | * 〈[https://ko.wikipedia.org/wiki/%EC%9E%90%EB%A3%8C_%EA%B5%AC%EC%A1%B0 자료 구조]〉, 《위키백과》 | ||
* 〈[https://terms.naver.com/entry.naver?docId=2073348&cid=44414&categoryId=44414 프로그래밍언어]〉, 《네이버 지식백과》 | * 〈[https://terms.naver.com/entry.naver?docId=2073348&cid=44414&categoryId=44414 프로그래밍언어]〉, 《네이버 지식백과》 | ||
− | * 〈[https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC 컴파일러 | + | * 〈[https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%8C%8C%EC%9D%BC%EB%9F%AC 컴파일러]〉, 《위키백과》 |
− | ]〉, 《위키백과》 | ||
* 〈[http://word.tta.or.kr/dictionary/dictionaryView.do?subject=%EB%8F%99%EC%8B%9C+%EC%B2%98%EB%A6%AC 동시 처리]〉, 《정보통신용어사전》 | * 〈[http://word.tta.or.kr/dictionary/dictionaryView.do?subject=%EB%8F%99%EC%8B%9C+%EC%B2%98%EB%A6%AC 동시 처리]〉, 《정보통신용어사전》 | ||
* 〈[https://ko.wikipedia.org/wiki/%EB%8B%A4%EC%A4%91%EC%9E%91%EC%97%85 다중작업]〉, 《위키백과》 | * 〈[https://ko.wikipedia.org/wiki/%EB%8B%A4%EC%A4%91%EC%9E%91%EC%97%85 다중작업]〉, 《위키백과》 | ||
* 〈[https://terms.naver.com/entry.naver?docId=850749&cid=42346&categoryId=42346 병렬 처리]〉, 《네이버 지식백과》 | * 〈[https://terms.naver.com/entry.naver?docId=850749&cid=42346&categoryId=42346 병렬 처리]〉, 《네이버 지식백과》 | ||
* 마팸, 〈[https://mafams.tistory.com/54 병렬 처리에 대해서]〉, 《티스토리》, 2017-08-18 | * 마팸, 〈[https://mafams.tistory.com/54 병렬 처리에 대해서]〉, 《티스토리》, 2017-08-18 | ||
− | + | * 〈[https://terms.naver.com/entry.naver?docId=849136&cid=42346&categoryId=42346 분산 처리]〉, 《네이버 지식백과》 | |
+ | * 장철원, 〈[https://losskatsu.github.io/os-kernel/dist-sys-concept01/# 분산 처리 시스템의 개념 이해(1)]〉, 《깃허브 블로그》, 2020-03-12 | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=2073343&cid=44414&categoryId=44414 컴퓨터구조]〉, 《네이버 지식백과》 | ||
+ | * IT양햄찌, 〈[https://jhnyang.tistory.com/16 운영체제(Operating System : OS)란 ? 운영체제 종류]〉, 《티스토리》, 2019-01-23 | ||
+ | * wondong2, 〈[https://wondong2.tistory.com/11 1장 소프트웨어 공학의 개요]〉, 《티스토리》, 2017-02-06 | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=2073346&cid=44414&categoryId=44414 소프트웨어공학]〉, 《네이버 지식백과》 | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=1114230&cid=40942&categoryId=32837 소프트웨어공학]〉, 《네이버 지식백과》 | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=1166447&cid=40942&categoryId=32204 암호학]〉, 《네이버 지식백과》 | ||
+ | * 〈[https://ko.wikipedia.org/wiki/%EC%95%94%ED%98%B8%ED%95%99 암호학]〉, 《위키백과》 | ||
+ | * heecheolman, 〈[https://www.heecheolman.dev/post/%EC%95%94%ED%98%B8%ED%95%99/ 가볍게 배우는 암호학]〉, 《깃허브 블로그》, 2020-12-14 | ||
+ | * Yunnie, 〈[https://6u2ni.tistory.com/38 인공지능(Artificial Intelligence)의 유형]〉, 《티스토리》, 2021-03-07 | ||
+ | * 〈[https://namu.wiki/w/%EA%B0%95%EC%9D%B8%EA%B3%B5%EC%A7%80%EB%8A%A5 강인공지능]〉, 《나무위키》 | ||
+ | * 〈[https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B7%B8%EB%9E%98%ED%94%BD%EC%8A%A4 컴퓨터 그래픽스]〉, 《위키백과》 | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=1624925&cid=42171&categoryId=42188 컴퓨터그래픽스]〉, 《네이버 지식백과》 | ||
== 같이 보기 == | == 같이 보기 == | ||
87번째 줄: | 180번째 줄: | ||
* [[과학]] | * [[과학]] | ||
− | {{소프트웨어| | + | {{소프트웨어|검토 필요}} |
2023년 11월 17일 (금) 01:10 기준 최신판
컴퓨터과학(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
- 〈강인공지능〉, 《나무위키》
- 〈컴퓨터 그래픽스〉, 《위키백과》
- 〈컴퓨터그래픽스〉, 《네이버 지식백과》
같이 보기[편집]