프로그래밍이 뭔가 돌아보게 해주는
MIT의 컴퓨터과학 입문교과서 / 프로그래머를 기르는 마법서(Wizard Book)
마법사 책(Wizard Book)이라는 별명으로도 유명한 이 책은 독특하기로 소문난, MIT 컴퓨터 과학 입문 교과 과정에서 쓰는 교과서로, 프로그래밍 언어 문법이 아닌 프로그램의 뼈대를 구성하는 기술을 익히게 해준다. 흔한 프로그래밍 입문서와 달리, 난해하다는 평을 듣는 LISP에서 갈라져 나온 Scheme을 활용하며, 요약(abstraction)과 조립식 설계(modularity)에 따라 복잡한 프로그램을 간단하게 짜는 전략을 보여준다. 그 뿐 아니라, 상태(state)가 있는 물체, 덮어쓰기(assignment), 병행 프로그래밍, 함수 프로그래밍, 제때 계산법(lazy evaluation), 비결정적 프로그래밍(non-deterministic programming) 등 다양한 프로그래밍 이슈를 살펴보며 한걸음씩 프로그램을 설계하고 짜 맞추고 살펴보고 고쳐 쓰면서, '과연 프로그래밍이란 무엇인가' 돌이켜 보게 하고, 생각하는 방식과 그 생각을 표현하는 방식을 가르쳐 준다.
이 책에 담긴 교과 과정은 한때 세계 300여개 대학에서 사용되었으며, 지금도 국내의 서울대와 카이스트를 포함해 세계 100여개 이름난 대학에서 가르치고 있다.