만져보는 프로그래밍

카테고리
컴퓨터
접근성
교육
작성일
Jan 24, 2023 02:36 AM
차례
이 글은 “고려대와 함께 하는 모두의 SW·AI 캠프”의 후기입니다.
이 글은 “고려대와 함께 하는 모두의 SW·AI 캠프”의 후기입니다.
대시 로봇을 만져보면서 구조를 살피는 시각장애 학생대시 로봇을 만져보면서 구조를 살피는 시각장애 학생
대시 로봇을 만져보면서 구조를 살피는 시각장애 학생

가슴이 뛰었던 Ok

6학년 때 작은 댁에서 사촌 형이 컴퓨터를 처음 보여주었다. 파란 화면에 흰색 글자, 그리고 내가 뭔가 하기를 가디려주는 것처럼 생간 하얀색 네모.
형은 친절하게 내 손을 키보드로 이끌어 color 8을 함께 입력해 주었고, 이어서 RETURN 키를 누르라 했다. 그 순간 화면의 모든 글자들이 마치 체리처럼 빨갛게 변했다. 다시 color 15를 입력하고 RETURN키를 누르니 글자는 원래의 흰색으로 돌아와 있었다. 그게 내가 처음으로 컴퓨터에게 내린 명령이었다. 그 명령이
MSXMSX
MSX
에서 실행되는
BASICBASIC
BASIC
언어라는 걸 알았던 건 그 후 1년 뒤 어려운 형편인 걸 알면서도 떼를 써가며 조른 끝에 첫 번째 컴퓨터를 만나면서부터다.
 MSX-BASIC 화면에서 명령을 입력하는 모습 MSX-BASIC 화면에서 명령을 입력하는 모습
MSX-BASIC 화면에서 명령을 입력하는 모습
지금도 MSX 화면에 떠 있는 Ok 프롬프트를 보면 그 때의 가슴 떨리던 설렘이 되살아난다. 아마도 그게 지금까지 내가 컴퓨터를 좋아하고 학생들에게 컴퓨터를 가르쳐 온 동력이 아니었을까? 좋은 건 함께 해야 더 좋으니까.

빛바랜 기억에서 돌아온 ‘SW 교육’… 그러나 접근성은?

컴퓨터 학원에서 BASIC을 배우는 학생들. 출처: 과학동아 디라이브러리컴퓨터 학원에서 BASIC을 배우는 학생들. 출처: 과학동아 디라이브러리
컴퓨터 학원에서 BASIC을 배우는 학생들. 출처: 과학동아 디라이브러리
어느 순간 아이들은, 학생들은, 그리고 우리들은 컴퓨터를 봐도 별다른 감흥이 들지 않게 되었다. 8비트 컴퓨터의 수천 배에 달하는 연산 능력을 가진 스마트폰을 들고 다니며, 언제 어디서나 연결된 네트워크를 타고 흐르는 수십 메가 짜리 콘텐츠를 아무렇지 않게 소비하는 우리들에게 과연 프로그래밍은 개발자들의 전유물이 된지 오래다. 80년대 컴퓨터 학원에서 반드시 배워야 했던 BASIC 언어는 어른들의 기억 속에 그렇게 빛바랜 추억으로 잊혀 갔다.
21세기가 시작된 지 10년이 조금 넘은 시점에 사람들은 다시 ‘코딩 교육’에 집중, 아니, 열광하기 시작했다. SW 교육은 이미 세상을 바꾸었다 말하기도 하고, 미래 사회를 제대로 살아가려면 디지털 문맹에서 벗어나야 하며 그러려면 교육 시스템에 SW와 AI 교육을 좀 더 체계적으로 녹여 내야 한다는 말도 들린다. 굳이 선진국의 예를 들지 않더라도 매년 열리는 ‘대한민국 교육 박람회’에는 일찌감치 코딩 로봇이 등장하고 국어와 수학을 공부하듯 SW와 AI도 공부해야 한다고 역설하는 분위기다.
학생들을 가르치는 나도 당연히 이러한 흐름에 동참하기 위해 애써보았다. SW·AI 교육을 현행과 같은 교육 과정으로 해야 하느냐에 대한 문제는 차치하고, SW 교육이 공교육에 들어온 이상 시각장애 학생이 교육 기회에서 소외될 수는 없기 때문이다.
그렇지만 대부분의 코딩 교육 환경은
Scratch
Scratch
EntryEntry
Entry
처럼 마우스로 조작하는 블록 코딩으로 구현되어 있었고, 코딩 로봇 제조사들은 중증 저시력 학생이나 전맹 학생들이 아예 접근조차 해볼 수 없는 웹 환경 기반의 코딩 환경을 들고 우후죽순처럼 나타나기에 바빴다. 아무리 재밌고 훌륭한 코딩 로봇과 교재가 있더라도 학생들이 직접 코딩을 해볼 수 없다면 그림의 떡이나 마찬가지이다.
하는 수 없이 중학교 수업 시간의 교육 과정을 수정하여
PythonPython
Python
햄스터햄스터
햄스터
코딩 로봇을 도입하고 학생들에게 코딩의 설렘을 전해주려 했지만 여의치 않았다. 영어라서 불편하고, 글자 하나, 기호 하나 잘못 입력하면 아예 실행조차 되지 않는 코딩 환경은 학생들에게 너무 가혹했다. 설렘은 커녕 코딩 환경의 장벽 때문에 프로그래밍이 재미 없다 말하는 학생을 만났을 때, 자괴감이 밀려드는 건 어쩔 수 없었다.
그래도 교사는 가만히 있을 수 없다. 맡겨진 학생들에게 조금이라도 재미 있는 코딩 경험을 안겨 주고 싶어서 학교에서 거액의 예산을 받아
Code JumperCode Jumper
Code Jumper
를 도입하게 되었고 4주 만에 학생들은 주어진 과제를 스스로 실행할 수 있게 되었다. 그렇지만 Code Jumper는 블록 부품을 연결해서 굉장히 제한된 종류의 소리만 제생할 수 있는 ‘교육을 위한’ 도구였다. 학생들이 스스로 로봇을 역동적으로 움직이면서 녀석들의 가슴을 진짜로 뛰게 할 수는 없는 것일까?

