CSE

교육과 컴퓨터프로그래밍[2] – 학급 분위기의 중요성

초등학생들과 컴퓨터프로그래밍(이하 프로그래밍) 접하기 전에 생각해 볼 문제가 있다. 우리는 학급 담임제이기 때문에 한 학급 단위를 기준으로 생각해 보자.

생각해 볼 문제

  1. 학급 전체에게 가르칠 것인가? – 보조교사가 없는 현실에서 학급 전체일 수 밖에 없다. 일단은 영재반이나 방과후나 동아리 활동은 빼고 생각해 보자.
  2. 목표를 충분히 생각하고 있는가? – 코딩 기술? 프로그래밍 원리? 창의적 사고? 문제 해결력? 교과연계? 진로지도? 소질계발?
  3. 흥미나 관심이 없는 학생은 어떻게 해야 할 것인가? – 프로그래밍에 흥미를 가진 친구와 팀을 이루어 다른 분야의 능력으로 협동하게 할 것인지, 어떤 자극을 통해 함께 참여하도록 유도할 것인지.
  4. 왜? 프로그래밍을 접해야 한다고 생각하는가? – 1,2,3이 준비되긴 했는데, 왜 프로그래밍을 접하게 해야 하는지 충분하고 분명한 이유를 제시할 수 있을 만큼, 교사 스스로 동기부여가 되어 있는가? 단지 유행이라서? 교과서에 하라고 하니까? 연수에서 배운대로 한 번 해보려고?는 아닌지.

나는 교사야. 전분가란 말이지. 나의 수업과 교육관에 미루어 교육적으로 유의미한 활동이고, 우리 학급 학생들에게 필요한 내용이라면 망설일 필요 없지.

수용적 분위기

모두 갖추어졌다면, 다음으로 필요한 것은 동기부여일 것이다. 그런데, 이것보다 더 중요한 것이 있는데, 어느 누구도 지적하지 않는 부분이다. 바로, 학급의 분위기다. 뭐, 여기에 대해 두 말 할 나위 없을 것이다. 비단 프로그래밍이 아니더라도, 도국수사과음미실체영바슬즐을 포함한 수 많은 학교 교육의 기반이 되는 것이니까.

학급 자체의 분위기가 ‘발견했거나 만들어낸 무언가’에 대해 모두가 감동하고 부러워할 준비가 항시 되어 있어야 한다.

  • 집에서 만들어 온 색종이 접기
  • 낙서로 그린 어떤 그림
  • 이쑤시개로 만든 집
  • 싹이 나온 강낭콩 씨앗
  • 유튜브를 보고 만든  특이한 종이 비행기
  • 아버지와 만든 플라모델
  • 학급 줄넘기 3종목 3관왕
  • 놀러가서 찍은 사진

저런 작은 것들이 당연하거나 손쉬운 것이 결코 아니다. 어느 누구에게는 엄청난 노력의 결과인 것이고, 서로 칭찬하고 격려해야 할 ‘노력’의 결과다.

‘저런건 나도 할 수 있어’라는 말과 생각이 어느 구석에서 나온다거나, ‘그러게말이야’라는 맞받아치기가 나와서는 절대로 안된다. 왜냐하면, 저런 결과물들이 모두 프로그래밍의 다른 형태이기 때문이다.

창작물에 대한 존중

나의 손끝에서 땀방울로 맺어진 창작물이 존중해 주지 못하는 분위기에서 ‘도전’과 ‘성취’를 맛본다는 건 어지간한 마인드컨트롤 없이는 불가능한 일이다.

특히나 프로그래밍을 배워가는 과정에서는 ‘동기부여’와 ‘문제해결’과 ‘배경지식보충’과 이를 넘어서려는 ‘창의적사고’ 등이 계속적으로 이루어져야만 그 중독성에 빠져들 수 있다. 이런 유기적이고 복합적인 활동을 지속하는 것은 매우 지치고 힘들고 어려운 일이다.

그런데, 학급의 분위기가 갖추어지지 않아 번번이 좌절하거나 무시당하는 경험이 누적되면, 프로그래밍 수업을 지속할 이유가 사라져 버린다.

