필요한 만큼 차근차근 재미있게 배우는 『파이썬으로 시작하는 컴퓨터 과학 입문』

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

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

컴퓨터 과학 입문_앞표지

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

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

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

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

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

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

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

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

코딩 인터뷰 완전 분석: 189가지 프로그래밍 문제와 해법

목이 바짝바짝 말라 와 물을 한 모금 더 마십니다. 몇 모금 마시지 않았는데 생수통은 벌써 바닥을 드러냈습니다. 화장실을 다녀와도 될까 고민하는 사이 면접실 문이 열립니다.

“17번 아무개 씨 들어오세요.”

네 하는 몽키

식은땀이 주르륵 한번 더 흘러 내리고 눈앞이 캄캄해집니다. ‘무언가’를 하느라 바쁘게 지냈는데, 지금 이 순간 준비된 게 하나도 없다는 생각이 듭니다.

면접을 위해서 도대체 무엇을 어떻게 준비했어야 하는 걸까요?

 

면접의 기본은 실력

 

nik-macmillan-280300
Nik MacMillan

 

이직에 성공하기 위해서 가장 중요한 것은 물론 실력입니다. 학교나 회사 외적으로 프로젝트를 진행하고 다양한 프로그래밍 언어를 공부하고 인맥을 확대하는 등 이력을 만들고, 실력을 쌓는 준비부터 시작해야 합니다. 하지만 실력이 출중하다고 면접을 꼭 잘 보는 것만도 아닙니다.

무의식적인 손짓 하나하나도 의미를 담고 평가하려고 쳐다보는 낯선 사람들 앞에서 자신의 지식을 입 밖으로 꺼내 조리 있게 설명하기란 여간 어려운 일이 아닙니다. 어쩌면 이전에는 한번도 시도해 보지 않았던 화이트보드 위에 코딩을 해야 하기도 합니다.

StockSnap_XNKIHJBIQD
Breather

1년, 혹은 그보다 훨씬 많은 기간을 노력하면서 실력을 쌓았지만 사소한 준비가 덜 되어 면접을 망친다면 자신이 가지고 있는 실력이 과소평가되어 원하는 회사에 들어가지 못할 수도, 실력보다 낮은 연봉을 받을 수도 있습니다. 실력을 쌓기 위해 연습이 필요하듯 면접을 잘 보기 위해서도 연습이 필요합니다.

 

코딩 실력과 면접 스킬을 동시에 준비할 수 있는 방법!

 

코딩 인터뷰 완전 분석 표지

코딩 인터뷰 완전 분석에서는 189가지 프로그래밍 면접 문제를 제시하고 문제 풀이 과정을 단계별로 차근차근 보여줍니다. 면접의 기본인 실력을 쌓기 위해 이직 준비를 1년 이상 남긴 시점에서부터 면접 준비를 위한 가이드를 시작합니다. 알고리즘 문제를 푸는 다섯 가지 전략을 제시해서 연습하기 때문에 새로운 문제가 출제되어도 스스로 해결하는 힘을 기를 수 있습니다.

 

이전 판보다 나아진 점

이전 판에 비해 페이지가 대폭 늘었습니다. 새로운 문제가 추가되었고, 설명도 더 알차졌습니다. 기술 외적인 내용이나 면접관과 회사를 위한 팁도 추가되었습니다. 좋아진 점이 많지만 가장 알리고 싶은 특징 하나를 자세히 살펴보겠습니다.

그것은 바로! 문제마다 주어지는 힌트입니다.

분명 풀어 봤던 문제인데, 그때는 알았는데 또 모르겠는 경우를 많이 겪어 봤을 것입니다. 해결책은 누구나 압니다. 문제를 스스로 풀어 봐야 하는 것이지요. 하지만 아무리 고민해도 답은 안 나오고, 못 풀고 넘어갈 순 없으니 답을 보게 됩니다. 풀어야 할지 모르겠어서 답을 보면 그 문제는 결국 다시 내것이 아니게 되고, 비슷한 문제를 또 모르겠는 경험을 많이 해 보셨을 겁니다.

이 책에서는 ‘스스로 문제를 풀 수 있게 유도’하는 것과 ‘어쨌건 모르니까 답을 봐야 하는 상황’을 해결하는 방법으로 점진적으로 힌트를 제시하는 것을 택했습니다.

힌트에 빨간 문제

 

문제가 어렵다면 힌트를 하나씩 찾아보세요.

힌트 모음

이 방법은 면접의 상황과도 유사합니다. 지원자가 문제에 어려움을 느끼고 있다고 판단하면 면접관은 간단한 힌트를 제공합니다. 힌트는 무작위 순서로 배치하여 하나의 힌트만 보고 싶은데 실수로 끝까지 읽게 되는 경우를 방지했습니다.

 

이 책은 다음 서점에서 구입하실 수 있습니다.

Yes24 | 알라딘 | 인터파크 | 교보문고

 

 

이 책의 목차

페이지 살린 목차