•  


[開發者 아빠의 敎育實驗]⑤두 番째, 코딩 걸음마 떼기 : 동아사이언스

동아사이언스

[開發者 아빠의 敎育實驗]⑤두 番째, 코딩 걸음마 떼기

統合檢索

[開發者 아빠의 敎育實驗]⑤두 番째, 코딩 걸음마 떼기

삑삐비빅, 척. 아이가 玄關門을 여는 소리다. 6時 15分. 아이가 돌아오는 時間이다. 跆拳道 學院 버스를 利用하기에 그 時間은 掛鐘時計의 鐘소리 마냥 正確하다. 敎育은 6時 20分부터 7時까지, 40分 동안 進行된다. 저녁 食事 後 進行하는 것도 可能하지만, 아무래도 배가 채워지면 集中度가 떨어질 수밖에 없다. 게다가 아이에게 저녁 食事 後 30分은 다양한 어린이 티브이 채널의 트렌드의 調査, 分析에 割當된 所重한 時間이다. 저녁 食事 前에 進行해야 하는 理由다. 食貪이 앞서는 아이라면 問題 될 素地가 있지만, 아이는 아빠와 다르게 먹는 것을 그리 좋아하지 않는다. 多幸이라면 多幸이다.

 

필자의 첫 번째 컴퓨터인 대우 IQ-1000. MSX 호환 기종으로, 기본 탑재한 MSX BASIC을 배울 수 있었다. 넥슨 컴퓨터 박물관에서 오랜만에 볼 수 있었는데, 빠져 버린 오른 방향 키마저 무척이나 반가웠다. MSX 기종은 당시로서는 그래픽 성능이 우수했기 때문에 목적과 달리 게임 용으로도 많이 이용됐다. 그래서 위 사진과 같이 방향 키가 망가지는 일은 무척 흔했다. 게임에 있어 방향 키 조작은 필수이기 때문이다.
筆者의 첫 番째 컴퓨터인 待遇 IQ-1000. MSX 互換 機種으로, 基本 搭載한 MSX BASIC을 배울 수 있었다. 넥슨 컴퓨터 博物館에서 오랜만에 볼 수 있었는데, 빠져 버린 오른 方向 키마저 무척이나 반가웠다. MSX 機種은 當時로서는 그래픽 性能이 優秀했기 때문에 目的과 달리 게임 用으로도 많이 利用됐다. 그래서 위 寫眞과 같이 方向 키가 망가지는 일은 무척 흔했다. 게임에 있어 方向 키 造作은 必須이기 때문이다.

“이 컴퓨터는 이제부터 네 것이야.” 敎育을 始作하기 前, 아이에게 귀띔했다. 一種의 膳物인 셈인데, 컴퓨터에 對한 아이의 關心을 增幅시키기 위함이었다. 누구나 첫 番째 經驗이란 것이 있다. 特히, 처음으로 갖게 되는 物件은 記憶을 깊게 吸收하곤 한다. 컴퓨터를 처음 갖게 된 것이 30餘 年 前이지만, 아직도 그떄의 느낌은 如前히 생생하다. 아톰 CPU를 搭載한 태블릿 피氏 程度면 아이의 첫 番째 컴퓨터로 모자람이 없을 것이다.

 

問題 解決 過程을 細分化하는 體驗을 試圖했다. 지난 時間과 마찬가지로 演習場부터 가지고 오라고 했다. 아이는 어제의 疑訝함을 보이지 않았다. 어디까지 하는지 해볼 테면 해보라는 것일까.

 

問題를 주고, 條件을 提示했다. 問題는 초코 잼 바른 크래커가 먹고 싶은 狀況이고, 초코 잼과 크래커의 位置 및 잼 바르는 칼 等 各種 道具의 存在가 條件이다. 命令은 아빠가 遂行한다는 것도 덧붙였다. 代身 아빠는 演習場의 命令대로만 움직인다는 條件을 追加했다.

 

命令의 順序를 練習帳에 써보라 했다. “크래커를 집어”, “잼을 집어”, “칼을 들어”, “잼을 칼에 발라” 等 아이는 어제보다 具體的인 命令을 써 내려갔다. 어제의 성가신 質問이 싫긴 싫었나 보다. 그럼에도 不拘하고, 빈 틈은 많다. 어제보다 조금 더 괴롭혀 보기로 했다.

 

