大学の計算論の教科書を物色していて出会った本。
プログラミングのバックグラウンドを理解するために、計算に関する何らかの理論書は必要だが、現在出版されている「計算論」系の教科書は数学基礎論的な物の捉え方ができることを前提としており、初学者にはハードルが高すぎる。
本書は、高校卒業時に読者が持つであろうナイーブな計算イメージを前提としつつ、それに対して良質の問いを立てることによって、「計算とは何か」というメタな概念を読者が再構築できるような作りになっている。たとえば、本書の中に登場する「掛け算の筆算をするとなぜ正しい答えが出るのか」「2のルート2乗はどのように計算するか」などは、多くの大学生が答えられない問題だろう。プログラミングの授業に入る前に(あるいは並行して)、ぜひ学生に読んでもらいたい一冊である。
講義で使いやすい章立てになっていたら教科書として採用しやすかった。その点がやや惜しい。副読本としては素晴らしい。