처음에는 쉽지 않겠지만, 작은 고개 몇 개를 넘고 나면 내가 만들 수 있는 세상이 무한히 열리게 되는데, 작은 고개를 넘는 고난의 여정은 스스로의 자기 암시보다 주변 친구들의 격려와 기대가 훨씬 더 큰 도움이 된다.

고등학교시절 내가 만든 컴퓨터바이러스로 담임 선생님의 컴퓨터를 감염시켜 디스켓을 망가뜨리고 아무렇지도 않게 복구해드리는 장난에 대한 내 친구들의 격려(?)가 엄청난 힘이 되었다.

학급 경영의 중요성과 교사의 뚜렷한 교육관이 바탕이 되어야만 한다는 ‘교과서적’인 뻔한 이야기가 프로그래밍교육의 시작이라니. 이게 무슨 말도 안되는 소리란 말인가.

그러게말이다. 여하튼, 그 다음이 ‘동기부여’ 다.

:맥노턴.

CSE

교육과 컴퓨터프로그래밍[1] – 한국형 저작도구들은 어디로

최근 영국을 비롯한 일부 선진국에서 컴퓨터 프로그래밍 원리를 수업에 활용하거나 컴퓨터 프로그래밍을 교육과정으로 진행하고자 한다는 소식이 들린다.

1. GREAT, KAS, 새빛

교육대학교 90년대 학번들은 한번쯤 들어봤거나 현장에서 각종 자료전을 통해 활용해 본 저작도구들이다.

뭐, 지금은 우리의 기억속에서 완전히 사라졌다.

GREAT는 알고리즘이나 복잡한 수치연산이 필요한 코드를 만드는 도구는 아니지만, 비교적 짧은 시간내에 효율적으로 학습용 소프트웨어를 개발할 수 있던 MS-DOS기반의 저작도구’였다’. 완성도는 별 다섯개 중 세개 반 정도?

KAS는 GREAT와는 다른 방식의 저작도구였다. 그래픽 도구도 제공되었고, 왠만큼 활용가능한 수치연산이 가능하고 화면 표현이 뛰어났던 것으로 기억된다. 솔직히 KAS를 오픈소스로 전환했거나, 다양한 플랫폼으로 개발되었다면 스크래치 정도는 뭐 우습게 볼 수 있을 정도의 강력한 도구로 탄생했을 것이다. 혹시나 해서 KAS를 찾아보았더니 http://www.kasnara.com 에서 KAS2010을 공개배포 중이다. ActiveX로 익스플로러 기반의 웹으로 실행이 가능하고, Server-Client 프로그래밍까지 지원 가능한 상태다.

새빛은 윈도우 기반의 플로어차트식 저작도구였다. 뭐 완성도는 가장 낮았지만, 윈도우기반에서 접할 수 있는 편리한 기능들이 돋보였었었었었다. 편리한 저작 인터페이스를 KAS와 합쳤으면 대박이었을지도…

2. 국산 저작도구들은 어디로?

한창 각종 연구대회들이 저작도구를 기반으로 제작되어 다양한 교육컨텐츠들이 탄생하고 세계 최고의 IT교육강국으로 뻗어나갈 도약기를 맞이하나 싶었는데, 갑자기 인터넷이 보급되고 윈도우가 사용되고 웹서비스가 급속도로 퍼져나가면서,  온통 웹과 HTML이 대세일 것이라는 심리가 생기기 시작했다.

물론, 저작도구들이 새로운 운영체제와 사용환경 변화에 발빠르게 대처하지 못한 문제도 있었겠지만, 웹서비스 예찬론자들로인해 저작도구들은 하나 둘 자취를 감추기 시작한다. 물론, 나도 웹이 대세가 될 것으로 예상하고 PERL로 CGI 만들어서 웹페이지 제작 알바도 했었지만, 그래도 꾸준히 비주얼베이직, 툴북, 오소웨어같은 도구들을 이용해 무언가를 만들어내고 있었다.

3. KAS 2014 발표!!

[KAS 2014] 윈도우7,맥OSX, 리눅스지원

  • 2D 벡터 그래픽 지원, 3D 오브젝트 활용 가능!
  • 플로어차트 형태의 손쉬운 프로그래밍
  • 학생들을 위한 명령어 100% 한글화
  • 모든 웹브라우저에서 HTML5로 실행!
  • 강력한 네트워크 서버-클라이언트 프로그래밍을 지원!
  • 라즈베리파이용 ‘라즈비안’ 탑재 및 하드웨어 제어 가능!