命令이 가지는 빈틈을 次例대로 보여줬다. 오른손으로 먼저 크래커를 집었다. 왼손으로는 잼을 들었다. 다음으로 칼을 잡아야 하는 順序인데, 손이 모자라 칼을 잡을 수 없는 狀況을 보여줬다. 難堪해 하는 表情도 아이에게 일부러 보여줬다. “크래커를 내려놓고 칼을 잡으면 되잖아.”라며 어이없어하는 아이에게 “그것도 命令 順序에 넣었어야지.”라고 꼬집었다. 뚜껑을 열지 않으면 잼을 바를 수 없다는 것도 놀리 듯 보여줬다. 아이의 表情이 좋지 않다. 今方 울 것 같은 雰圍氣다. 몇 가지를 더 指摘하려다 멈춰야만 했다. 아이의 울음에서 비롯할 아내의 치솟는 憤怒와 驚天動地할 ‘등짝 스매싱’을 避하기 위함이다.

 

只今까지 一種의 ‘正確한 說明書 試驗(Exact Instructions Challenge)’乙 한 셈인데, 그다지 期待했던 效果는 보이지 않는 듯하다. 코딩의 槪念 定立을 實生活의 例에서 거두고자 했던 바인데, 敎育的 效果는 둘째치고 아이의 興味를 이끌어내는 것조차 어렵다는 게 妥當할 듯하다. 2日次 敎案에 크누스(Knuth) 알고리즘 條件 中 明確性 槪念 傳達이라고 巨創하게 끄적인 自身이 부끄러워졌다.

 

筆者의 敎育 技術이 薄弱하다는 것이 큰 理由일 수 있다. 그리고, 그 技術이 하루아침에 만들어질 수 있는 性質의 것도 아니기에 只今의 問題가 두고두고 反復될 것임은 쉽게 豫測할 수 있다. 언플러그드 코딩 方式 維持 與否에 對해 苦悶이 必要한 理由다.

 

초코 잼 바르기 문제에 대한 아이의 명령 기술서. 필자가 포괄적인 명령의 헛점을 지적할 때마다 명령을 추가한 흔적이 보인다. 인간의 행위에 대한 명령 세분화는 사실 그 끝을 알 수 없다는 한계가 있다. 행위자 각각의 의지와 지식이 모두 동일하지 않기 때문이다. 인간의 행위가 컴퓨터 명령과 같이 원자적으로 환원될 수 없는 이유다. 김기산 제공
초코 잼 바르기 問題에 對한 아이의 命令 技術書. 筆者가 包括的인 命令의 헛점을 指摘할 때마다 命令을 追加한 痕跡이 보인다. 人間의 行爲에 對한 命令 細分化는 事實 그 끝을 알 수 없다는 限界가 있다. 行爲者 各各의 意志와 知識이 모두 同一하지 않기 때문이다. 人間의 行爲가 컴퓨터 命令과 같이 原子的으로 還元될 수 없는 理由다. 김기산 提供

한두 番 더 進行해본 後 이 方式의 持續 與否를 判斷하기로 했다. 命令에 對한 追加的인 補完은 宿題로 내줬다. 나중에 作成된 宿題를 보고 判斷할 것이지만, 크게 달라지지 않을 듯 하다는 게 只今의 率直한 心情이다.  

 

컴퓨터를 켰다. 지난 時間에 마무리 못한 엔트리 環境 紹介에 앞서 復習부터 進行했다. 윈도우 로그인부터 엔트리 接續, 基本 코드 生成 및 實行까지 아이가 直接 하는 것을 지켜봤다. 큰 無理 없이 아이가 해내는 것을 보며 대견함이 느껴졌다. 筆者가 봐도 八不出이 따로 없다.

 

生成된 基本 코드로 엔트리 基礎를 說明하려고 했다. 基本 코드에는 엔트리봇이란 客體가 있고, 客體는 코드를 包含하고 있다. 이와 같이 엔트리 코드는 客體와 이에 包含된 코드로 構成되는데, 먼저 이 둘의 關係를 認識하는 게 必要하다. 客體 志向 言語인 파이選(Python)에 基盤하고 있기 때문이다. 當場 9살 아이에게 客體의 槪念을 이해시키는 것부터 쉽지 않아 보인다. 그런데, 엔트리는 한 段階 더 건너뛰었다. 맙소사! 客體를 代身하여 오브젝트란 이름을 使用한다. 客體도 쉬이 와닿지 않는데, 그보다 더 멀게 느껴지는 오브젝트라니! 엔트리 製作者의 苦心을 理解하지 못하는 바 아니지만, 적어도 筆者가 느끼기에 客體보다 不親切한 作名이다.

 

