非情報系のコンピュータサイエンス入門
前提
- 情報系の正規教育を受けていない人の意見です。
- プログラミングを始めて3年くらいです。
やさしいコンピュータ科学
改訂新版 コンピュータの名著・古典 100冊で紹介されている本。MITの教科書らしい。
目次
- コンピュータ科学を学ぶにあたって
- 1章 プログラミング入門―決定木のコーディング
- 2章 テキスト操作とアルゴリズムの設計
- 3章 数値計算と関数の学習
- 4章 トップダウンプログラミング、サブルーチン、データベースの応用
- 5章 ソフトウェア工学
- 6章 電気回路
- 7章 トランジスタ
- 8章 超大規模集積回路
- 9章 マシンアーキテクチャ
- 10章 言語の翻訳
- 11章 プログラム実行時間
- 12章 並列計算
- 13章 計算不能性
- 14章 人工知能
感想
悪い本ではないと思うが、正直なところ「うーむ……」という感じ。
各章ではそれぞれ別のテーマを扱っているが、それらの間に繋がりが感じられないため、各論をバラバラに叩き込まれているという印象を受ける。そのあたりのゴタゴタ感が目次にも現れているように思う。
通読するのではなく要点を拾いながら読む感じであれば「一般教養科目 コンピュータ科学入門」の教科書に使えそうというイメージ。
ただし、読んだのが1年ほど前なので当時と現在では自分の背景知識が異なっており、今読み直してみると違う印象を受ける可能性はある。あまりよい印象を持たなかったので手放してしまったが、機会があれば再読してみたい。
入門 コンピュータ科学
UCバークレイ、ハーバードなど全米の126校で採用されている定番教科書らしい。
目次
- 第0章 序章
- 第1章 データストレージ
- 第2章 データ操作
- 第3章 オペレーティングシステム
- 第4章 ネットワークとインターネット
- 第5章 アルゴリズム
- 第6章 プログラミング言語
- 第7章 ソフトウェア工学
- 第8章 データ抽象
- 第9章 データベースシステム
- 第10章 コンピュータグラフィックス
- 第11章 人工知能
- 第12章 計算の理論
感想
非常に整然とした目次。「抽象化」をキーワードとして、基本的に低レイヤーから高レイヤーに向かう流れで書かれている。
Amazonに各トピックの内容が浅いというレビューがあるが、紙幅を考えれば十分だと思う。内容が物足りない人は恐らく想定読者ではない。この本でコンピュータ科学を俯瞰した後、興味が湧いた分野に関する本を当たれば良いと思う。
通読する形式で「専門基礎科目 コンピュータ科学概論」の教科書に使えそうなイメージ。
個人的には1-3, 8, 10章あたりの内容を知らないことが多くて面白かった。