물론, 나름대로 생각해 본 광고다. 이렇게 우리나라에서 발표만 된다면 얼마나 좋을까.

이미 15년 전에 우리는 초등학교 실과시간에 저작도구를 이용한 프로그래밍을 가르쳤고, BASIC은 동네 컴퓨터학원에서 공짜로 가르쳐줬었다. C는 동네 형들 집에 놀러가서 배우던 중딩들의 비기(?)였다.

4. 뒷북이라도 제대로

뒷북이 분명하다. 하지만, 이제라도 제대로 울리면 된다. 교육에서 이야기하는 컴퓨터 프로그래밍이라는건 산업 인력을 양성하기 위한 기술교육 같은 한 부분이 결코 아니다.

  • 합리적인 순서대로 – 순차 실행
  • 자주 하는 일은 한 곳에서 – 함수와 프로시져를 통한 모듈화
  • 필요에 따라 나눠서 – 조건과 분기
  • 매일매일 규칙적으로 – 반복

인간만사를 크게 넷으로 구분하고, 삶을 설계하는 것을 블럭맞추기 연습을 해 보는게 컴퓨터 프로그래밍 교육이다. 학문적 연구나 공부는 말할 것도 없고, 요리, 건축, 제조, 예술 모든 분야에 컴퓨터 프로그래밍의 원리가 들어 있기 때문에, 어릴적 부터 이런 감각을 키워 디지털 시대에 적응과 복잡다단한 미래사회에 대비하자는 것이 목적인 것이다.

예상컨데, 지금까지 해온 행태를 보면 분명 교육부로부터

  1. MIT에서 만든 Scratch나 SUN의 Java 같은 언어 몇 가지를 찍어서,
  2. 컴퓨터프로그래밍교육 선도요원을 뽑고,
  3. 교사들을 열심히 연수시킨 다음에,
  4. 각 학교에 1년 10시간 필수적으로 프로그래밍교육을 실시하라! 지침을 내려보내고,
  5. 모든 교사를 대상으로 프로그래밍 직무연수 16시간 받도록 강요하고,
  6. 아이들은 프로그래밍 대회를 만들어서 마구 상주고
  7. 지도교사 표창을 주면서 독려

시퀀스대로 프로그래밍하고 컴파일하여 실행할 것 같다. 그저 기우였으면 좋겠다.

앞으로 여러 조각에 걸쳐 한국형(?) 컴퓨터 프로그래밍 교육에 대해 나름의 생각을 이야기 해볼까 한다.

 

:맥노턴.

CSE

학교, 교실, 수업과 디지털 과잉…

이미 스마트디바이스, 컴퓨터, 인터넷, 가전제품과 같은 디지털 세상은 우리 삶에 있어서 상당히 많은 부분을 차지하고 있고, 그 기술 자체의 변화와 발전이 무한하기 때문에 이를 살펴보며 기다리는 것 자체로도 너무나 매력적이다.

디지털 세상 덕분에 우리는  편리한 삶 뿐만아니라 가치 있는 삶까지도 추구할 수 있게 되었고, 간절한 필요에 의해 디지털 세상을 만들어낸 기성세대로부터 지금 태어나는 아이들도 디지털 세상의 혜택을 누리게 되었다.

인류에게 있어서 ‘아날로그’는 지구라는 공간좌표계에 생존하고 같은 좌표계에서 상대적(!)으로 높은 지능을 가진 고등 생명체가 인지하고 마음껏 사용할 수 있는 가장 최고의 시스템이다. 반면에 디지털은 그저 ‘존재한다는 것을 인지하고 사용할 수 있을’ 뿐이지 실체가 없다는 사실.

디지털의 세련됨에 밀려 아날로그는 이제 그저 옛 ‘추억’ 쯤으로 여겨지는 것 같은 분위기다. 하지만, 모두가 아날로그가 ‘추억’이라 여겨도, 교육에 있어서 ‘아날로그’라는 것은 교육의 과거, 현재, 미래를 연결하는, 끊을 수 없고, 대체할 수 없는 중요한 끈이다.