만져보면서 코딩을 한다고?

시각장애 학생들의 접근성을 고려한 블록 코딩 환경 “모두의 블록”. 고려대학교에서 한글로 포팅.시각장애 학생들의 접근성을 고려한 블록 코딩 환경 “모두의 블록”. 고려대학교에서 한글로 포팅.
시각장애 학생들의 접근성을 고려한 블록 코딩 환경 “모두의 블록”. 고려대학교에서 한글로 포팅.
그렇게 좌충우돌하고 있을 무렵 고려대학교 김자미 교수님께서 연락을 주셨고 시각장애 학생을 위한 코딩 캠프를 진행해 보자고 제안하셨다. 처음에는 그저 어딘가에서 예산을 받아 와서 전시성으로 진행하는 설익은 프로젝트 쯤으로 생각했다. 그도 그럴 것이 이따금 시각장애인의 필요와 특성을 전혀 고려하지 않은 장치를 가져와서 시각장애인을 위한 보조공학기기라 말하며 자문을 의뢰하는 사람도 있고, 장문의 설문지로 시각장애 학생들의 특정 분야를 연구하고자 하는 이들도 꽤 많이 연락을 해오기 때문이었다.
“고려대와 함께 하는 모두의 SW·AI 캠프 -만져보는 프로그래밍-” 프로그램의 일부. 이번에는 진짜가 나타났다!“고려대와 함께 하는 모두의 SW·AI 캠프 -만져보는 프로그래밍-” 프로그램의 일부. 이번에는 진짜가 나타났다!
“고려대와 함께 하는 모두의 SW·AI 캠프 -만져보는 프로그래밍-” 프로그램의 일부. 이번에는 진짜가 나타났다!
그러나 이번에는 달랐다. 교수님 문하에서 박사과정에 임하시는 김성희 선생님이 보내 주신 교육과정을 보고는 그저 놀라웠다. 제목이 무려 “만져보는 프로그래밍”으로, 테블릿 PC를 이용해서 VoiceOver로 블록 코딩을 진행하고, 이를 기반으로 움직이는 ‘대시’라는 코딩 로봇을 활용한 교육이었다. 이번에는 진짜가 나타났다!
학교에서 일정과 장소 사용을 허락 받고 고려대학교 김자미 교수님과 박사과정 선생님들의 열정적인 지원으로 드디어 Jan 18, 2023부터 Jan 20, 2023까지 “고려대와 함께 하는 모두의 SW·AI 캠프 -만져보는 프로그래밍-”이 진행되었다.
처음 대시 로봇을 대하는 학생들은 굉장히 신기해했다. 특히 초등학생들은 로봇에 대한 관심이 남달라서 선배들보다 일찍 컴퓨터실에 와서 로봇을 만져보고 좋아했다. 중학교와 고등학교 학생들도 새로운 코딩 경험이 신기했는지 굉장히 몰입하면서 캠프에 푸욱 빠졌다.
물론 처음부터 학생들이 수월하게 프로그래밍을 진행한 것은 아니었다. VoiceOver를 사용해서 블록 코딩을 한다는 개념을 익혀야 했고, 고려대에서 한글로 이식한 ‘모두의 코딩’이라는 앱 사용법도 공부해야 했다. 마우스만 쓱쓱 움직이면 순식간에 십 수개의 블록을 배치할 수 있는 비시각장애 학생들은 도저히 상상할 수 없는 고된 환경이었다. 실제로 저학년 학생들은 코딩 환경을 익히는 데에 어려움이 있었고 코딩 로봇에만 관심을 두려 했다. 속으로 ‘그러면 그렇지’를 되뇌이며, 공연한 짓을 해서 학생들에게 또하나의 장벽만 실감하게 해준 꼴이 아닌가 싶어 걱정 속에 첫날 오전 일정을 마무리했다.

