京都大学工学部情報学科で(2005年頃に)使われていた教科書 読むべき10冊と他2冊

こないだ帰省したときに本棚をあさってふと考えた。 大学の頃は「単位取ったしもうこの教科書イラネーや」って感覚でいて、 Web上で評判になってる専門書を買いあさったりしてた。 でもよくよく考えると、Web上でギークがオススメ本にあげているものは初学者向けである保証はどこにもない。 彼らは専門家ではあっても教育者ではないからだ。

京大の先生ってその道ではそこそこ名の通った専門家なのだから、 その人たちが初学者向けとしてふさわしいと考えるなら、 それを公開するのは高校生や他の専門領域の人のためになるのではないかと思ってまとめてみる。

ちなみにこれを書いているのは卒業生のため、 今現在使われているかどうかは知りません。 でも、そもそも古典的な知識なのでこういう本の輝きは失せない。 いい本はずっといい本だ。絶版にしないでもらいたい。

1回生向け
Cによるアルゴリズムとデータ構造

</a>

星5つ。おすすめ。 今回ここにあげた教科書の中で、まずどれを読むべきかと聞かれれば間違いなくこれ。 正直茨木先生の講義が一番楽しかったし、 毎回知的好奇心を満たしてくれた。 必要最低限のCのソースコードと、そのアルゴリズムの計算量の導出課程が載っているので、 実際に打ち込んでみて、バブルソートとクイックソートの違いを体感し、 感動した後で理論的裏付けを読むと身につきやすいと思う。 初学者にもわかりやすい割に内容も深め。

2回生向け
人工知能

これは本当に初学者向け。 専門分野が他の領域の人が、専門家と会話するための単語帳としてどうぞ。 (深い部分については、先生がブツブツいいながらレジュメ配布の形でちゃんとやってくれるので、授業の方は出てくださいwブツブツ言う位なら何で教科書を充実させておかなかったのかは永遠の謎)

オートマトン

これは内容はしっかりしているけど、 本の物理的サイズ自体が薄いので範囲として狭い。 オートマトンについてさっくり知りたい人はこれを読むといい。

コンピュータアーキテクチャ

</a>

名著。絶対読むべき。 ソフトウェア系の人はとりあえずこれだけでも読んでおくといい。 「ポインタがわかりません(><)」 とか言ってる人に足りないのはたぶんこの辺の知識が抜けてるんだと思う。 この先生は、教科書をこれだけわかりやすく書けるのに、 講義内容は何故あんなにわかりにくいの・・・ というのが情報学科あるあるによく出てくる。これ豆な。 ゴーストライターがいるのではやっぱり論文を書くのがメインで話すのが専門ではないんですよね。 Amazonのレビューでは酷評されてるけど、 単に読み手に知識がなさ過ぎただけだと思う。

計算機アーキテクチャ

3回生でやるHW演習をマジメにやろうとするとこの本を3回読み返すことになるが、 3回読む価値はあったと思う。

3回生向け
人工知能の基礎

研究者から見た「基礎」だから、普通にIT業界で働く人にはかなり深い内容。 正直言って2回生向けの本を読んでいない人がいきなり理解するのは難しい。 内容はしっかりしている。教科書と言うより専門書の類。

LinuxとWindowsを理解するためのOS入門

これを3回生でやる意味がわからない。 この本は別にいいや。 たぶんWindows/Programは何故動くのか、あたりを読んだ方がいい。

論理回路

読んでおいて損はない。 緑本はいい本が多い。 (↑はたぶん改訂版で表紙が変わった)

コンパイラ

これもいい本。 その辺のおっちゃんだと認識されやすい湯浅先生を尊敬することになる(失礼)

アルゴリズム理論入門

これもオススメ。 オライリー辺りからアルゴリズム本が出ているけど、 それよりは理論寄り。 大抵のアルゴリズム本は、
・該当アルゴリズムでどの程度のスペックが出るのか、
は述べてあるものの、 ・本当にこれは必要十分か?理論的裏付けはしっかりしているか?
を述べてある本。 Amazonからなくなりそう・・・

ざっくり言うと、 クリーム色の薄い本 -> 初心者向け 緑本 -> 薄いけどいい本。初心者でもわかりやすい。 クリーム色に赤まだらの本 -> 緑本の発展系 灰本 -> 専門書。ディープで詳しい。 というのが京大生の共通認識だと思う。

Written on May 22, 2011