디지털 세상에 태어난 아이들… 스마트폰으로 동요를 듣고, 손가락 하나로 영상을 보고 있다. 지하철에서 만난 두 돌도 안된 아이가 아이패드를 열고, 만화나 노래가 나오는 앱을 실행해 플레이 버튼을 눌러 시청하는 것을 보고 우리가 ‘천재’라며 놀라지 않는다. 디지털 세대들의 시대인 것이다.

학교 수업 시간에도 디지털 디바이스와 소프트웨어를 이용해 쉽고 빠르게 현상을 이해하고 생각을 이끌어내어 학습할 수 있다. 인터넷이라는 환상적인 디지털기술은 교실을 벗어나 확장된 세계를 경험할 수 있도록 돕는다. 학교를 벗어나 가정에도 연결되어 시간과 공간을 뛰어넘어 마치 공기를 마시듯 사용할 수 있다.

다만, 디지털 세대들이 살아가고있는 세상 그 자체는 결국 ‘아날로그’로 이루어져 있고, 아날로그 방식으로 접근해야 한다는 점을 잊어서는 안된다. 바람을 느끼고, 새 소리를 듣고, 음식물을 섭취하고, 자연과 함께 살아가야 한다. 삶에 있어서도 물건을 옮기고, 자동차를 운전하고, 과일을 깎고, 벽돌을 나르는 것. 이 모든 것이 디지털로 될 일은 분명 아니다.

집에서 키우던 강아지가 감기에 걸리자 어린 딸이 하는 말… ”엄마, 강아지가 고장났어. 새 거 사와!”
이 일화에서 우리가 생각해 보아야 할 것은 무엇일까?

디지털과 인터넷이 만나 만들어낸 문제들을 보자. 지금 나와 스마트폰으로 채팅하는 상대는 친구가 아니라 스마트폰 프로그램일 뿐이라는 착각. 온라인 게임 속에서 내가 상대하는 것은 화면에 보이는 모습을 한 괴물일 뿐이지 조금 전까지 나와 공을 차던 친구라는 생각을 하지 못하는 심각한 사이버중독…

디지털은 태생부터 ‘참’과 ‘거짓’으로 이루어져 있다. 이런 특성이 과연 우리의 사고에 영향을 미칠 수 있을까? 우리(교사)의 예를 들어보면 쉽게 이해할 수 있을 것이다. 우리가 디지털디바이스를 이용해 수업하고 학생들이 학습하는 활동 속에서 자신도 모르게 성공과 실패를 구분지으며 ‘양분’된 사고를, 디지털로 보여지는 결과는 100% 믿을 수 있다는 위험한 ‘신뢰’를 갖게 된다. (수행평가를 한다. 평가노트에 펜으로 O-+로 점차 향상됨을, X+/로 어려워했으나 해결하여 기뻐함을, A-, AA+로 성취 정도를 세분화하여 표기하는 대신, 태블릿이나 PC의 평가테이블에 OX 값을 선택하고 있지는 않은가?)

과학시간. 우리 마을 뒷산에서 채집한 나뭇잎을 통해 나무의 분포를 알아보는 프로젝트 활동이 시작되었다.

GPS를 통해 지형과 길을 찾고 채집한 자리를 지도에 표시하고, 교실에 돌아오거나 또는 채집한 그 자리에서 스마트디바이스의 ‘앱’을 실행해 ‘oo나무의 잎’이라는 사실을 알아내 기록하며 학습을 진행한다. 교실에 돌아와서는 지형과 나무의 분포와 기후와 같은 확장된 다양한 이야기를 찾아 토의하고 이야기 하기 시작한다. 별 문제 없어보이는 멋진 학습 활동이다.