부딪히고, 돌아가고, 다시 하고

아이패드에서 직접 프로그래밍한 대시 로봇을 전진시켜 도미노 블록을 쓰러뜨리는 학생들. 결과는? 스트~~롸이크!! 🎳 
학생들은 그렇게 자신들 앞에 있는 문제를 주저하지 않고 돌파한다.아이패드에서 직접 프로그래밍한 대시 로봇을 전진시켜 도미노 블록을 쓰러뜨리는 학생들. 결과는? 스트~~롸이크!! 🎳 
학생들은 그렇게 자신들 앞에 있는 문제를 주저하지 않고 돌파한다.
아이패드에서 직접 프로그래밍한 대시 로봇을 전진시켜 도미노 블록을 쓰러뜨리는 학생들. 결과는? 스트~~롸이크!! 🎳  학생들은 그렇게 자신들 앞에 있는 문제를 주저하지 않고 돌파한다.
그런데 나는 어느새 잊고 있었다. 우리 학생들이 적어도 십 년 이상 자신의 시각장애와 적응하며 함께 살아 왔다는 것을. (장애는 ‘극복’하는 게 아니다. 그럴 수 없다. 다만 적응하며 함께 살아내는 것이다.) 주어진 상황에 최선을 다해서 부딪히고 해결책을 찾으며 적응해 온 녀석들은 이번에도 다르지 않았다. 단지 그들이 처음에 힘들어했던 건 낯설어서였다. 누구보다 학생들을 잘 알고 있다고 생각했던 것은 나의 큰 오만이었다.
점심을 먹고 에너지를 회복한 녀석들은 열심히 “모두의 블록” 코딩 환경을 이리 저리 만져보았고, 첫날 일정이 끝나갈 무렵 스스로 코드 블록을 이리저리 배치하기 시작했다. 블록의 세부 정보(parameter)를 설정하여 로봇의 동작 범위를 정교하게 지정하는 학생들도 여럿 있었다.
이튿날에는 주어진 미션을 풀기 위해 로봇에게 전진, 후진, 좌회전, 우회전, 돌기 등의 기본 동작을 지시하는 블록을 배치할 수 있을 만큼 학생들은 실력이 늘어 있었다. 앞에 놓인 도미노 블록을 향해 거침없이 질주하는 로봇은 마치 핀을 향해 달려가는 볼링공 같았다. 🎳 
아이패드로 블록 코딩하여 로봇을 움직이는 학생들. 종이로 표시된 영역 안에 있는 쓰레기(?) 치우기 미션 수행 중.
종이로 둘러싼 영역 안에 있는 쓰레기(?)들을 영역 밖으로 밀어내는 ‘로봇 청소기’미션과 로봇에게 과자를 붙이고 다른 학생들에게 간식을 배달하는 “배달의 민족” 미션은 특히 인기가 있었다. 학생들이 집중력을 잃고 힘들어할 때 기발한 아이디어를 들고 와서 끝까지 학생들 곁에 있어 준 고려대 선생님들의 노력이 빛을 발하는 순간이었다.
대시 로봇의 근접 센서를 이용하여 벽으로 둘러쌓인 방 탈출을 시도하는 학생들.대시 로봇의 근접 센서를 이용하여 벽으로 둘러쌓인 방 탈출을 시도하는 학생들.
대시 로봇의 근접 센서를 이용하여 벽으로 둘러쌓인 방 탈출을 시도하는 학생들.
사흘째 되는 날 학생들은 코딩의 진수인 ‘판단 기능’을 적용해 보았다. 앞에 있는 물체를 감지하면 반응하는 근접 센서에 따라 학생들은 로봇 경로를 바꾸도록 프로그램했다. 이는 자율주행 자동차의 가장 기초적인 개념이었다. 이미 블록 코딩 환경에 익숙해진 학생들은 주어진 미션을 거침 없이 수행했다. 아, 물론 대부분의 로봇들은 벽을 통째로 들이 받기도 하고, 급발진하여 벽을 완전히 무너뜨려 버리는 묘기(?)를 보이기도 했다. (이런 사고(?)를 미리 예견한 고려대 선생님들은 다이소 방석(!)을 벽으로 쓰는 치밀함까지 보여주셨다.) 그렇게 한땀한땀 블록을 조립하고 여러 번의 시행 착오를 겪은 끝에 학생들이 조종하는 로봇은 마법 같이 벽을 피해 움직이다가 끝내는 출구를 찾아 냈다.

