주판과 달리 계산 저장하는 컴퓨터, 프로그램 변경해도 결과값 잃지 않아
컴퓨터 과학은 ‘컴퓨팅 사고력’ 활용, 문제를 컴퓨터식 처리과정으로 변환
해결 과정 자동화해 효율성 추구
산업화 시대에 필요한 역량과 인공지능(AI) 시대에 필요한 역량은 당연히 차이가 있을 것입니다. 어떤 사람들은 AI와 4차 산업혁명이 이끄는 미래 사회의 성패가 컴퓨터를 이용해 문제를 해결하는 능력인 ‘컴퓨팅 사고력(computational thinking)’에 달려 있다고 합니다. 컴퓨팅 사고력은 컴퓨터 과학자처럼 사고하는 방법이라 할 수 있습니다. 이번 지면에서는 컴퓨터와 컴퓨터 과학, 컴퓨팅 사고에 대해 다뤄 보겠습니다.
○ 주판과 컴퓨터의 차이점은
우리가 보통 컴퓨터라고 부르는 것은 하드웨어와 소프트웨어로 구성된 ‘컴퓨터 시스템(computer system)’입니다. 하드웨어는 모니터, 키보드, 마우스, 메모리, 중앙처리장치(CPU) 등 물리적인 장치를, 소프트웨어는 이러한 물리적 장치를 동작시키기 위한 명령어의 모음인 컴퓨터 프로그램을 부르는 용어입니다. 스마트폰 ‘앱’이나 ‘어플’이라는 용어 또한 응용 프로그램을 뜻하는 ‘애플리케이션’의 줄임말로 소프트웨어에 속합니다.
‘컴퓨터’라고만 할 때는 기계인 하드웨어를 지칭하는 것이라 할 수 있습니다. 하드웨어와 소프트웨어를 모두 말하고자 할 때는 컴퓨터 시스템이라는 표현을 사용하는 것이 더 정확하지만, 하드웨어는 소프트웨어 없이 동작할 수 없습니다. 이 때문에 보통 컴퓨터라는 용어에 소프트웨어까지 포함하여 사용하는 것입니다.
컴퓨터(computer)라는 단어는 ‘계산하다(compute)’와 ‘도구(er)’가 합쳐져 만들어졌습니다. 계산을 수행하는 도구입니다. 그럼 가장 초기의 계산 장치인 주판도 컴퓨터일까요?
주판은 주판알의 위치를 이용해 값을 저장하고, 주판알을 이동해 계산을 수행하는 등 컴퓨터와 유사한 속성이 있습니다. 그런 저장과 계산 기능이 있지만 그 누구도 주판을 컴퓨터라고 주장하지 않습니다.
그 이유로는 주판이 저장할 수 있는 값이나 계산의 종류가 매우 제한적이라는 게 꼽힙니다. 또 컴퓨터가 프로그램을 저장하여 나중에 다시 사용하기 위해서는 프로그램과 하드웨어가 분리되어 있어야 합니다. 하지만 주판 계산은 하드웨어에 해당하는 주판알에 의해서만 이뤄집니다. 즉 프로그램과 하드웨어가 분리되어 있지 않아, 어떤 계산을 수행한 이후 다른 계산을 수행할 때마다 이전의 계산을 잃게 됩니다. 프로그램을 변경할 때마다 이전에 했던 프로그램을 잃어버리게 되는 것이죠.
그렇다면 어떤 속성을 가질 때 ‘컴퓨터’라고 할 수 있을까요? 어떤 특징이 ‘컴퓨터’를 구분할까요?
현대 컴퓨터를 구분하는 중요한 특징은 ‘프로그램 내장 방식을 따르는가’입니다. 프로그램 내장 구조의 디지털 컴퓨터에서는 저장된 프로그램(stored program)의 개념이 도입되어 있습니다. 즉 프로그램을 컴퓨터의 내부 기억장치에 저장하여 쉽게 변경할 수 있도록 하였습니다. 참고로 프로그램 내장 방식 이전 컴퓨터의 프로그램은 스위치에 의하여 기억되어, 프로그램을 변경할 때마다 많은 스위치들을 처음부터 다시 연결해야 했습니다.
○ ‘컴퓨터 계산’을 연구하는 컴퓨터 과학
“컴퓨터 과학은 컴퓨터를 연구하는 학문입니까?”
학생들에게 이런 질문을 하면 대부분 “그렇다”고 대답합니다. 학생이 아니라도 거의 모두가 당연히 그렇다고 할지 모르겠습니다. 그럼 질문을 조금 바꿔 보겠습니다.
“천문학은 망원경을 연구하는 학문인가요?”
최단 경로를 찾는 알고리즘을 고안한 다익스트라는 “컴퓨터 과학에서 컴퓨터란 천문학에서 망원경 이상의 것이 아니다”라고 하였습니다. 망원경은 천문학 연구를 돕는 도구일 뿐이지 연구 대상이 아닙니다. 마찬가지로 컴퓨터 또한 컴퓨터 과학의 도구일 뿐 주된 연구 대상이 아니라는 뜻입니다.
컴퓨터 과학의 주된 연구 주제는 하드웨어인 컴퓨터 자체가 아니라 컴퓨터를 통한 계산입니다. 이는 컴퓨터를 이용해 어떤 문제를 얼마나 효율적으로 풀 수 있는지를 탐구하는 것입니다. 컴퓨터가 하는 일이 매우 방대해짐에 따라 그 의미도 앞으로는 보다 확장하여 생각해야 할 것입니다.
그래서 컴퓨터 과학이라는 용어 대신 앞으로 컴퓨팅 과학이라고 하자는 의견도 있습니다. 유럽에서는 ‘정보과학(Informatics)’이라는 용어도 많이 사용합니다.
컴퓨팅은 컴퓨터를 사용한 처리 과정이나 컴퓨터 자원을 사용하는 모든 활동으로, 어떤 문제를 해결하기 위한 과정을 자동화할 수 있는 형태로 만드는 것입니다. 사람이 가진 문제해결 방법을 컴퓨터가 대신 수행하도록 하기 위해서는 그 작업을 추상화하고, 작은 단위로 나눠야 합니다. 또 일련의 절차적인 명령을 이용해 자동화할 수 있는 형태로 만들어줘야 합니다. 이 과정에서 사용하는 사고 방법을 컴퓨팅 사고력이라고 합니다.
컴퓨팅 사고력은 문제를 해결하기 위한 접근 방법입니다. 실생활이나 다양한 분야에서 복잡한 문제를 이해하고 그 해법을 구현할 때 필요한 역량으로 점점 더 강조되고 있습니다.
현재도 그렇지만 미래에도 컴퓨터는 인간의 많은 활동을 대신 수행하게 될 것입니다. 컴퓨터 과학자들을 현대의 ‘문제 해결사’라고 지칭하기도 합니다. 컴퓨터 과학자뿐만 아니라 우리 모두가 컴퓨팅 사고력을 배우고 사용한다면 우리가 직면한 많은 문제를 효율적으로 해결할 수 있을 것입니다.
댓글 0