본문 바로가기

I'm interested in/Programming

아들에게 프로그래밍 가르치기 (1)

우선 컴퓨터에 대한 이야기를 먼저 좀 해야할 것 같다.

 

컴퓨터란?
초창기에는 계산기였다고 하지.
좀 복잡한 계산을 사람을 위해 대신하게 하기 위해 고안된 기계지.
원래 컴퓨터의 기원이 그래. 게으른 사람을 위한 기계장치야.
사람이 좀 편해보자고 만드는 거지.

컴퓨터는 사람이 시키는 대로 계산을 하는 기계야.
1부터 100까지 더하라면 더하고, 1000까지 곱하라면 곱하고,,,
시키는 대로 군소리없이 잘하지.
대신, 잘 시켜야돼.
왜냐하면, 시킨 대로만 하니까..
얘는 생각이 없어... 그냥 시키는 것만 해. 안시킨 건 안해.
그래서 컴퓨터는 지가 해야할 일을 자세히 알려줘야해.

예를 들어서 1부터 10까지 더한다면은,,, 
"야, 1부터 10까지 더해봐!"
라고 해봐야 컴퓨터는 아무것도 못해.
무슨 말인지 못알아먹거든.
컴퓨터는 복잡한 말은 못알아들어.
아주 간단한 명령만 알아듣고, 예를 들어서 이거랑 저걸 더해, 빼, 뭐 이런 정도?
아, 물론 계산기기때문에 (2+3)x4/6+12x456 뭐 이정도는 복잡해보여도 해.
하지만, "1부터 10중에서 가장 큰 수를 찾아봐." 이런 거는 못하지.

그리고, 일을 한번에 한가지씩 밖에 못해.
그럼 어떻게 하느냐.. 이렇게 하면 돼.
우선, "야, 1에다가 2 더해봐. 얼마야?" 그럼 이거는 해. "3" 하고 답이 딱 나오거든. 당연하지 계산기니까.
다음에는

"야, 거기에다가 3 더해봐."
"그리고 거기에다가 4 더해봐"
"그리고 거기에다 5 더해봐"

 ... 

"마지막으로 거기에 10 더해봐"

이렇게 해야 간신히 "55" 라는 답을 얻을 수 있게 돼. 어때, 좀 바보같지?
그런데 이걸 우리가 머리를 좀 써서 명령을 내리면 컴퓨터가 아주 빠르게 답을 알아내게 할 수 있어.
그건 나중에 가르쳐줄거야.
어쨌든 이렇게 컴퓨터에게 내릴 명령을 한줄, 한줄 목록을 만들어서 죽~~~ 적어놓은 걸 우리가 프로그램이라고 불러.

옛날에는 프로그램을 카드에 구멍을 뚫어서 컴퓨터한테 읽혔어.
마치 맹인들이 사용하는 점자카드처럼.
그런데 요새는 기술이 발달해서 모니터라든가 키보드 같은 입출력 장치가 있고,
메모리라든가 디스크같은 저장장치들도 있어서 편리하게 사용할 수 있게됐지.

우리가 미국사람하고는 영어로, 일본사람하고는 일본어로 대화를 해야하듯이
컴퓨터하고는 컴퓨터말로 얘기를 해야지 컴퓨터가 알아들어.
이걸 programming language라고 불러.
아직 잘 모르겠지만, 어셈블리어, C언어, C++, Pascal, Java, BASIC, Delphi, Python, ... 등 아주 많은 언어들이 있지.
마치 외국어에 영어, 독일어, 일본어, 프랑스어, 등등등 이 있는 것과 같아.

우리가 지금부터 배울 거는 컴퓨터가 알아들을 수 있는 말(language)을 배울거고
일을 잘할 수 있게 명령을 내리는 방법을 배우는거야.
그래서 우리가 컴퓨터한테 구구단 2단! 하면 2단을 죽- 출력하게 할 수도 있고,
컴퓨터가 그림도 그리게 할 수도 있고, 피보나치 수열도 출력하게 할 수 있게 될거야.
나중에 좀 더 명령을 잘 내릴 수 있게되면 레고도 컴퓨터로 움직일 수 있게 할 수 있고,
로보트 조종하는 프로그램도 만들 수 있어.

자, 오늘은 여기까지 하고 다음에는 컴퓨터의 구조에 대해서 잠깐 보기로 하자.

'I'm interested in > Programming' 카테고리의 다른 글

아들에게 프로그래밍 가르치기 (2)  (0) 2014.07.29
생활코딩 작심 40시간 강좌  (0) 2014.06.24