오브젝트 追加부터 始作하기로 했다. 實際로 客體를 만들고 지우다 보면 客體와 코드의 關係를 어렴풋이나마 느낄 수 있을 것이라 생각했다. 오브젝트 追加하기 버튼을 누르면 갖가지 模樣의 엔트리봇 오브젝트들이 보인다. 아이에게 맘에 드는 엔트리봇을 고르고 生成해보라고 했다. ‘海邊에 간 엔트리봇’이란 오브젝트가 選擇됐고, 空氣 튜브를 끼고 있는 엔트리봇 그림이 畵面에 나타났다. 아이는 自己가 願하는 그림이 畵面에 追加된 것만으로도 즐거워했다. 보시기에 참 좋았다고 하지 않았던가. 創造者의 喜悅을 아이도 若干이나마 느끼고 있을 것이다.  

 

두 오브젝트를 번갈아 클릭하면서 코드의 有無를 比較하도록 했다. 한 쪽은 이미 生成된 코드가 있고, 다른 쪽은 빈 窓만 나온다. 새로 만든 오브젝트에는 코드를 아직 作成하지 않아서 아무것도 없는 것이라고 說明했다. 反面 旣存 오브젝트에는 元來부터 오른쪽으로 移動하는 코드가 들어있다고 說明했다. 아이는 半信半疑했다. 다른 方法이 必要했다. 始作하기 버튼을 利用해 實行시켜 보라고 했다. 아이가 始作하기 버튼을 누르자 旣存 엔트리봇은 오른쪽으로 움직였다. 反對로 追加한 오브젝트는 가만히 멈춰있다. 두 오브젝트의 코드가 있고 없음이 그 理由임을 强辯했다. 親切한 說明이 아닌, 될 대로 되라는 式의 自暴自棄였음을 告白한다. 多幸히 아이는 “아하!”라며 理解가 된다는 듯 表情을 지었다. 이렇게 또 한고비를 넘겼다.

 

40분의 시간이 얼마 남지 않았다. 코드 이름 바꾸고 저장하는 방법을 알려줬다. 그리고, 저장한 코드를 불러오는 방법을 알려줬다. 한글 입력 타이핑이 더딘 듯하여 대신해주려 했으나, 아이는 자기가 직접 하겠단다. 그래. 맞다, 잊고 있었다. 백문이 불여일타(打)다.
아이가 오브젝트를 追加하고 始作버튼을 利用해 엔트리봇을  움직이게 하고 있다. 

40分의 時間이 얼마 남지 않았다. 코드 이름 바꾸고 貯藏하는 方法을 알려줬다. 그리고, 貯藏한 코드를 불러오는 方法을 알려줬다. 한글 入力 타이핑이 더딘 듯하여 代身해주려 했으나, 아이는 自己가 直接 하겠단다. 그래. 맞다, 잊고 있었다. 百聞이 불如一打(打)다.

 

 

도움資料

제가 作成한 2日次 敎案 (초코잼 바르기 問題)을 共有합니다.

https://drive.google.com/open?id=1t5HdlnfnZWpAs9YHXDXaZnlDz2_2vhqw

 

※筆者紹介

김기산( calculmount@gmail.com ) 企業에서 IT 디바이스 소프트웨어 開發者로 일하고 있다. 大學에서 電子工學을 專攻하고 20年 가까이 리눅스 開發者로 지내다가 뜻밖의 契機로 育兒休職을 냈다. 지난해 한層 强化된 '아빠의 달' 制度의 受惠者로, 9살 아이와 스킨십을 늘리며 福祉 擴大의 肯定的인 面을 몸소 깨닫고 있다.

關聯 태그 뉴스

이 記事가 괜찮으셨나요? 메일로 더 많은 記事를 받아보세요!

댓글 0

###
    科學技術과 關聯된 分野에서 紹介할 만한 재미있는 이야기, 告發 素材 等이 있으면 躊躇하지 마시고, 알려주세요. 提報하기
    - "漢字路" 한글한자자동변환 서비스는 교육부 고전문헌국역지원사업의 지원으로 구축되었습니다.
    - "漢字路" 한글한자자동변환 서비스는 전통문화연구회 "울산대학교한국어처리연구실 옥철영(IT융합전공)교수팀"에서 개발한 한글한자자동변환기를 바탕하여 지속적으로 공동 연구 개발하고 있는 서비스입니다.
    - 현재 고유명사(인명, 지명등)을 비롯한 여러 변환오류가 있으며 이를 해결하고자 많은 연구 개발을 진행하고자 하고 있습니다. 이를 인지하시고 다른 곳에서 인용시 한자 변환 결과를 한번 더 검토하시고 사용해 주시기 바랍니다.
    - 변환오류 및 건의,문의사항은 juntong@juntong.or.kr로 메일로 보내주시면 감사하겠습니다. .
    Copyright ⓒ 2020 By '전통문화연구회(傳統文化硏究會)' All Rights reserved.
     한국   대만   중국   일본