프로그래밍이지만 프로그래밍이라고 하지 않으면 더 재미있는 것…

해마다 한 가지씩 주제를 정해 아이들에게 프로그래밍에 대해 가르치면서 시행착오와 희망을 탐색중이다.

프로그래밍이라면 처음부터 컴퓨터프로그래밍을 떠올리겠지만…
프로그래밍이라는 것도 일종의 자동화기술이다. 실험실의 반복된 실험 절차나 기계의 동작 매카니즘과 똑같다.

파일압축기술이라 설명하지 않고, 규칙성 있는 숫자와 문자를 짧게 줄이고 반대로 만드는 방법을 연습시켜봤다. 의외로 잘 한다. 여자아이들도 어렵지 않게 압축된 코드를 원래대로 역해독하는데 성공했다.

픽셀그래픽이라는 설명하지 않고, 모눈을 칠해 캐릭터를 만들어보기로 했다. 0/1 매트릭스로 바꾸어 다시 캐릭터로 변환하고, 0/1/2/3으로 바꾸어 색을 입혀봤다. 5×5, 7×7, 10×10으로 처리해서 다이아모드, 하트 모두 완벽히 재현해 냈다.

데이터통신이라고 설명하지 않고, 앞서 가르친 픽셀그래픽을 숫자로 바꾸기로 했다. 시작은 흰색, 다음은 검정색. 523은 흰색 다섯 칸, 검정색 두 칸, 흰색 세 칸이 되는 것으로 약속하고 친구들에게 그림을 숫자로 바꾸어 알려주면 상대방은 다시 그림으로 바꾸어보았다. 시간이 걸리지만, 재미있어하고… 자기들끼리 생활에서 응용하기도 했다. (사실 이 데이터통신은 교생실습 때, 컴퓨터교육과 후배가 진행하는 모습을 보고 배운 것이다. 지도교사가 내가 아니었으므로 사전협의를 하지는 못했지만, 아직 멈춰있는 나의 픽셀그래픽을 데이터통신으로 업그레이드 하게 되는 계기가 되었다…)

시퀀스프로그래밍이라 설명하지 않고, 화장실까지 가는 모든 동작을 나열하게 했다. 의자에서 일어나서부터 화장실에서 볼일을 보고 돌아오는 모든 과정을 나열했다. 친구와 합쳐서 더 세밀하게 기록해보도록 했다. 신났다. 그 다음, 친구를 로봇으로 생각하고 순서대로 움직이게 하고 수정하도록 했다. 모두 상당한 수준의 로봇프로그래머가 되었다.

등등…

암호화는 ㄱ=a, ㄴ=b… ㅏ=0, ㅑ=1… 이런식으로 만들어가는 방법을 가르쳐줬더니, 아이들은 이미 ㄱ=r, ㄴ=s, ㄷ=e… 를 사용하고 있었다는 놀라운 사실… ㅎㅎ; QWERTY 키보드를 보고 만들었다나?

우리가 어려운 영어 써가면서 프로그래밍이다!로 시작하면 포기하기 일쑤일 것이다. 우리 교육현실에서는 아이들과 이런 놀이를 많이 할 수 없지만, 여러 교과의 구석구석에 이와 같은 놀이를 접목시킬 수 있다는 사실… 이런 활동을 언플러그드 컴퓨팅이라 한다던데…

이런 활동 후에 터틀그래픽, 플래시게임제작도구로 발전시켜
현재는 1인1PC와 KODU를 이용해 3D게임을 만들고 있는데…

내년에는 간단히 무한궤도차량이나 과학상자로봇으로 업그레이드를 해볼까 한다.

글쓴이: 맥노턴

초등교사커뮤니티 '인디스쿨' 대표