컴퓨터 과학과 프로그래밍을 어떻게 가르쳐야 좋을까요? 코딩 교육 붐이 불면서 이 질문은 더 중요해졌습니다.

지금까지 다양한 교수법이 이어져 왔고 시도되고 있습니다. 피아노 입문자를 질리게 하는 바이엘이나 체르니와 별 다를 바 없는 방법이 있는가 하면, 언플러그 컴퓨팅처럼 통념을 거스르는 방법도 있습니다. 물론 학습자의 배경이 무척 다양하기 때문에 어느 한 방법이 정답이라고 할 수는 없겠죠.

이번에 소개할 책은 대학에서 컴퓨터 과학과 프로그래밍을 처음 공부하는 학생들을 어떻게 가르쳐야 하는지에 대해 한 방법을 제시하는 책입니다. 이 책의 지은이 존 M. 젤(John M. Zelle)은 미국의 리버럴 아트 대학인 워트버그 대학에서 컴퓨터 과학을 가르치는 교수입니다. 존 젤은 C, C++, 자바 등 까다로운 기존 언어보다는 좀 더 쉬운 언어로 컴퓨터 과학과 프로그래밍의 기초를 가르치는 데 관심이 있었다고 합니다. 존 젤은 워트버그 대학에서 1998년부터 교육 과정에 파이썬을 적극적으로 도입하는 데 참여했고 2003년에 이 책의 1판을 집필한 이후로 자신의 수업에 이 책을 활용하고 있습니다. 지은이의 실제 수업 경험이 잘 반영된 이 책에는 몇 가지 특징이 있는데요. 옮긴이의 글에서 인용해 보겠습니다.

이 책의 가장 큰 장점은 불필요한 개념 설명에 지면을 낭비하지 않는다는 점입니다. … 가장 인상적이었던 부분은 객체 지향을 도입하는 부분이었는데, 개념 설명은 최소한으로 줄이면서 기존 코드에 개념을 적용해 나가는 과정을 통해 객체 지향을 도입하는 방식이 무척 새로운 느낌을 주었습니다(적어도 자동차에 대한 구닥다리 비유를 보지 않아도 된다는 점에서도요).

가르치는 사람이 아무리 열의에 차 있어도 배우는 사람이 한 번에 소화할 수 있는 내용에는 한계가 있죠. 그래서 이 책은 쉬운 내용부터 차근차근, 이전에 배운 내용을 바탕으로 다음 내용으로 나아갈 수 있도록 구성되어 있습니다.

또 단순히 눈으로 이해하고 그치는 게 아니라 다양한 연습 문제를 통해 컴퓨터 과학의 개념과 프로그래밍의 기본기를 익힐 수 있도록 안내하고 있는데요. 이론적이고 학문적인 문제보다는 실생활에 맞닿아 있는 연습 문제를 통해 컴퓨터 과학과 프로그래밍이 해결하려는 문제가 어렵고 따분하기만 한 것이 아님을 보여 주고 있습니다.

이런 지은이의 의도에 공감했는지 파이썬 창시자 귀도 판 로섬이 다음과 같은 추천사를 써 주었습니다.

출판사로부터 이 책의 원고를 받아들자마자 바로 알 수 있었다. 이 책은 파이썬 교재로 가장하고 있기는 하지만, 실은 초보자가 접근하기 위한 매개로 파이썬을 잘 이용한 프로그래밍 입문서였다. 미술 시간에 바로 유화를 배우는 게 아니라 연필로 스케치부터 시작하듯이 이 책은 프로그래밍을 배우는 첫 번째 언어로서 내가 생각하던 가장 바람직한 파이썬 활용 사례다.

컴퓨터 과학이 어떤 학문인지, 프로그래밍이 어떤 문제들을 해결할 수 있는지 맛보고 싶은 독자들에게 권해 드립니다. 다음 인터넷 서점에서 예약 주문하실 수 있습니다.

[교보문고] [반디앤루니스] [알라딘] [인터파크] [예스24]

정오표