잠깐 알고 넘어가야 할 것이 있습니다.

프로그래밍을 하기 전에 우리는 이런 상상을 합니다.

프로그래밍을 배우면 게임도 만들 수 있을 것 같고, 어려운 문제도 척척 풀어갈 수 있게 컴퓨터를 잘 할 것이라는 착각입니다.

프로그래밍은 결코 쉽지 않습니다.

프로그래밍을 배우면 이것 저것 원하는 것을 만들 수 있는 것은 사실입니다. 그렇게 만들기 위해서는 생각보다 더 오래 공부하고, 더 많이 연습해야합니다.


기를 죽이는 말이죠.


적은 양의 공부로도 당연히 멋진 프로그램을 만들 수 있을 것이라 생각했는데...
OTL.... 현실은 그렇지 않습니다.

아무 생각 없이 우리는 인터넷 브라우저를 열어서 업무 전에 습관처럼 인터넷 기사를 읽고 클릭 몇번으로 메일도 확인하고 업무 준비도 하고... 쉽지요...

사용하기 쉬운 프로그램은 사실 만들기는 무척 어렵다는 것을 아셔야 합니다.

우리가 인식하는 이러한 문자도 수많은 규칙과 여러가지 기술을 반영하여 화면에 나타내는 것임을 잊지 마십시오.

스크래치로 코딩을 공부하려는 이유도 여기에 있습니다.

스크래치는 직관적이며 사용하기 쉽습니다. 그 말은 보통의 프로그래밍 언어보다도 더 많은 사전 프로그래밍을 하여 만들어 놓았기 때문에 마지막에 사용하는 사용자가 쉽게 사용할 수 있음을 생각하십시오.


프로그래밍은 일종의 역사서 같다고 생각하시면 좋을 것 같습니다.

역사서는 글을 쓰기 시작한 순간부터 일어난 일들을 계속 기술해 놓아 많은 양의 데이터가 쌓인 것입니다. 마찬가지로 하나의 프로그래밍 언어도 기술이 발달하고 시간이 흐르면서 추가로 필요한 부분을 넣고 넣고 또 넣고 하다보니 공부할 것이 많아집니다.

C언어 혹은 C++언어를 잘한다고 해서 우리가 사용하고 있는 윈도우에서 프로그램을 만들 수 있지 않습니다. 윈도우에서 프로그램을 사용하기 위한 별도의 규칙이 있고 그것 때문에 C언어나 C++언어에서 알았던 규칙이 깨지고 재구성되기도 합니다.

한마디로 자신이 원하는 목표를 위해서는 정말로 "레고"와 같이 필요한 블럭들을 조합해서 만드는 일이 필요하게 됩니다.

우리는 여기서 쓸데없이 이런 자세한 것을 알려고 시간을 보내는 것이 아닌,

실제 생각하는 방법을 위한 내용들만을 생각할 것입니다.

Posted by 눈의꽃
:

 제목이 이상하긴 한데요. 아이들이 쉽게 접할 수 있는 생각하는 방법에 대해서 이야기 할까 합니다.

 엄마들은 항상 아이들에게 코딩의 기초 개념을 가르치고 계십니다. 본인도 모르게 말이죠. 아이들은 훌륭히 그 미션을 행하면서 일종의 Rule을 배우고요.

 저희도 장난감을 잘도 어지르는 아들이 두명이 있습니다. 집도 작은데 한쪽 구석에는 파워레인저가 뒹굴고있고, 또 한쪽 구석에는 자그마한 자동차들이 굴러다니고, 거실 대부분을 차지하며 어질러진 블록들... 아이들은 갖고 놀때는 신나게 갖고 놀죠. 하지만 치우는건 어른들의 몫이 되기 쉽죠.

 아이들만큼 엔트로피의 법칙에 충실한 사람도 없다고 봅니다. (세상 만물은 불규칙적이고 안정된 에너지 쪽으로 흘러간다는 법칙이 엔트로피의 법칙) 

 여기서 이제 몸에 밴 엄마, 아빠들의 행동이 등장!

 " 장난감 정리하고 나서 과자 먹자" - 이 말과 동시에 두살 밖에 안된 아이도 장난감을 정리한다는...

 잘못된 예를 들면 " 장난감 정리하고 밥먹자, 혹은 정리하고 목욕하자~" - 들은척도 안합니다.

  


 제가 드리고 싶은 말은, 엄마 아빠가 경험으로 알고 있듯이 적절한 동기 부여를 해 주셔야만 스스로 방법을 찾는다는 것입니다. 단순히 "정리하고 과자 먹자"라는 제안을 했을 뿐인데 아이들은 어질러진 장난감들을 제자리에 착착 가져다 놓고 상자에 담아 깨끗히 정리하게 됩니다. 이미 아이들은 동기를 충분히 부여 받았고 정리를 어떻게 하는지도 알고 있습니다. 

 이런게 코딩이라고 생각한다면 아이들은 스스로 할 줄 아는 것이 되네요? 맞습니다. 기본적으로 누구든 할 수 있는 것이 코딩입니다. 하지만 정리를 할 때에도 보다 쉽게 하는 방법이 있죠? 블럭을 집어다가 통에 담으러 가면 움직임이 많아지고 정리도 늦어지겠죠?

 아이가 들 수 있는 통을 하나 주면서 여기에 먼저 담아서 가득 차면 원래 통에 넣어보렴~ 하고 말해주세요. 더 빨리 정리할 수 있다는 것을 알게 될 겁니다.

 같은 일이라도 더 효율적으로 할 수 있겠죠? 이게 바로 코딩을 배워야 하는 이유가 됩니다. 목표가 있으면 보다 효율적으로 방법을 찾는 것이 바로 코딩의 목적이죠.

Posted by 눈의꽃
:


 http://scratch.mit.edu/


스크래치의 공식 사이트 주소입니다.

혹시 스크래치를 처음 들어보신다는 분들은 위의 사이트에 들어가서 한번 둘러봐주세요.

동영상 등의 많은 설명들이 영어로 나와 있어서 영어 울렁증이 있으신 분들의 거부감이 있을 수 있으나 막상 스크래치를 사용하면 한글을 지원해서 쉽게 사용하실 수 있으실 것입니다.


 컴퓨터의 프로그래밍 언어는 배우기 쉽지 않습니다. 물론 어렵지 않게 배울 수 있는 능력자들도 있지만 내 생각대로 무엇인가를 만들어 내기 위해서 공부해야할 내용이 너무 많습니다. 보통은 많은 공부를 해야 만들어 낼 수 있는 내용을 스크래치라는 언어(?)를 통해 쉽게 정리해 놓은 것입니다. 일종의 규칙을 미리 짜 놓았다고 생각하시면 됩니다.

 스크래치를 통해서 코딩의 핵심 내용을 배우시기엔 충분하리라 생각하여 스크래치를 추천 드리는 것입니다. 핵심 내용은 역시나 생각하는 방법이죠.

 스크래치를 처음 들어보신 분은 꼭 위 사이트를 들려주세요.

Posted by 눈의꽃
:

BLOG main image
by 눈의꽃

공지사항

카테고리

컴퓨터로 하는 블록놀이 (7)

최근에 올라온 글

최근에 달린 댓글

태그목록

글 보관함

달력

«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total :
Today : Yesterday :