교과 내용 활용한 프로그램 제작으로 ‘복습’과 ‘프로그래밍’ 일석이조

서울대 컴퓨터공학과 김지훈 (송정서초-대전자운중-한민고, 2017 수시 일반전형)

[베리타스알파=권수진 기자] ‘프로그래머’라는 확고한 진로를 모든 교내 활동에 녹여낸 김지훈(20)군은 서울대 수시 일반전형을 통해 컴퓨터공학과에 진학했다. 김군의 고교 생활은 프로그래밍을 중심으로 이뤄져 있다. 대회나 수업활동뿐만 아니라 동아리를 비롯한 개별 활동까지 ‘프로그래밍’과 연결돼 있을 정도다. ‘프로그래밍에 몰두하면 학업에 소홀하지는 않을까’ 하는 우려는 없었다. 교과 내용을 담은 소프트웨어를 제작하는 방식으로 ‘학업’과 ‘프로그래밍’ 두 마리 토끼를 모두 잡을 수 있었기 때문이다.

분야별 대회나 자율동아리 등 희망 진로와 관련한 다양한 교내 활동을 할 수 있었던 건 모교 한민고의 탄탄한 학습지원체제 덕분이었다. ‘한울타리’ 프로그램을 통해 자율적으로 스터디를 운영하면서 프로그래밍을 접목한 공부법을 매주 활용할 수 있었다. 시뮬레이션 프로그램을 제작해 물리 생명과학 등 다양한 교과학습에 도움이 될 수 있게 친구들과 공유하기도 했다.

<관심과 열정이 만든 학교생활 프로그래밍>
김군의 자소서와 학생부는 모두 ‘프로그래밍’에서 비롯되고 귀결된다. 의도한 전략이었다기보다는 실제 프로그래밍에 꾸준히 가져온 관심과 열정이 저절로 반영된 것이다. 어릴 때부터 종이접기, 그림그리기 등 창작 활동을 좋아했다는 김군. 창작에 대해 갖고 있던 흥미는 중학교에 입학할 즈음 처음 접한 프로그래밍에 빠져들게 만들었다. 기초적인 수준부터 차근차근 찾아보는 방식으로 천천히 조금씩 실력을 키워갔다. “인디게임을 만들어 올리는 사이트가 있었는데 그걸 보고 ‘나도 한번 만들어 보고 싶다’는 생각이 들면서부터 시작하게 됐다. 처음부터 마음을 먹고 시작했다기보다는 흥미를 느끼면서 조금씩 더 알아보는 식으로 입문하게 됐다.”

고교 진학 후에도 프로그래밍을 손에서 놓고 싶지 않았다. 학업과 병행하기 위해서 어떻게 해야 할지 고민 끝에 수업시간에 배운 내용을 토대로 프로그램을 만들기로 했다. 교과 내용도 복습하고 프로그래밍도 익힐 수 있는 일석이조의 효과가 따라왔다. 수업 시간에 분자구조의 형성 원리를 배웠다면, 다양한 분자들이 실제로 어떤 구조를 가지는지 시각적으로 보여주는 프로그램을 만들어 보는 식이었다. 누가 시킨 일도 아니었지만 각종 교과 문제를 해결하는데 시뮬레이션 프로그램을 만들어 활용하면서 복습 효과는 높이고 프로그래밍 실력을 더욱 키울 수 있었다.

공부 중에 의문이 생기면 프로그래밍을 활용해 해결하면서 저절로 물리, 생명과학 등 다양한 과목과 연계할 수 있었다. 교내 ‘허생전 창의융합대회’ 참가는 프로그램에 좀더 무게를 둔 경우였다. ‘허생전’을 여러 교과의 시각으로 재해석하는 대회에서 물리 원리를 활용한 프로그램을 제작했다. 허생 일행이 배를 타는 상황에 대해 분석하기 위해 부력과 관련한 시뮬레이션 프로그램을 만든 것이다. 아직 부력에 대해서 제대로 배우지 않았음에도 독학으로 원리를 공부한 뒤 완성했다. 이때 부력 개념을 미리 이해해 둔 덕에 2학년 진학 후 물리를 배울 때 큰 도움이 됐다. 부력 개념을 이해하기 어려워하는 친구들을 위해 관련 시뮬레이션 프로그램을 만들어 이해를 돕기도 했다.

김군의 프로그래밍 공부는 오로지 독학으로 이뤄졌다. 정보 교과가 3학년 때 있긴 했지만 수능에 전념할 시기이기도 했고, 프로그래밍에 직접적으로 활용할 정도로 배우는 수준은 아니었기 때문이다. 주로 인터넷 검색을 많이 하고 가끔 책도 참고하면서 프로그래밍 실력을 키웠다. “중3 때쯤 기초적인 지식들은 충분히 습득해놓은 것 같다. 고교시절엔 실제로 만들어보면서 실력을 쌓아나갔다.”

