오종환 강사
연합전공 정보문화학

중세 서양에선 신학이 모든 세상의 원리를 설명하는 기본이 됐으며, 조선 시대엔 유학을 공부하지 않으면 나랏일을 할 수 없었다. 모두가 매일 손바닥에 컴퓨터를 쥐고 다니는 요즘의 시대는 가히 컴퓨터가 지배하는 세상이라 해도 과언이 아니다. 데이터 분석, 인공지능 등 컴퓨터 프로그래밍과 관련한 주제들이 근미래를 이끌어갈 ‘핫한’ 키워드로 떠오르면서 “나도 코딩을 배워야할까?”라는 생각을 하는 비전공자들이 점점 늘고 있다. 취업을 앞둔 학생들도 코딩을 배우는 것이 도움이 될 거란 생각에 책을 사서 혼자 공부를 시작하거나 용기 있게 공대 수업을 등록해보기도 한다.

그러나 평소에 사용하던 앱을 능숙하게 사용하는 것과 그런 앱을 직접 만들어보는 것과의 차이는 마치 음식을 먹는 것과 요리를 하는 것의 차이만큼이나 크다. 그러다보니 막상 첫 발을 떼기도 전에 생소한 용어나 익숙지 않은 개념 때문에 쉽게 좌절하거나, 작은 결과물을 내기도 전에 중도 포기하는 경우가 많다. 초심자가 처음부터 프로그래밍 언어 교재를 들고 읽어나가다 보면 동기부여가 잘 되지 않는다. 인간과 사회를 이해하고 문제를 풀어나가는 접근에만 익숙했었다면, 사람과 발생 원리부터 다른 컴퓨터의 구조와 작동 방식에 적응하기가 쉽지 않다.

나는 대체로 인문사회학 또는 예술 등 다양한 분야의 전공을 가진 학생들을 대상으로 수업에서 코딩을 가르치기에, 여느 공대에 있는 프로그래밍 수업과는 학습 목표가 다르고 과제의 방향도 다르다. 수강을 마친 학생들이 개발자로 일할 수 있도록 하려는 것이 아니다. 오히려 해결하고자 하는 문제나 아이디어는 있지만 표현의 방식이 제한적이었던 학생이 ‘코드’라는 새로운 문제 해결 방식을 이해하고, 커뮤니케이션의 도구로 이를 활용하도록 하는 것이 목표다. 이런 문제 해결 방식이 ‘컴퓨팅적 사고’(computational thinking)이다. 문제를 컴퓨터가 작동하는 방식으로 추상화 할 수 있다면, 개발자와 더욱 풍부한 대화를 할 수 있다. 기획자는 말로 설명하기보다 간단한 코딩을 통해 프로토타이핑을 해서 보여줄 수 있으며, 예술을 하고자 하는 사람은 더 많은 세상과 소통할 수 있는 도구를 갖게 된다. 이런 방침에 따라 매 시간 과제에선 주어진 계산을 수행하는 것에서 벗어나 개개인의 장점과 개성을 살릴 수 있는 기회를 준다. 이런 방식을 도입한 이후 눈에 띄게 긍정적인 피드백을 많이 받았다.

또 한 가지 강조하고 싶은 것은 가벼운 프로젝트를 시작하라는 것이다. 외국어를 배울 때 말이든 글이든 직접 소통하지 않으면 무의미한 것처럼, 실제로 프로젝트를 진행해보지 않으면 잊히고 만다. 그렇다고 해서 간혹 처음부터 진지한 현실 문제를 해결하려는 계획을 세우는 경우가 있는데, 그러면 포기하기 십상이다. 코딩뿐만 아니라 많은 경우에 첫 번째 과업을 성공적으로 수행한 경험이 이후에 큰 영향을 끼치게 된다. 아주 쉬운 것이라도 스스로 고민하고 해결 방법을 찾는 경험은 쉽게 잊히지 않으며, 결과적으로 자기 효능감을 높여준다. 내 수업에선 주제를 정할 때 학생들에게 자유로운 권한을 주지만, 실용적인 뭔가를 만들어 내는 것을 목표로 하기보단 간단한 게임이나 전시 작품을 만들어 보는 것을 권한다. 자기만의 뭔가가 만들어지는 과정을 경험할 수 있기 때문이다. 처음부터 실용성을 고려한 주제를 정하다보면 그와 같거나 훨씬 좋은 것이 이미 세상에 많기 때문에 만족감을 느끼기가 힘들다. ‘소소하지만 확실한’ 프로젝트로 성공 경험을 얻은 후에 그 다음 목표를 세워도 늦지 않다.

최근에는 ‘MOOC’와 같은 훌륭한 온라인 공개 수업이 목적에 따라 개설돼 있으므로 혼자 시작해도 좋고, 오프라인 수업이나 모임이 있다면 더욱 좋다. 아이디어가 있지만 결과물을 만들지 못해 공허한 상상에만 머무는 것은 안타까운 일이다. 코딩은 멋진 표현의 도구며 사고방식이다. 자신에게 맞는 학습 방법을 찾아 많은 사람들이 새로운 기쁨을 맛봤으면 한다.

저작권자 © 대학신문 무단전재 및 재배포 금지