Page 13 -
P. 13
컴퓨터로 어떤 문제를 해결하는가?
컴퓨터 과학자들은 지금까지 컴퓨터의 효율성을 높이기 위하여 연구하였다. 왜
냐 하면 컴퓨터로 문제를 해결하는 방법은 여러 가지가 있지만, 컴퓨터 하드웨
어는 그 기계적 성능이 정해져 있고, 컴퓨터 과학자들의 입장에서 문제를 해결
한다는 것은 원하는 시간에 정확한 결과가 나와야 한다는 것을 의미하기 때문이
다. 따라서 지금까지 컴퓨터 과학자들은 한정된 컴퓨터 하드웨어의 처리속도와
저장능력을 최대한 효율적으로 사용할 수 있는 기술을 연구하고, 컴퓨터 과학을
발전시켜 왔다. 따라서 컴퓨터를 통해 해결하고자 했던 문제는 일반적인 문제,
예를 들어 가장 빠른 길을 찾는 문제, 암호를 해독하는 문제, 암의 위치를 찾아
내는 문제가 아니었다.
최근에는 컴퓨터 과학자들의 연구와 목적이 달라지고 있다. 컴퓨터 하드웨어의
발전, 즉 더 빨라진 CPU의 처리속도와 더 작은 공간에 더 많은 데이터를 저장할
수 있는 메모리 기억장치의 발전으로 컴퓨터 과학자들이 컴퓨터로 해결하고자
하는 일반적인 문제가 많아지고 있다.
윙 교수는 컴퓨터 과학자들이 컴퓨터로 해결하고자 하는 문제의 다양성을 이야
기하며, 컴퓨터 과학이 다른 분야에서도 이미 보편화된 기술임을 주장하고 있다.
컴퓨터 과학자처럼 생각하기
“Ways to Think Like a Computer Scientist”
컴퓨터 과학자가 컴퓨터를 사용해 문제를 해결할 때, 현실 세계의 문제를 컴퓨
터가 해결할 수 있도록 컴퓨터가 알아들을 수 있는 방법으로 표현할 필요가 있
다. 그리고 컴퓨터가 받아들인 문제를 해결할 수 있도록 해결하는 순서를 명확
하게 정의해야 하며, 정의된 해결 순서를 컴퓨터가 알아들을 수 있는 방법으로
표현해야 한다. 마지막으로 컴퓨터가 해결한 후 결과를 냈을 때 이를 일반 사람
들이 이해할 수 있도록 재표현하는 과정이 필요하다.
016 컴퓨팅 사고 with 파이썬