<서로 멘토가 되어주는 한민고 특색 수업 ‘한울타리’>
김군이 프로그래밍 역량을 마음껏 활용할 수 있었던 건 한민고의 ‘한울타리’ 프로그램에서였다. ‘한울타리’는 학생 5~6명이 한 팀을 이뤄 서로 멘토/멘티가 되어주는 활동이다. 학습에서 겪는 어려움을 다양한 방식으로 함께 도와주며 풀어간다는 의미를 가진 한민고의 특색 프로그램이다. 한울타리 프로그램은 방과후 수업이 아닌 일과 중 시간표 상에 들어간 정규 프로그램이다. 일주일에 한 번씩 한울타리 수업시간에 모여 스터디 모임을 하는 방식이다. 시간만 정해져 있을 뿐 프로그램 내용은 모두 학생의 자율로 이뤄진다. 조 편성, 과목 선정, 공부 방식 모두 학생들의 토의를 통해 결정된다.

김군은 한울타리 시간에 친구들과 함께 물리 과목을 학습했다. 각자 한 주 동안 공부하면서 나누고 싶은 문제를 가져와 함께 풀어보기도 하고, 각자 창의적인 풀이 방법을 공유하는 방식이었다. 김군이 문제 해결을 위해 사용한 방법은 역시 ‘프로그래밍’이었다. 각 문제에서 주어지는 상황에 대해 시뮬레이션 프로그램을 만들어 친구들 앞에서 발표한 것이다. 정지된 그림으로 문제를 접하는 것보다 훨씬 생동감있어 문제를 쉽게 해석할 수 있었다. 프로그래밍을 이용해 공부한다는 방식의 독창성을 인정받아 교내 학습법 프로그램 공모 대회에서 은상을 수상하기도 했다.

김군은 한민고에서 각종 교내대회, 과학영재반, 자율동아리 등을 통해 프로그래밍과 관련된 교내활동을 다양하게 접할 수 있었다는 점이 가장 좋았다고 말한다. 과학영재반에서는 1년동안 각자 자율적으로 연구활동을 진행한 후 연말에 ‘한민학술제’를 통해 결과물을 발표하는 활동을 했다.

김군은 생명과학을 인공지능과 연계해 연구했다. ‘유전 알고리즘’이라는 프로그래밍 분야 기법에 대해 알고 있던 김군은 생명과학 분야에서 탁월한 친구와 협업해 연구 아이디어를 짰다. 친구가 생명과학적 이론에 따라 프로그램의 방향을 기획하면 김군은 그것을 실제로 프로그램에 구현하는 방식이었다. 이 과정에서 ‘유전 및 진화 엔진’이라는 인공지능을 만들어 환경 조건을 입력하면 가상의 식물 개체가 유전/진화의 과정을 거치는 모습을 분석했다. 작게나마 인공지능 프로그램을 스스로 만들어볼 수 있었던 기회였다.

<‘프로그래밍’으로 귀결된 자소서>
김군은 자소서 모든 문항에 ‘프로그래밍을 통해 의미 있는 결과물을 스스로 만들어냈다’는 점을 강조했다. 일반고 출신이기 때문에 수준의 전문성을 어필하기에는 부족하다고 판단했다. 그보다는 지원 학과에 대한 열정과 의지를 보여주는 편이 더 효과적이라고 생각한 것이다. ‘재학기간 중 학업에 기울인 노력과 학습경험’에 대해 질문한 1번 문항에는 프로그래밍을 활용해 나만이 할 수 있는 형태로 공부해 성과를 거둔 점을 강조했다. “메인 포커스를 학업에 맞추되 그 과정에서 지원학과에 대한 공부와 발전 역시 동시에 이룰 수 있었다는 점을 말하고 싶었다.”

‘고교 재학 중 본인이 의미를 두고 노력한 교내활동’은 컴퓨터공학과와 연관성이 높은 활동을 상세히 소개했다. 지원학과 관련활동을 직접 체험해 깨달은 점을 다뤄, 전공 적합성을 어필한 것이다. 프로그래밍과 다른 교과목을 연관 지어 융합적인 소프트웨어를 만들어 본 경험, 교정을 깨끗이 하자는 공익적 취지로 게임을 만들면서 소프트웨어가 사회 발전에 기여할 수 있다는 깨달음을 얻은 경험 등을 서술했다.

