書籍購入:『入門コンピュータ科学』

大学レベルのコンピュータ科学の入門書と聞いて。

入門 コンピュータ科学 ITを支える技術と理論の基礎知識

入門 コンピュータ科学 ITを支える技術と理論の基礎知識

「まえがき」や「訳者まえがき」を見た限り、本書はアメリカの大学の一般教養で用いられているようだ。本書(と何らかのプログラミングの本)を教科書としてコンピュータ科学入門の授業を受けて、良い成績を得られなければコンピュータ科学を専攻できないらしい。

ということは、コンピュータ科学専攻を視野に入れている大学生は本書で学び、そうではない大学生は『ディジタル作法 −カーニハン先生の「情報」教室−』あたりで学ぶ、という感じになるのだろうか? どちらにしろ、私を含むニッポンの現役文系プログラマとは違い、基礎がしっかりしているのではないかと思う。うらやましい話だ。

扱っている話題は結構幅広い。基本情報技術者試験の範囲からマネジメント系とストラテジ系を取り除いて、人工知能と計算理論を追加した感じ。それで、本文だけでも500ページぐらいある。各項目については、それぞれの分野の入門書1冊にはかなわないが、しかしその分野の基礎の基礎と最近の潮流を追うには十分、といった内容だと思う。

例えば通信関連の仕事が多い私からみて、第4章「ネットワークとインターネット」は、この分野の主要な項目は一通り扱っているように思う。一方で、例えばOSIの7階層モデルは扱っておらず、TCP/IPの階層モデルを使用して階層的アプローチについて説明している。実務としてTCP/IPを扱うことが圧倒的に多い現状を考えれば、こういう手法もありだろう。

興味深いことに、第6章「プログラミング言語」では、宣言型プログラミングの基礎として(数ページではあるが)論理推論とPrologを扱っている。PrologFizzBuzzを書いた人として、興味深い。

とりあえず、これからコの業界に飛び込む文系プログラマは、技術面の基礎知識を得るには「『ディジタル作法』を読んでから『入門コンピュータ科学』で学ぶ」のが良い感じではないかと思う。