컴퓨터과학개론 1강 - 컴퓨터와 데이터 (1)
컴퓨터를 프로그램 가능한 데이터 처리기로 이해하고, 프로그램·알고리즘·데이터가 컴퓨터의 범용성을 어떻게 만드는지 살펴본다. 이어서 컴퓨터과학의 범위와 특성, 컴퓨터 시스템을 구성하는 하드웨어·소프트웨어·데이터·사용자, 폰 노이만 모델과 내장 프로그램 개념을 체계적으로 정리한다.
1. 교과목의 역할과 학습 범위
컴퓨터과학개론은 컴퓨터과학 분야로 들어가기 위한 사전 답사의 성격을 갖는다. 자료구조, 알고리즘, 운영체제, 컴퓨터 구조, 프로그래밍 언어, 데이터베이스, 컴퓨터 네트워크처럼 이후에 배우게 될 주요 영역의 용어·개념·원리·방법을 미리 접하게 한다.
이 과목의 목적은 개별 용어를 단편적으로 암기하는 데 있지 않다. 컴퓨터과학이라는 학문과 각 세부 내용을 올바르게 이해하고 배울 수 있는 사고의 틀을 제공하여, 앞으로 새로운 개념을 만났을 때 서로의 관계를 파악하도록 돕는다.
| 교재 장 | 주요 학습 분야 | 강의 |
|---|---|---|
| 1장 | 컴퓨터와 데이터 | 1~2강 |
| 2장 | 자료구조 | 3~4강 |
| 3장 | 알고리즘 | 5~6강 |
| 4장 | 운영체제 | 7~8강 |
| 5장 | 컴퓨터 구조 | 9~10강 |
| 6장 | 프로그래밍 언어 | 11~12강 |
| 7장 | 데이터베이스 | 13~14강 |
| 8장 | 컴퓨터 네트워크 | 15강 |
강의자료에 제시된 평가는 중간평가 30점, 기말평가 50점, 학습 진도율을 반영한 형성평가 20점으로 구성된다. 중간평가 방식과 범위는 변경될 수 있으므로 실제 수강 시에는 반드시 해당 학기의 공고를 확인해야 한다.
개론 과목에서는 서로 다른 분야의 이름만 외우기보다 데이터가 어떻게 표현되고, 알고리즘이 어떻게 프로그램이 되며, 하드웨어와 소프트웨어가 어떻게 함께 작동하는지를 연결해서 이해하는 것이 중요하다.
2. 컴퓨터는 데이터 처리기이다
컴퓨터는 먼저 데이터 처리기(data processor)로 정의할 수 있다. 외부에서 데이터를 입력받아 정해진 처리를 수행하고 그 결과를 출력하는 장치라는 뜻이다.
입력 데이터 → 컴퓨터의 처리 → 출력 결과
그러나 이 정의만으로는 컴퓨터의 본질을 충분히 설명하기 어렵다. 계산기와 같은 장치도 데이터를 입력받아 처리하고 결과를 출력하기 때문이다. 또한 ‘처리’가 구체적으로 어떤 작업인지, 다양한 처리 방법을 어떻게 선택하는지도 드러나지 않는다.
따라서 컴퓨터의 더 정확한 특징은 프로그램이 가능한 데이터 처리기(programmable data processor)라는 데 있다. 컴퓨터는 프로그램에 따라 처리 방법을 바꾸므로 한 가지 고정된 목적만 수행하는 기계가 아니라 다양한 형태의 작업을 수행할 수 있는 범용 기계가 된다.
컴퓨터의 기본 동작은 입력-처리-출력이지만, 프로그램을 바꾸어 처리의 종류와 연산을 결정할 수 있다는 점이 일반적인 데이터 처리 장치와 구별되는 핵심이다.
3. 프로그램과 컴퓨터의 장점
프로그램은 컴퓨터가 데이터를 어떻게 처리할지 알려 주는 일련의 명령어 집합이다. 프로그램은 수행할 수 있는 작업의 유형과 연산의 집합을 결정한다. 그러므로 컴퓨터의 기능은 물리적 장치만으로 완성되지 않고, 어떤 프로그램을 실행하느냐에 따라 달라진다.
프로그래밍은 주어진 문제를 해결할 방법과 절차인 알고리즘을 찾고, 그것을 적절한 프로그래밍 언어로 컴퓨터가 이해할 수 있는 형태로 표현하는 과정이다.
- 해결해야 할 문제를 명확히 파악한다.
- 문제 해결의 방법과 절차인 알고리즘을 찾는다.
- 알고리즘을 적절한 프로그래밍 언어로 표현한다.
- 프로그램을 컴퓨터에서 실행하여 데이터를 처리한다.
| 컴퓨터의 장점 | 설명 |
|---|---|
| 신속한 처리 | 밀리초(ms), 마이크로초(μs), 나노초(ns), 피코초(ps) 단위의 빠른 처리가 가능하다. |
| 처리 결과의 정확성 | 유효한 입력과 올바른 프로그램이 주어지면 일관되고 정확한 결과를 만든다. |
| 자동 처리 | 프로그램의 지시에 따라 자동으로 처리하여 사람의 개입을 최소화할 수 있다. |
| 대용량 처리 | 많은 데이터를 저장하고 처리할 수 있다. |
정확성은 컴퓨터가 언제나 올바른 답을 낸다는 뜻이 아니다. 입력 데이터와 프로그램이 유효하고 정확해야 기대한 결과를 얻을 수 있다.
4. 컴퓨터과학의 정의와 범위
컴퓨터과학은 단순히 컴퓨터를 제작하거나 특정 프로그램의 사용법을 배우는 학문으로 한정되지 않는다. 강의에서는 컴퓨터과학을 서로 연결되는 세 가지 관점으로 설명한다.
데이터와 밀접히 관련된 분야
컴퓨터과학은 데이터의 획득(acquisition), 표현(representation), 처리(processing), 저장(storage), 통신(communication), 접근(access)을 위한 방법의 실행 가능성, 구조화, 표현, 기계화를 다룬다. 컴퓨터는 프로그램을 통해 데이터를 입력받아 처리·저장·검색하고 결과를 출력하는 전자적 장치이다.
컴퓨터·데이터·프로그램·알고리즘의 분야
디지털 논리회로와 컴퓨터 구조는 컴퓨터의 물리적 기반을, 자료구조와 데이터베이스는 데이터의 조직과 관리를, 운영체제·컴파일러·프로그래밍 언어론은 프로그램의 작성과 실행 환경을 다룬다. 이산구조·선형대수·알고리즘·인공지능 등은 문제 해결 절차와 그 이론적 기반에 연결되며, 정보통신망과 컴퓨터 그래픽스 등도 폭넓은 응용 분야를 이룬다.
알고리즘과 관련된 이슈를 다루는 분야
알고리즘은 주어진 문제를 해결하기 위한 처리 과정을 절차적으로 나열한 명령어의 집합이다. 컴퓨터과학은 알고리즘의 한계, 분석, 개발, 실행, 표현, 통신을 연구한다. 어떤 문제를 해결하는 알고리즘이 존재하는지는 그 문제의 해결 가능성과 연결되며, 이는 곧 컴퓨터가 할 수 있는 일의 한계를 결정한다.
컴퓨터과학은 컴퓨터 자체만 연구하는 학문이 아니라 데이터와 알고리즘을 중심으로 컴퓨터를 활용한 문제 해결의 가능성·효율성·표현·실행을 탐구하는 학문이다.
5. 컴퓨터과학의 특성과 연구 역량
컴퓨터과학은 역사가 비교적 짧지만 빠르게 변화하며 사회 전반에 큰 영향을 미친다. 수학, 공학, 심리학, 생물학, 언어학, 경영과학, 물리학, 철학 등 다양한 분야와 밀접하게 연결되고 융합되므로 연구와 응용의 범위가 매우 넓다.
| 구분 | 중점 |
|---|---|
| 컴퓨터공학 | 가격 대비 성능이 좋은 컴퓨팅 엔진을 만들기 위해 하드웨어와 소프트웨어 요소를 조립하는 데 중점을 둔다. |
| 컴퓨터과학 | 현재 기술에 덜 의존적인 방식으로 주어진 문제 해결책의 효율성과 실현 가능성을 탐구하는 데 더 중점을 둔다. |
강의는 컴퓨터과학을 컴퓨터를 활용한 문제 해결에 대한 학문으로 정리한다. 좋은 컴퓨터과학 연구자가 되려면 퍼즐을 풀 듯 문제 해결 방법을 찾는 태도와 여러 분석 능력이 필요하다.
- 멋진 해결 방법을 찾으려는 열정
- 해결 방법을 평가하기 위한 수학적 분석과 논리 정연함
- 추상화로 복잡한 문제를 모델링하는 창의성
- 상세한 내용에 숨겨진 가정을 주의 깊게 살피는 능력
- 같은 문제라도 환경이 달라질 때 생기는 차이를 인지하는 능력
- 알려진 효율적 해결 방법을 새로운 환경의 문제에 적용하는 능력
6. 컴퓨터 시스템의 구성요소
컴퓨터 시스템은 하드웨어 하나만으로 이루어지지 않는다. 강의에서는 하드웨어, 소프트웨어, 데이터, 사용자를 주요 구성요소로 제시한다. 네 요소는 데이터 처리라는 목적을 위해 서로 연결된다.
| 구성요소 | 역할 |
|---|---|
| 하드웨어 | 컴퓨터를 구성하는 물리적 기계·전자장치로 실제 연산, 저장, 입출력을 수행한다. |
| 소프트웨어 | 하드웨어가 어떤 작업을 수행할지 지시하는 프로그램의 총체이다. |
| 데이터 | 컴퓨터가 입력·저장·처리·출력하는 대상이며 내부에서는 비트 패턴으로 표현된다. |
| 사용자 | 컴퓨터를 설계하고 운영하며 목적에 맞게 활용하는 사람이다. |
사용자가 목적과 문제를 정하고, 소프트웨어가 처리 절차를 표현하며, 하드웨어가 그 명령을 실행하여 데이터를 결과로 변환한다. 따라서 한 요소만으로는 완전한 컴퓨터 시스템의 기능을 설명할 수 없다.
7. 하드웨어와 폰 노이만 모델
하드웨어는 컴퓨터라는 기계를 구성하는 물리적인 기계·전자장치이다. 현대 컴퓨터의 내부 구조와 처리 과정은 폰 노이만(John von Neumann) 모델을 기반으로 이해할 수 있다.
폰 노이만 모델은 중앙처리장치, 기억장치, 입력장치, 출력장치라는 핵심 서브시스템으로 컴퓨터를 설명한다. 중앙처리장치(CPU)는 제어장치(CU)와 산술논리연산장치(ALU)로 구성된다.
| 하드웨어 요소 | 기능 | 예 |
|---|---|---|
| 기억장치 | 입력 데이터, 프로그램, 중간 결과, 출력 데이터를 저장한다. | 주기억장치, 보조기억장치 |
| 산술논리연산장치(ALU) | 산술 연산과 논리 연산을 수행하여 직접적인 데이터 처리를 담당한다. | CPU 내부 연산장치 |
| 제어장치(CU) | 기억장치, ALU, 입출력장치의 동작을 제어한다. | CPU 내부 제어장치 |
| 입력장치 | 데이터와 프로그램을 컴퓨터로 전달한다. | 키보드, 마우스, 마이크, 카메라 |
| 출력장치 | 처리 결과를 외부에 전달한다. | 모니터, 프린터, 스피커 |
각 요소는 데이터와 제어신호를 주고받는다. 입력장치가 데이터와 프로그램을 전달하면 기억장치가 이를 보관하고, 제어장치가 명령 실행을 지휘하며, ALU가 연산을 수행한 결과를 기억장치나 출력장치로 보낸다.
8. 내장 프로그램과 명령어 실행
폰 노이만 모델의 핵심은 내장 프로그램(stored program) 개념이다. 실행할 프로그램은 메모리에 저장되어야 한다. 초기 컴퓨터에서는 데이터만 메모리에 저장하고 프로그램은 컴퓨터 외부에 표현했지만, 내장 프로그램 방식에서는 프로그램과 데이터가 같은 메모리에 동일한 형식으로 표현된다.
이때 동일한 형식은 0과 1이 나열된 비트 패턴을 뜻한다. 메모리는 비트 패턴을 저장하고, 그 패턴이 명령어인지 데이터인지는 처리 맥락에 따라 구분된다.
프로그램은 미리 정의된 기본 명령어를 유한 개 조합한 나열이다. 제어장치는 메모리에서 명령어를 한 번에 하나씩 가져오고(fetch), 해석하며(decode), 산술논리연산장치 등이 그 명령을 실행한다(execute).
명령어 인출(fetch) → 명령어 해석(decode) → 명령어 실행(execute) → 다음 명령어 반복
기본 명령어를 재사용해 다양한 프로그램을 구성할 수 있으므로 프로그래밍 작업이 간단해지고 컴퓨터는 여러 종류의 문제를 처리하는 범용 기계가 된다.
내장 프로그램 방식은 프로그램과 데이터를 모두 메모리에 비트 패턴으로 저장하고, CPU가 저장된 명령어를 차례대로 인출·해석·실행하도록 한다.
9. 소프트웨어·데이터·사용자
소프트웨어
소프트웨어는 모든 종류의 프로그램을 총체적으로 표현하는 용어이다. 컴퓨터가 데이터를 어떻게 처리할지 규정하는 명령어의 나열이며, 하드웨어가 이해할 수 있는 형태로 알고리즘을 표현한다.
| 분류 | 기능 | 예 |
|---|---|---|
| 시스템 소프트웨어 | 컴퓨터 자체의 작업 관리와 특정 기능 수행을 통해 전체적인 운영을 담당한다. | 운영체제, 컴파일러 |
| 응용 소프트웨어 | 사용자가 요구하는 작업을 직접 수행한다. | 워드프로세서, 그래픽 프로그램, 웹 브라우저 |
데이터
모든 데이터는 유형과 관계없이 컴퓨터 내부에서 0과 1이 나열된 비트 패턴으로 표현된다. 폰 노이만 모델 자체는 구체적인 데이터 표현과 저장 형식을 정하지 않으므로, 실제 입출력에서는 데이터와 비트 패턴 사이에 적절한 변환이 필요하다.
사용자
사용자 또는 오퍼레이터는 컴퓨터의 설계부터 효율적인 이용에 이르기까지 데이터 처리 전반에 적극적으로 개입한다. 컴퓨터 시스템을 목적에 맞게 활용하려면 유능하고 지식이 풍부한 사람의 판단과 참여가 필요하다.
컴퓨터가 자동으로 빠르게 처리하더라도 어떤 문제를 풀지 정하고, 데이터를 준비하며, 프로그램을 설계하고, 결과를 해석하는 과정에는 사용자의 역할이 필요하다.
핵심 개념 정리
- 컴퓨터는 입력 데이터를 처리해 결과를 출력하는 프로그램 가능한 데이터 처리기이다.
- 프로그램은 컴퓨터가 데이터를 처리하는 방법을 알려 주는 명령어의 집합이다.
- 프로그래밍은 문제 해결 절차인 알고리즘을 찾고 프로그래밍 언어로 표현하는 과정이다.
- 컴퓨터의 장점은 신속성, 정확성, 자동 처리, 대용량 저장·처리에 있다.
- 컴퓨터과학은 데이터와 알고리즘을 중심으로 컴퓨터를 활용한 문제 해결을 탐구한다.
- 컴퓨터 시스템은 하드웨어, 소프트웨어, 데이터, 사용자로 구성된다.
- 폰 노이만 모델의 핵심 하드웨어는 CPU, 기억장치, 입력장치, 출력장치이다.
- 내장 프로그램 방식에서는 프로그램과 데이터가 메모리에 동일한 비트 패턴 형식으로 저장된다.
- CPU는 명령어를 인출하고 해석한 뒤 실행하는 과정을 반복한다.
- 소프트웨어는 시스템 소프트웨어와 응용 소프트웨어로 구분할 수 있다.
최종 정리: 컴퓨터의 범용성은 프로그램에 따라 같은 하드웨어가 서로 다른 알고리즘을 실행하는 데서 나온다. 컴퓨터과학은 이 하드웨어·소프트웨어·데이터·사용자의 관계를 바탕으로 문제를 표현하고 효율적으로 해결하는 방법과 그 한계를 연구한다.
예상문제 20선
1. 컴퓨터의 가장 적절한 정의는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
컴퓨터는 프로그램에 따라 처리 방법을 바꾸며 다양한 데이터를 처리하는 범용 기계이다.
2. 컴퓨터의 기본 동작 순서로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
컴퓨터는 데이터를 입력받아 프로그램에 따라 처리하고 결과를 출력한다.
3. 프로그램에 대한 설명으로 가장 알맞은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
프로그램은 수행할 작업과 연산을 정하는 일련의 명령어로 이루어진다.
4. 프로그래밍 과정의 올바른 설명은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
프로그래밍은 알고리즘을 찾은 뒤 컴퓨터가 이해할 수 있는 프로그램으로 표현하는 과정이다.
5. 컴퓨터의 장점에 해당하지 않는 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
정확한 결과를 얻으려면 유효한 입력과 정확한 프로그램이 주어져야 한다.
6. 컴퓨터과학이 데이터와 관련하여 다루는 내용은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
컴퓨터과학은 데이터 처리의 전 과정과 그 방법의 구조화·표현·기계화를 폭넓게 다룬다.
7. 알고리즘과 관련된 컴퓨터과학의 연구 주제로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
컴퓨터과학은 알고리즘을 만드는 일뿐 아니라 분석, 표현, 실행, 한계 등의 문제도 연구한다.
8. 알고리즘의 존재 여부가 직접 결정하는 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
문제를 해결할 알고리즘이 존재하는지는 컴퓨터로 그 문제를 풀 수 있는지와 연결된다.
9. 컴퓨터과학의 특성으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
컴퓨터과학은 변화가 빠르고 수학·공학·생물학·언어학 등 다양한 분야와 연결된다.
10. 컴퓨터과학과 컴퓨터공학의 비교로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
강의는 컴퓨터공학을 컴퓨팅 엔진의 구성에, 컴퓨터과학을 해결책의 효율성과 실현 가능성에 더 초점을 두어 비교한다.
11. 컴퓨터 시스템의 네 가지 구성요소는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
물리적 장치, 프로그램, 처리 대상, 이를 설계·운영·활용하는 사람이 함께 시스템을 이룬다.
12. 산술논리연산장치(ALU)의 기능은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
ALU는 CPU 내부에서 산술·논리 연산을 수행하는 장치이다.
13. 제어장치(CU)의 역할은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
제어장치는 컴퓨터 각 하드웨어 요소가 명령에 맞게 움직이도록 제어신호를 보낸다.
14. 기억장치가 저장하는 대상에 해당하지 않는 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
기억장치는 처리할 데이터, 프로그램, 중간 결과와 출력 데이터를 저장한다.
15. 내장 프로그램 개념에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
폰 노이만 모델에서는 프로그램과 데이터가 모두 메모리에 저장된다.
16. CPU의 명령어 처리 순서로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
제어장치는 메모리에서 명령어를 가져와 해석하고, 해당 명령이 실행되도록 한다.
17. 컴퓨터 내부에서 프로그램과 데이터가 공통으로 표현되는 형식은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ①
모든 데이터와 프로그램 명령은 메모리 안에서 0과 1로 구성된 비트 패턴으로 표현된다.
18. 시스템 소프트웨어의 예는?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ②
운영체제와 컴파일러는 컴퓨터의 운영과 프로그램 실행을 지원하는 시스템 소프트웨어이다.
19. 응용 소프트웨어의 역할은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ③
워드프로세서, 그래픽 프로그램, 웹 브라우저처럼 사용자의 목적을 직접 수행하는 프로그램이 응용 소프트웨어이다.
20. 컴퓨터 시스템에서 사용자의 역할에 대한 설명으로 옳은 것은?
정답입니다.
오답입니다. 답안을 다시 선택해 보세요.
정답 및 해설 보기
정답: ④
문제 선택, 데이터 준비, 프로그램 설계, 결과 해석 등 전 과정에서 지식 있는 사용자의 역할이 필요하다.
댓글
댓글 쓰기