회원가입

로그인

아이디
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기

컴퓨터프로그래밍교육과 언어(외국어)의 벽, 사고와 글쓰기

Profile
맥노턴

2014년 6월 11일

 

각인효과

BASIC이 프로그래밍 언어로 우리에게 다가와 오타쿠 초호기들의 모니터 형광물질을 초록으로 불태우던 시절…
사실, 지금까지도 빌 게이츠 형님이 버리지 못한 이유를 이해할 수 있을 것 같은 ‘각인’ 효과와… (빌 형이 살아있을 동안에는 절대로 BASIC이라는 언어가 사라지지 않을 것이라는 예언도 있었지;;;)
프로그래밍에서 아이들은 일단 언어의 벽에 부딪히게 된다.
흔히들 명령어셋을 이야기하지만… 알고리즘을 구현하는데 실제로 명령어셋은 몇 개 안된다. 몇 개 안된다는 것은 시간이 지나면 저절로 익혀지는 것이라는 뜻인지라, 이 보다 변수/상수의 명명이 훨씬 아이들에게 어렵게 다가오는 것이고, 무척이나 중요한 습관이다.

이름붙이기

일전에, 상용 소프트웨어의 코드를 (루트는 비밀) 받아서 자연어처리를 위해 분해해 재가공한 적이 있다. 놀라운 사실은… 이 코드가 꽤 여러 차례 버전업을 했음에도 불구하고…
변수와 배열 정의가 $aa, $abc, $jaum(자음), $sajeun(사전) 이런 식으로 되어 있었다… 함수와 프로시져도 open_sajeun(사전열어?), nanum_munja(문자나눔?) 너무 놀라서 전체 코드를 다 봤는데… 부분부분 이런 식이었고, 다른 사람이 손댄 부분은 또 알아보기 쉬운 사전적 단어들이 이용되어 있었다.
프로그래밍 중 코딩교육에서 절대로 가볍게 생각해서는 안되는 부분이
$a=1
$b=2
$c=$a+$b
이런 것이라 생각한다.
일시적으로 사용하는 변수는 일시적이라는 의미의 단어tmp/temp등을 변수명 앞에 붙인다거나, 변수의 목적에 맞는 단어를 앞에 붙이고, 대소문자를 적절히 활용하고, 특수한 목적에 따라 언더바(_)를 이용하는 등의 룰이 있다. 이런 룰이 시작부터 각인되어야 할 부분이고, 기본적인 약속이므로 지키도록 해야 한다. 우리 아이들에게는 한글로 코딩할 수 있는 인터프리터가 나오지 않는이상… 결코, 쉽지 않은 부분이다.

생각하기와 글쓰기

그래서 초등학교에서 프로그래밍의 시작은 생각하기와 글쓰기와 생각하기와 글쓰기다. 이게 완성되어 중등학교에서 영단어와 매칭시키는 단계로 연결되어야 하지 않나 생각해본다. (영재아들 이야기는 일단 생략)
하고자 하는 알고리즘과 동작을 글로 남기고, 글을 읽어가며 문단문단을 순서에 맞게 재배열하고, 문장과 문장을 나열하여 연결하기 쉽도록 단어를 고치고, 처음부터 끝까지 함께 읽어가며 동작과 알고리즘을 정확히 이해하도록 하는 것이 시작이다.

교사와 함께 코딩하기

프로그래밍의 백미, 컴파일되어 실행되는 코드를 보면서 느끼는 성취감과 희열이다. 아이들에게도 물론 필요할 것이다. 어렵지 않다. 코딩은 교사가 해주면 된다. 아이와 옆에 앉아서 네가 내린 명령은 이렇게 작성하면 되고… 실행하면 이렇게 되는거야~ 실행해보자! 손으로 도화지에 그려온 오브젝트를 스캔해서 이미지로 변환시키고 코드에 넣는 활동이 바로 교사가 해야 할 역할이고, 보조교사가 도와야 할 부분이 아닌가 생각한다. 이런 활동 속에 스스로 해보고 싶은 아이들이 탄생할 것이고, 소양을 키워나가는 것은 그들의 몫으로 남겨두는 것은 어떨까?
우리 반에서 아이들과 시도해 본 것들에 대한 시행착오와 나름의 시도를 개선해 나가고 있지만, 항상 어려움에 부딪히는 것들이 저런 사고와 글쓰기 부분이고, 이런 활동이 선행되지 않으면 프로그래밍이라는 것이 그저 새로운 경험과 놀이 정도로 끝나게 되어 안타까움을 느끼고 있다.
(가르치는 사람이 컴맹이라 그런 것일지도 모르겠다… ㅠㅠ;;)

Profile
맥노턴
레벨 30
569287/686490
81%
McNorton & Education Lab.
Director
작성자의 다른 글
댓글
0
댓글 쓰기
권한이 없습니다.
번호 제목 날짜 조회 수
22 정보활용교육 학급홈페이지를 만들어야 할까요? 22.04.05 171
21 정보활용교육 프레젠테이션을 성공적으로 '망치기' 위한 10가지 비법 22.04.05 156
20 정보활용교육 소프트웨어교육? 코딩교육? 컴퓨터사이언스교육? 22.04.05 95
19 정보활용교육 DOS 프로그래밍 이야기 22.04.05 135
정보활용교육 컴퓨터프로그래밍교육과 언어(외국어)의 벽, 사고와 글쓰기 22.04.05 86
17 1.생각 한국형 저작도구들은 어디로? 22.04.05 90
16 1.생각 교실 수업과 디지털 과잉 22.04.05 70
15 정보활용교육 교육적으로 활용 가능한 모바일 디바이스 22.04.05 80
14 정보활용교육 전자책으로 독서하기 - 도서구입 22.04.05 88
13 정보활용교육 전자책으로 독서하기 - 준비단계 22.04.05 67
12 정보활용교육 교육용 프로그래밍 언어/도구 소개 22.04.05 80
11 정보활용교육 개러지밴드, 범용소프트웨어의 교육적 활용 22.04.05 76
10 1.생각 공부의 과정으로서 컴퓨터 프로그래밍이란 22.04.05 72
9 1.생각 프로그래밍이라 하지 않으면 더 재미있는 것. 22.04.05 85
8 3.도구 게임 제작과 KODU 프로젝트 22.04.05 92
7 3.도구 모바일 디바이스들의 센서 22.04.05 88
6 1.생각 전자책의 등장과 e-교과서의 실패 22.04.05 80
5 3.도구 [엑셀] 평가결과처리 및 분포그래프 2.2 (4) 12.05.14 23388
4 3.도구 비어있는 화면보다 데스크탑 시계를... 12.04.24 19162
3 3.도구 스포어(EA) 크리처 창조기 + 미술작품 만들기 11.08.01 21733

로그인

아이디
비밀번호
ID/PW 찾기
아직 회원이 아니신가요? 회원가입 하기