지금, 가슴이 뛰고 있는 그들

텍스트 코딩 환경에서  으로 ‘판단’ 기능을 실험해 보는 중고등학생들.텍스트 코딩 환경에서  으로 ‘판단’ 기능을 실험해 보는 중고등학생들.
텍스트 코딩 환경에서
PythonPython
Python
으로 ‘판단’ 기능을 실험해 보는 중고등학생들.
사흘 동안의 일정은 쏜살 같이 지나갔다. 캠프가 끝날 때까지 로봇을 놓지 못하던 저학년 학생들도, 가장 멀리까지 간식을 배달했다며 환호를 주고 받던 고학년 학생들도, 영어와 문법의 장벽을 뛰어넘어 주어진 미션을 텍스트 코딩으로 써내려간 중고등학생들도, 캠프의 끝을 아쉬워하고 있었다.
처음에는 과연 우리 학생들이 이용 가능한 코딩 환경을 고려대 측에서 제공할 수 있을지 반신반의했고, 코딩 경험이 전혀 없던 초등학생부터 정보 교과 수업으로 코딩을 접해본 중고등학생까지 폭넓은 학생층을 고려대 선생님들이 어떻게 지도하실지도 걱정이었다. 무엇보다 시각장애 학생들의 특성을 얼마나 잘 알고, 학생들이 불편해하는 부분을 잘 찾아서 과하지 않게—사실 이건 굉장히 어려운데, 처음 시각장애인을 대하는 비시각장애인은 다분히 시혜적인 태도를 보이는 경우가 굉장히 많다— 도와줄 수 있을지도 염려되었다. 하지만 이 모든 것은 나의 기우에 불과했다.
선생님들께 학생 개개인 별 코딩 경험과 주로 사용하는 학습 매체(점자나 확대 문자), 식사 지도시 유의 사항을 미리 전달해 드렸는데 이에 맞게 준비해 오셨고, 식사가 불편한 학생에게는 여러 가지 방법으로 지원해 주셨으며, 밥을 천천히 먹는 학생이 끝까지 식사를 마칠 수 있도록 곁에서 기다려주셨다. 평소 시각장애 학생들이 새로운 물건을 어떻게 탐색하는지, 탐색 활동 중 신경 써야 하는 안전 사항이 무엇인지 등등 따로 말씀드릴 필요가 없을 만큼 사전 준비를 철저히 하시고 학생들을 세심하게 배려해주신 덕에 사흘 동안의 일정은 무사히 잘 진행되었다.
사실 일주일에 한 두 시간씩 짧게 프로그래밍을 공부하던 학생들이, 코딩에 푸욱 빠져서 3일을 보낸 건 이번이 처음이었으리라. 개학하고 학교로 돌아온 그들은 어쩌면 코딩에 대한 그때의 열정이 사그라들었을 지도 모른다. 그래도 괜찮다. 사흘 동안 함께 했던 우리의 기억은 무엇과도 바꿀 수 없는 소중한 경험이었을 테니까.
학생들은 지금, 가슴 뛰는 설렘을 간직하고 컴퓨터실을 나섰을까? 녀석들이 설레하던 그 마음 속에, 내 가슴을 뛰게 했던 그 Ok가 전달되었을까?
그들의 가슴을 뛰게 하고 설레게 하는 그 무언가를 녀석들이 꼭 찾았으면 좋겠다.
35년 전 어느 날, 파란 화면 위에 반짝이며 나를 설레게 했던 Ok와 하얀 커서처럼, 캠프와 함께 한 기억들이 먼 훗날 녀석들의 추억 속에 그런 설렘으로 남아 있었으면 좋겠다.
꼭, 그랬으면 좋겠다.
 
📨
어려운 여건 속에서도 캠프를 기획해주시고 학생들이 새롭고 흥미로운 경험을 할 수 있게 도와주신 고려대학교 김자미 교수님께 깊은 감사의 말씀을 전합니다.
아울러 캠프 운영의 주축을 맡으셨고 저와 지속적인 소통을 통해 캠프가 원활하게 진행될 수 있도록 끝까지 함께 해 주신 김성희 선생님과, 학생들이 불편하지 않도록 이동과 식사 지도 등을 함께 챙겨주시고 캠프 내용을 학생들이 쉽게 이해하고 따라할 수 있도록 수고와 노력을 아끼지 않으신 김예슬, 김용천, 김재홍, 안은봉, 양혜지 선생님께도 감사드립니다.