초보자들이 다양한 주제를 부담 없이 접해볼 수 있는 책
좋은 프로그램을 만드는 핵심 원리 25가지
프로그래밍에 꼭 필요한 전산수학, 데이터 구조, 알고리즘 등을 모두 다루는데, 특히 각 알고리즘이 동작하는 예를 그림을 통해 보여주므로 초보자도 쉽게 이해할 수 있다. 그리고 각 이론을 프로그램으로 직접 구현해볼 뿐만 아니라 실제 시스템에서 어떻게 적용되는지 그 예까지 제시한다.
- 저자 : 김종훈 , 김종진 , 정원희 , 정은영
- 출간 : 2003-01-04
일단, 책 제목처럼 구성은 25가지의 원리를 각각의 챕터로 나누어서 설명하고 있다. 그리고 각 챕터는 그 주제와 관련된 인물에 대한 이야기로 시작하는데, 나름대로 흥미롭다. 뒤를 이어 그 챕터에서 다룰 내용이 어디에 어떻게 쓰이는지 설명하고, 그 챕터에서 다룰 내용을 요약해 설명한다. 그리고 각 원리의 정의와 내용 설명이 이어지는 형식이다.
이 책의 장점과 단점들을 살펴보자면, 다음과 같다.
장점
① 이산수학, 자료구조, 알고리즘, 컴퓨터공학개론, 논리회로 등과 같은 많은 내용을 다루고 있는데, “핵심 원리 25가지”로 부를 수 있을 만큼, 적절한 주제들을 선택해서 한 권의 책으로 담았다.
② 원리를 설명하는데 있어서, 보는 것만으로도 이해될 수 있을 만한 그림을 많이 사용했으며, 내용 설명도 또한 쉽게 되어 있다. 따라서 전산에 처음 발을 들여놓은 초보자도 쉽게 이해할 수 있다.
단점
① 예제 프로그램들이 너무 간단하고, 부실하며 가독성이 떨어진다. “좋은 프로그램”을 만드는 기본 중에 하나가 주석인데, 주석도 제대로 되어있지 않다. 그리고 예제 프로그램이 없는 챕터들도 있다.
② 수학을 다루는 몇 챕터의 내용이 고등학교 수준에 머무른다.
③ 홈페이지를 운영하고 있으나, 달랑 게시판 하나밖에 없다. 그리고 각 챕터와 관련된 과제를 올리고 있지만 거기에 대한 풀이나 설명이 없다.
책에서는 예상 독자층을 넓게 생각하고 있는데, 전반적인 내용과 수준으로 살펴봤을 때, 이 책의 독자층은 전산에 갓 입문한 사람들이 적당할 것 같다. 전산에 입문해서 앞으로 심도 있게 공부하게 될 자료구조나 알고리즘과 같은 다양한 주제들에 대해서 “부담 없이” 쉽게 접해볼 수 있을 것이다.
결론적으로, 역시 이 책의 가장 큰 장점은 자칫 딱딱하고 어렵게 느껴질 수 있는 각각의 주제들을 그림으로 쉽게 설명하고 있다는 것이다. 끝으로, 책에서 제공하고 있는 예제 프로그램들이 부실하다고 했는데... 이 책을 읽으면서, 예제 프로그램과 책에 나와 있는 원리들을 객체지향언어로 구현해보는 것도 좋을 것 같다.