몇 일에 걸쳐 수 차례 산을 올라 탐구해야 했던 사실을 단 한 번에 알아버린데다가, 기록한 다양한 데이터를 통해 더 많은 것들을 알아냈으니 이보다 완벽한 수업이 있을까? 아이들은 협력과 토의까지 충분한 양의 학습을 했으니 학습이 ‘완성’되었다고 생각하겠고, 교사 또한 수업이 계획대로 ‘끝났다’고 생각할 수 있겠고, 디지털 디바이스에게 물어보고 알게된 내용을 그대로 ‘믿고 ‘ 모든게 마무리 할 수 있으리라 생각하겠지만,  학생들은 이런 것들도 알게 되었을까?

  1. 이런 탐구는 수 일이 걸리는 활동이다.
  2. 한 가지 데이터를 잘못 기록하면 다시 산을 올라야 한다.
  3. 내 친구와 역할을 나누지 않고서는 모두 기록할 수 없다.
  4. 글씨를 바르게 쓰지 않으면 제대로 알아보기 힘들다.
  5. 산에는 나무 이외에도 수 많은 식물이 살고 있다.
  6. 산에 올라 느끼는 바람은 참 시원하다.
  7. 어제의 산과 오늘의 산은 모습이 다르다.
  8. 어제는 힘들었지만, 다시 오르니 힘들지 않다.
  9. 이제 혼자서도 산을 오를 수 있을 것 같은 생각이 든다.
  10. 혼자보다 친구들과 함께 오랜 시간동안 오르는게 더 재미있다.
  11. 지난 번에 보지 못했던 구멍난 나뭇잎도 있다.
  12. 오, 이런… 나뭇잎 뒷면에 희한한 벌레들이 붙어있다.

1~12번을 보며 고개를 끄덕였다면, 어린시절 친구들과 놀러, 학교 숙제로 곤충채집 하러, 미술시간에 사용할 나뭇잎 주우러 여러 차례 산에 올라봤던 아날로그 세대들이기에 알 수 있었던 것이다. 아날로그를 경험해보지 못한 디지털 아이들에게 위의 내용이 반드시 필요한 것들은 아니었을까?

만약, 그 수업에 디지털디바이스들이 모두 빠지고나면, 책이 필요했을테고, 협동이 필요했을테고, 물론 오랜 시간이 걸렸을테고… 불편한 점과 답답함이 참 많았을 것이다. 모르는 것을 알기위해 할아버지를 찾아갔을테고, 산 주인을 만나 물었을 수도 있다. 예상밖의 것들을 접한 경험이, 성장하여 사회에 나가 원하는 무언가 도전하고자 하는데 위의 경험이 반드시 필요하거나 도움이 되지 않았을까?

외국 재난 영화에서 심심치 않게 등장하는 이런 부류의 사람들이 있다. “몇 십 년동안 꿀벌을 따라 전 세계를 탐험하는 과학자”

우리 나라에서는 별 것도 아닌 주제로 오랜 시간을 가지고 연구하다가는 굶어죽거나 포기하고 치킨집을 열어야만 한다. 재난 영화의 과학자들은 디지털 장비를 싣고 넘치는 열정과 심해와 같은 안목으로 허름한 몰골로 돌아다닌다. 그들이 발견한 중요하고 심오한 데이터는 디지털 장비를 통해 전세계 연구소로 긴급히 보내지고, 이를 분석한 다른 과학자들은 재난에 대비하자고 소리친다. 물론, 정치인들은 이를 무시하다가 위풍당당하게(?) 재난을 맞이하는게 전통적인 스토리 전개다.

인간 삶의 키워드인 열정과 안목, 종합적 판단은 분명히 아날로그다. 디지털 데이터를 분석하는 것은 아날로그적인 무언가가 바탕이 되어야 한다는 것이다. 왼손디지털은 그저 도울 뿐.

모든 수업을 디지털 컨텐츠나 디지털화 된 방식으로 진행하는건 아니다. 또한, 창의적으로 문제를 해결하는 활동에서 디지털은 이를 더 발전시킬 수 있고, 가치화 할 수 있다.

당연하다. 교실 수업과 학습 활동을 통해 생성된 방올방울 맺힌 사고들을 디지털로 더 발전시키고 구체화, 가치화 한다는 것에 대해서는 충분히 중요한 부분이고 그럴 수 있다는데 동의한다.

하지만, 인간은 디지털의 편리함과 효율성을 쉽게 포기할 수 없다. 특히, 태어나자마자 디지털이라는 모포에 둘러싸인 아이들에게는 더더욱 포기할 수 없을 것이다. 교사가 빨리 답을 찾아내고자 하는 학생의 생각을 제어하며 스탭에 맞추어 완급을 조절할 수도 없는 일이고, 그렇다고 학생들이 답을 얻은 뒤에는 (디지털 방식으로) 스위치를 꺼버리려는 성향이 강해 더 나은 생각을 하려고 노력하는 것도 아니다.

