개념글 모음

컴퓨터공학과에서 사람들이 굉장히 힘든 것 중에 하나가, 세부적인 흐름을 주르륵 훑고 가는데 이걸로 뭘 하겠다는 건지를 몰라서라고 생각한다.

사실 교수님들이 수업시간 초창기에라도 이런 걸 언급해주면 좋지 않을까 생각한다. 교과서에도 괜히 학습목표가 있는게 아니다.


그래도 컴파일러, 운영체제, 컴퓨터 그래픽, 데이터베이스, AI등은 과목명 자체에서 목표가 명확하게 드러나는 편인데, 계산 이론이나 컴퓨터 구조는 얼핏 들어서는 감이 잘 안 온다. 이 두 과목에서는 뭘 배울까?


1. 컴퓨터 구조: 튜링 머신

튜링 머신을 모른다면 한번 검색해보고 오길 바란다. 매우 간결하다. 튜링 머신의 테이프는 메모리, 헤드는 프로세서를 상징하며 컴퓨터는 이 자체로 끝이다. 컴퓨터의 하드웨어 관점에서의 학술적 모델인 튜링 머신, 그 중에서도 특히 프로세서의 구조를 중심으로 컴퓨터를 배워 나가는 것이 컴퓨터구조의 목표다. 이걸 배운다는 관점 하에서 강의를 들으면 중간에 배우는 수 많은 것들이 다 이해가 간다.


2. 계산 이론: 알고리즘의 예고편

문제를 해결하는 방법이 알고리즘이라면, 어떤 알고리즘이 동작 가능할지, 동작 가능하다면 얼마나 빠를지를 예측하고 평가할 수 있어야 할 것이다. 즉 계산 이론에서는 알고리즘의 성립 가능 여부와 알고리즘을 평가하는 기준들을 학습하게 된다. 이 관점에서 강의를 들으면 중간에 등장하는 수 많은 세부 개념들을 배우는 이유를 예측할 수 있을 것이다.