プログラマの基礎体力

プログラマの数学読了。
プログラミングで必要と思われる基礎的な数学の内容である。
以下目次

目次
はじめに
第1章 ゼロの物語 ―― 「ない」ものが「ある」ことの意味

10進法 / 2進法 / 位取り記数法 / 指数法則 / 0の果たす役割 / 人間の限界と構造の発見
第2章 論理 ―― trueとfalseの2分割

どうして論理が大切なのか / 網羅的で排他的な分割 / 演算子で複雑な命題を組み立てる / ド・モルガンの法則 / カルノー図 / 未定義を含む論理
第3章 剰余 ―― 周期性とグループ分け

曜日クイズ / オセロで通信 / 恋人探し / 畳の敷き詰め / 一筆書き
第4章 数学的帰納法 ―― 無数のドミノを倒すには

ガウス少年 / 数学的帰納法 / オセロクイズ / ループ・インバリアント
第5章 順列・組み合わせ ―― 数えないための法則

数えるとは / 植木算 / 数え上げの法則 / 置換 / 順列 / 組み合わせ
第6章 再帰 ―― 自分で自分を定義する

ハノイの塔 / 階乗 / フィボナッチ数列 / パスカルの3角形 / 再帰的な図形
第7章 指数的な爆発 ―― 困難な問題との戦い

倍倍ゲーム / バイナリサーチ / 対数 / 計算尺 / 暗号
第8章 計算不可能な問題 ―― 数えられない数、プログラムできないプログラム

背理法 / カウンタブル / 対角線論法 / 計算不可能な問題 / 停止判定問題
第9章 プログラマの数学とは ―― まとめにかえて

本書を振り返って / 問題を解くということ / ファンタジーの法則
付録1:機械学習への第一歩

機械学習とは / 予測問題と分類問題 / パーセプトロン / 機械学習における「学習」 / ニューラルネットワーク / 人間は不要になるのか /
付録2:読書案内 

ソースコードはほとんど出てこない。
それどころか数式も僅かである。
問題解決にむけての考え方が分かりやすく記述されている。
本当に文章メインで語りかけてくるこの本は非常に取っつきやすい一冊である。

数学の本できちんと読了出来たのって、この本ぐらいかなー。
オイラーの贈り物で挫折した私にとってはこの本を読了できた経験は大きく感じた。
ちなみに作者の結城さんは数学ガールの著者であり、読みやすいプログラミングの本も多数出版している。
数学ガールも読んでみたいと思わざるを得ない。

普段数学を使わない人、特にプログラマは読むべし。