나는 얼마전까지만 해도 컴퓨터의 과정을 인간이 다시 배운다는 것에 대해서 뭔가 벌써부터 기계에 뒤처지는 느낌을 받은적이있다. 그래서 이러한 생각에 대해서 정리 하던중에 그런것이 아니라는 생각을 받았다.


 인간은 컴퓨터를 만들때, 인간이 할수 있는 모든 방법을 총동원했다. 그것을 간단하게 말하자면, 조건문과 반복문 그리고 함수이다. 우선 조건문과 반목문을 보면, 우리는 어느 행동을 하든지 조건문과 반복문을 벗어 날수없다.

예를들어 핸드폰을 보는과정에서도 

1. 핸드폰을 본다.

2. 만약 카톡이 왔으면 -> 카톡을 킨다.

   그렇지 않으면 폰을 닫는다 또는 페이스북에 들어간다.

3. 만약 페이스북에 알림이 떴다 -> 알림을 확인한다.

   그렇지 않으면 타임라인을 보거나 폰을 닫는다.

등등등

 이러한 과정을 거친다. 프로그래밍 언어 개발자들은 이를 캐치해 내어서 컴퓨터에 그대로 적용을 시켰다. 사람의 하는 행동을 그대로 이해하고, 시키게 하기 위해서이다. 그리고 우리는 머릿속으로는 그러한 조건과 반복을 생각하지만 몸안에서는 뇌의 신호에 따라서 자동으로 행동한다. 우리가 어떤 신호를 팔에보내고, 다리에 보내고 하나하나 신경쓰지 않아도 몸이 알아서 해준다. 이것이 컴퓨터로 치면 함수호출인것이다. 우리가 함수내용을 전부 알지 않아도, 결과값만 알고있으면 그에 해당하는 입력값을 넣어주면 되는것이다. 만약 팔을 움직이고 싶다고해서 팔에 있는 모든 근육에 다 명령을 내리는 것이 아니라. 생각만하면 (팔을 움직이는 함수만 호출한다면) 팔을 움직일 수 있다. 그래서 우리는 복잡한 생각을 하지않아도, 몸이 알아서 움직여지는 것이고, 말을 할 수 있는 것이다. 이렇게 몸속에서도 일종의 알고리즘이 사용되어서 실행되고 있다. 그래서 우리는 이러한 편한 생각에 훈련이 되어있어서, 어려운 생각을 하려고 하지 않는다. 단순히 우리가 하는것은 입력값을 어떤 블랙박스에 넣고 결과값을 빼내는 일인 아주 쉬운일을 하고있는 것이다.

 몸에서 생기는 결과 이외에도 이러한 사고는 일상 생활에서도 존재하는데 어떤 문제가 생겼을때 이를 해결할때 도 주로 사용된다. 예를 들어 물 부족문제가 생겼을때, 우리가 생각하는 과정은 일종의 함수를 호출하는 훈련이 많이 되어있는 바람에 그냥 물을 아껴쓰면 된다라는 모호한 입력값을 대입하게 된다. 하지만 이러한 함수는 만들어져있지않으므로 그냥 모호한 결과값으로 남게된다. 그러므로 우리는 어떠한 논리적 절차를 거쳐서 함수를 만드는 과정이 필요하다. 그러한 과정을 위해서는 물 부족의 원인은 무엇인지를 알아야 할 것이고, 이 원인을 해결하기 위해서는 어떤 방법이 필요하는지를 생각하는 과정을 통하여 구체적인 방법이 제시 된다.

 이러한 생각의 훈련의 기본과정은 앞에서도 언급했듯이 개발자들이 프로그래밍언어를 만들기 위해서 인간의 사고방식의 핵심만 잘 표현해 놓았다. 그래서 우리는 이것을 교육과정에 포함시키는 것이고, 이러한 절차적인 사고방식을 통하여 문제해결방안을 좀더 구체화 시키고 해결방안에 근접하기 위함이다. 이것이 알고리즘 즉, 소프트웨어를 배우는 과정인 것이다. 이러한 과정은 사고력이 부족한 어린아이들에게 중요한 교육이 될것이다. 사고력이 성장할때 이러한 생각하는 방법을 가르쳐 준다면 아이들의 사고력은 좀 더 구체화 될것이다. 

'Think' 카테고리의 다른 글

기계가 인간은 대신한다.  (0) 2017.04.11
(10/9)말씀  (0) 2016.10.09
믿을수 없는 믿음  (0) 2016.10.05
마가복음 5: 25-34  (0) 2016.09.07
9/2 창 24 :10 - 15  (0) 2016.09.03

+ Recent posts