
해당 포스트는 강의를 수강 후 개인적으로 이해한 부분을 글로 기록하고 해석하기 위한 목적으로 이해한 부분이 틀릴수도 있습니다. 틀린 부분에 대해서는 편하게 지적해 주시면 수정하겠습니다.
- 컴퓨터: 프로그램을 통해서 데이터를 입력하여 처리, 저장, 검색, 출력하는 전자적 장치(데이터 처리기)
컴퓨터를 사용하는 근본적인 목적은 주어진 데이터를 신속, 정확하게 처리하여 얻어진 결과를 의사결정에 유용하게 활용하기 위함
이를 통해 컴퓨터를 중심으로 컴퓨터 과학을 정의하면
- 데이터의
획득, Acquisition,표현, Representation,처리, Processing,저장, Storage,통신, Communication,접근, Access을 위한 방법들의 실행 가능성, 구조화, 표현, 기계화에 관련된 내용을 다루는 분야
데이터 처리를 위해 필요한 요소
데이터 입력 -> 데이터 처리 -> 데이터 처리를 위한 프로그램
1. 적절한 입력 데이터
2. 데이터에 대한 처리를 지시하는 프로그램
3. 프로그램은 문제를 해결하기 위해 프로그래밍 언어를 사용하여 명령어를 나열한 것
4. 문제를 어떤 절차와 방식으로 풀어나갈 것인가에 대한 설계 (알고리즘, Algorithm)

데이터 처리 관점에서 필요한 요소들을 중심으로 컴퓨터과학을 이해하면 컴퓨터, 데이터, 프로그램, 알고리즘 분야의 연구를 통해 효율적인 데이터 처리를 위한 제반 기술과 방법들을 제공하는 분야
컴퓨터과학에서 주로 다루는 문제
- 컴퓨터 시스템에 해당하는 문제
- 데이터 처리를 위한 다양한 구조, 도식, 수단에 대한 문제
- 컴퓨터 시스템을 활용하기 위한 응용문제
- 데이터 처리 업무와 처리 절차, 그리고 그와 관련된 다양한 표현 방법과 관련된 문제
컴퓨터 시스템에 대한 문제와 이를 활용하기 위한 응용문제 등과 같은 많은 영역에 걸쳐서 상호 보완적인 연구활동 수행
- 계산 가능한 문제인지 판단하기 위한
계산 이론 분야- 문제를 정확하고 효율적으로 해결하기 위해 다양한 알고리즘을 비교, 분석하는 분야
- 프로그래밍 언어를 개발하는 분야
- 컴퓨터 시스템을 설계하고 평가, 개발하는 분야
- 주요 응용 분야에 개발된 알고리즘을 적용하기 위한 연구
알고리즘, Algorithm
주어진 문제를 해결하기 위한 처리 과정을 절차적으로 나열한 명령어들의 집합
컴퓨터과학에서 다루는 모든 분야는 알고리즘을 중심으로 취급되고 이해될 수 있다.
알고리즘을 다루는 관점
- 한계: 알고리즘으로 해결할 수 있는 문제에 대한 고민
- 분석: 서로 다른 알고리즘의 특성을 분석하고 비교
- 개발: 쉽게 개발할 수 있는 알고리즘에 대한 고민
- 실행: 알고리즘에 대한 기술과 지식에 기반하여 컴퓨터를 발전시키고자 하는 고민
- 표현 및 통신: 알고리즘을 표현하고 알고리즘 간 통신을 수행하는 기법들을 발전시키기 위한 고민
알고리즘 중심으로 컴퓨터과학을 정의하면 알고리즘과 관련된 이슈를 다루는 학문
최초의 전자식 범용 컴퓨터인 ENIAC (Elctronic Numercal Integrator And Computer)는 1946년에 개발
변화 속도가 빠르고 사회 전반에 미치는 영향이 크다. 다양한 학문 분야를 광범위하게 포함하고 밀접한 연관으로 융합되어 발전
컴퓨터공학
: 가격 대비 성능 특성이 좋은 컴퓨팅 엔진을 만들기 위해 하드웨어와 소프트웨어 요소의 조립에 중점
컴퓨터과학
: 현재의 기술과 의존하지 않는 방식으로 주어진 문제에 대한 해결책의 효율성, 실현 가능성에 중점
컴퓨터를 활용한문제 해결에 대한 학문