아날로그의 핵심은 기다림이다. 빵을 굽기 위해서는 빨리감기 버튼이 아니라 충분한 시간이 필요하고, 모닥불을 피우기 위해서는 아이콘 클릭이 아니라 불씨가 필요하다. 학습활동에서도 문제를 인식하면 이런 저런 궁리하며 기다리다가 적극적으로 방법을 찾다가 막히고 기다리고 답을 찾아가는 것이다. 디지털 디바이스로 쉽고 빠르게 답을 찾아 다음 단계로 진입하는 과정이 필요한 시기는 어른이 되어서지, 어린시절은 아닐 듯 싶다.

학교에서 수업을 통해 학생들을 가르치는 과정에 어차피 아날로그 사고가 기반이고 디지털이 보충재라면, 아얘 그냥 디지털을 버리는건 어떨까. 아니면, 디지털 세대로서 반드시 갖추어야 할 소양으로서의 디지털 교육이 필요하다면,  기록, 보관, 전달의 역할정도로만 활용하는 정도만 두고. (디지털디바이스로 학습 포트폴리오를 만들고, 누적시키고, 공유하는 용도)

 

비록, 미려하지 못하고, 느리고, 완성하지 못하더라도 말이다. 아날로그니까.

 

:맥노턴.

CSE

라즈베리파이로 휴대용 게임기 만들기 (The Ben Heck Show)

라즈베리파이는 매우 저렴한 가격의 완벽한 컴퓨터라고 할 수 있죠. 중국에서 대량생산되어 $35 정도의 가격으로 쉽게 구할 수 있는 라즈베리 파이를 이용해 포터블 게임기를 만드는 과정을 소개합니다.

유튜브에 올라온 The Ben Heck Show 영상을 통해 살펴보시죠. [구독하기]

Learn to Build a Portable Raspberry Pi Part 1

Learn to Build a Portable Raspberry Pi Part 2

준비물은 라즈베리파이 + LCD모니터 + 충전지 + USB조이스틱 + HID(키유닛)
여기에 3D 프린터로 출력된 케이스와 아크릴 프론트커버!

라즈베리파이로 포터블게임기 만들기

  1. 배터리의 용량을 확인해 각 파트가 제대로 동작하는지 확인. (충전용 서킷도 필수)
  2. 포터블이 생명! 라즈베리파이, LCD모니터, 조이스틱의 필요 없는 부품을 제거
  3. 제거된 부품들을 연결해 동작 확인
  4. USB방식의 HID컨트롤러에 필요한 버튼만 연결
  5. 케이스는 3D 프린터로 제작하고, 전면 커버는 아크릴로 ^^
  6. 케이스에 배선 및 조립! (이 부분에서 장인의 손재주가 필요해)

라즈베리파이로 포터블 게임기 만들기

다른 부분들은 말할 것도 없거니와, 무엇보다도 3D 프린터의 활용에 대해 더 많은 관심을 갖게 되는 기회가 되었네요.

라즈베리파이로 포터블 게임기 만들기

:맥노턴.

CSE

광자극과 유아용 장난감

이제 돌 지난 아이… 나와 아내가 스마트폰으로 전화하는 모습을 따라하며 가끔씩 가지고 놀려고 탐내기에 마트에서 장난감 전화기를 하나 구입해 주었다.
역시나 귀에 대고 노는 장난감이라 볼륨은 아주 작게 설정되어 있어서 안심했는데 문제는 저 램프였다.

 

음악의 박자에 따라 빠르고 느리게 점멸되는 LED램프가 너무 밝고 빨라 아이에게 광-자극을 주겠다 싶어 몇 가지 방법을 고심 중…

image

나의 만능 작업파트너인 포스트잇으로 발광부 감싸기로 광량을 줄여볼까 시도했으나 뭐 틈새로 새어나오는 빛도 자극적이고 볼품도 없고. ㅠㅠ

매직펜으로 칠해볼까, 램프를 바꿔볼까 등등 고민하는 중에 아이가 내 방으로 들어오기에 순간적으로 내린 결정.

image

램프를 꺼버리잣. 램프류는 끊어져도 회로상에서 아무 이상없으니. 후훗