3번 문항은 ‘배려/나눔/협력/갈등 관리 등을 실천한 사례’에 대해서 질문하는 항목이다. 김군은 이 역시 프로그래밍과 연결지었다. 프로그래머로서 사회에 기여할 수 있는 방향을 제시한 것이다. 기숙학교인 만큼 주말마다 교사들이 학생의 위치 현황을 파악하는데 어려움이 있었던 점을 해결하기 위해 교사용 학생 위치 현황 파악 스마트폰 앱을 개발해 교내 소프트웨어 제작 대회에 출품했던 경험을 사례로 들었다. 직접 만든 프로그램이 다른 사람의 삶을 편하게 해줄 수 있다는 보람을 느꼈던 경험으로 제시했다. 친구들의 연구활동을 보조하는 프로그램을 만들어 준 경험도 언급했다. 수학 연구를 하던 친구를 위해 특정 점화식을 빠르게 계산하는 프로그램을 만들어 준 일, 심리학 연구를 하는 친구를 위해 특수 목적의 기록 프로그램을 만들어 준 일 등은 프로그래밍을 통한 보람을 느끼게 해 준 소중한 경험이었다.

김군의 자소서 전반에는 ‘프로그래밍’과 ‘협업’의 키워드가 있었다. 어떤 활동도 혼자서 끝나지 않고 주위 친구와 함께 발전시켜가거나 도움을 주는 식으로 나아간 점을 강조했다. 본인의 학습증진만을 목표로 한 것이 아니라 주위 친구의 학습을 도우면서 결과적으로 스스로도 더욱 발전할 수 있었던 계기가 됐음을 설명한 것이다. 김군은 정보 스터디그룹 ‘정보울타리’를 자발적으로 조직해 친구들에게 기초적인 프로그래밍을 가르쳐 준 경험을 자소서에 썼다. 3학년 정보 과목 때 프로그래밍 수행평가가 출제되자 어려움을 겪는 친구들이 많아 직접 강사가 돼 친구들을 가르쳐 준 것이었다. 기초적인 수업에서 시작해 점차 고난도 문제를 토의하는 데까지 함께 발전했다. “수행평가는 쏟아지는데 시간을 들여 준비하기 곤란한 친구들이 많았다. 내가 조금 도와주면 혼자 하는 것보다는 빨리 할 수 있겠다는 생각이 들었다. 평소에 시간 날 때 틈틈이 친구들을 가르쳐 주는 방식으로 진행한 소그룹 스터디다.”

서울대 자소서의 특징인 4번 문항에서는 3권의 책 모두 컴퓨터공학과 관련된 도서를 골랐다. 김군은 ‘지적 호기심’을 가장 보여주고 싶었다고 말했다. “프로그래밍이라는 취미를 그저 아는 내용을 바탕으로 활용만 하기보다, 보다 깊고 전문적인 분야에도 관심을 가지고 계속해서 스스로 탐구한 내용을 담았다.”

<5등급에서 수직상승..내신 관리의 왕도 ‘성실함’>
김군은 처음부터 성적이 좋았던 편은 아니다. 1학년1학기에 수학/영어 등 주요과목 내신 성적이 5등급이었지만 2학년1학기부터 모두 1,2등급 내로 상승했다. 김군은 특별한 비법이 있었다기보다는 정말 ‘열심히’ 했다고 회상했다. “수학은 기출문제집을 서너 번 반복해 풀었다. 국어, 영어 역시 독해력을 상승 유지시키기 위해서 아무리 짧은 시간이라도 하루에 몇 지문씩은 꾸준히 풀기 위해 노력했다. 특히 영어는 단어 암기도 열심히 했다. 과탐의 경우 고1,2 때까지는 수능 위주 풀이보다는 정확한 개념 학습에 전념하고 고3에 들어서 빠른 문제 풀이를 위해 수능 유형의 모의고사를 매일 반복적으로 풀었다.”

김군은 마지막으로 서울대 일반전형 면접을 준비하는 학생에게 ‘문제를 말로 풀어서 설명하는 연습’을 최대한 해볼 것을 조언했다. 화이트보드 하나 없이 모두 말로만 설명해야 하는 면접방식이 당황스러웠던 경험 때문이다. 단기간에 수학 실력을 향상시키려고 문제풀이만 집중하기보다는 말하는 연습이 더 중요하다는 의미다. 김군은 평소 학교에서 모의면접을 통해 도움을 얻었다고 말했다. 김군은 “면접 문항 자체는 수능 위주의 학습으로 대비하지 못할 수준은 아니다. 하지만 평소에 문제를 말로 풀이하는 것에 대한 꾸준한 연습이 필요하다. 한민고에서는 방과후학습 형태로 선생님들께서 준비해 주셨다. 고난도의 수학 문제를 풀고 설명하는 형식 그대로 여러 차례 연습했다”고 설명했다.

 
본 기사는 교육신문 베리타스알파의 고유 콘텐츠입니다.
일부 게재 시 출처를 밝히거나 링크를 달아주시고 사진 도표 기사전문 게재 시 본사와 협의 바랍니다.
저작권자 © 베리타스알파 무단전재 및 재배포 금지