[CS] 컴퓨터과학개론 - 컴퓨터
컴퓨터과학개론의 성격
- 컴퓨터과학 분야의 주요 내용을 개괄적으로 소개하는 과목
- 용어, 개념, 원리, 방법을 미리 접해 학습자로 하여금 친숙해지도록 하는 것이 목적
다루게 되는 분야
- 컴퓨터와 자료
- 자료구조 (DS)
- 알고리즘
- 컴퓨터 구조 (CA)
- 운영체제 (OS)
- 프로그래밍 언어 (PL)
- 데이터베이스 (DB)
- 컴퓨터 네트워크
컴퓨터(Computer)란 무엇인가
자료 처리기 (Data processor)
- 입력을 받아 처리해 이를 출력하는 자료 처리기
- 너무 포괄적인 정의
- 어떤 형태의 작업을 처리할 수 있는 지가 불분명
프로그램이 가능한 자료 처리기 (Programmable data processor)
- 모든 형태의 작업을 처리하는 것이 아니라,
- 프로그램을 처리하는 자료 처리기
- 프로그램에 따라 작업 유형은 다양해질 수 있으므로
- 컴퓨터는 특수 목적의 작업을 처리하는 기계가 아니라,
- 다양한 형태의 작업을 수행할 수 있는 범용의 기계
프로그램이란 무엇인가
- 컴퓨터가 자료를 어떻게 처리할 지를 알려주는 일련의 명령어 집합
- 프로그래밍 과정의 결과물
- 처리 가능한 작업 유형과 연산의 집합을 결정하는 역할
프로그래밍 과정이란 무엇인가
- 주어진 문제의 해결 방법과 절차(Algorithm)를 찾고,
- 이것을 적절한 프로그래밍 언어를 사용해서 컴퓨터가 이해할 수 있는 형태로 표현한 것
컴퓨터의 장점
- 신속한 자료 처리
- 계산 결과의 정확성
- 자동
- 대용량
튜링 기계
- 앨런 튜링(Alan Turing)에 의해 발명
- 컴퓨터의 이론적인 모델
ENIAC
- 최초의 완전 전자식 범용 컴퓨터
- 메모리에 프로그램이 저장되지 않고 데이터만 저장
- 즉, 외부에서 프로그램되는 방식
EDVAC
- 메모리에 프로그램까지 저장
- 폰 노이만의 개념인 “stored-program”에 기반한 최초의 컴퓨터
- 이후의 컴퓨터들은 폰 노이만의 개념에서 크게 벗어나지 않고 발전