ぶっくれびゅぅ - 名古屋大学 · [6] the art of computer programming vol. 1★★★★...

8
ぶっくれびゅぅ コンピュータと計算機数学への入門書 2005 4 Version 0.9α 講義配布用縮小版 コンピュータ 学を学 」を むこ 学以 ちます. に「コン ピュータ」を する めて大 されていますが, えれ よい」 いうスタイル かれた 多く しています. ここ , コンピュータ 学を しよう する って をいくつか します. しかし, ここに されている てを するこ 大変 あり, じて をこ から する があります. また, 」だけ , いくつか い」 , 「ダ メダメ して げてあります. ちろん, ここに っている 多く しますし, 「ダメダメ それ以 に多く している 意が . , 「レ ュー」が かったり, いい いてある ありますし, いくつか する ,C プログラム , コンピュータ システムに する されていません. , していく す) 凡例 する して以 されています. ISBN されている ISBN が異 があります。) にある から , っている があります) おすすめ (0 ~5 おすすめ (0 ~5 (0 ~5 おすすめ 」がついてい り「おすすめ」する あるこ 違い ありません. , WEB ページ アップデートされています. 1

Upload: others

Post on 08-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ぶっくれびゅぅ - 名古屋大学 · [6] The Art of Computer Programming Vol. 1★★★★ — Fundamental Algorithms, 3rd Edition— D. E. Knuth (著) Addison-Wesley 1997

ぶっくれびゅぅ 

コンピュータと計算機数学への入門書

2005年 4月Version 0.9α

講義配布用縮小版

コンピュータや計算機数学を学ぶ上で「良い本」を読むことは数学以上に重要な意味を持ちます. 特に「コンピュータ」を勉強する際の本は極めて大量のものが出版されていますが, 「単に使えればよい」というスタイルで書かれたものが数多く存在しています.ここでは, コンピュータの初心者や計算機科学を勉強しようとする初学者にとって有用な本などをいくつか紹

介します. しかし, ここに掲載されているもの全てを勉強することは大変であり, 目的に応じて適切な本をこの中から選択する必要があります. また, 「有用な本」だけではなく, いくつかは「読むべきではない」本も, 「ダメダメな本」の例として挙げてあります. もちろん, 「有用な本」はここに挙っているもの以外にも数多く存在しますし, 「ダメダメな本」もそれ以上に多く存在しているので注意が必要です.なお, 現時点では「レビュー」が間に合わなかったり, いい加減に書いてあるものもありますし, 計算機科学の

いくつかの入り口に相当する部分や, C言語以外のプログラム言語, コンピュータのシステムに関する書籍は掲載されていません. (今後, 内容が充実していく予定です)

凡例

各書籍に関する情報として以下のものが掲載されています.

• 題名・著者名・出版社・ISBN番号

(再版されているものは ISBN番号が異なる可能性があります。)

• 価格(手元にある現物からのものなので, 現在の価格とは異なっている可能性があります)

• 推薦度★ おすすめ度(0個~5個)

非おすすめ度(0個~5個)

難解度(0個~5個)

「非おすすめ度」がついていない限り「おすすめ」する本であることには間違いはありません.

なお, 最新版(全文献掲載版)は講義の WEB ページで随時アップデートされています.

1

Page 2: ぶっくれびゅぅ - 名古屋大学 · [6] The Art of Computer Programming Vol. 1★★★★ — Fundamental Algorithms, 3rd Edition— D. E. Knuth (著) Addison-Wesley 1997

コンピュータリテラシ

[1] 情報ってなんだろう★★★

徳田 雄洋 (著)岩波書店 ISBN 4-00-116340-3

もともと中学生向けに書かれた情報科学の入門書シリーズの一冊. 「中学生向け」と言っても, 難しい数学が出てこないだけで, 内容は非常に充実している. (内藤)

[2] 計算機科学入門★★★

L. Goldschlager and A. Lister (著) 武市 正人, 小川 貴英, 角田 博保 (訳)近代科学社 1987年刊 2,600 円+税 ISBN 4-7649-0284-2

計算論, ハードウェア, オペレーティングシステムなど, 計算機科学・情報工学の初歩的内容に対する入門書. 内容は初歩的だが, 重要なテーマに対してきちんとしたアプローチがとられている. (内藤)

[3] 電子情報通信と数学大石 進一 (著)電子情報通信学会 1998年刊 2,700 円+税 ISBN 4-88552-149-1

現実の電子情報通信で利用されている数学をテーマに沿って解説したもの. 元々は電子情報学会の機関誌に連載されたもの. (内藤)

[4] テキストファイルとは何か?★★

— 知らぬでは済まぬ電脳社会の常識—鐸木 能光 (著)地人書館 2001年刊 1,800 円+税 ISBN 4-8052-0680-2

コンピュータで正しくテキストを扱いましょうという啓蒙的意味合いの強い本. ちょっと問題のある部分もあるので全部を鵜呑みにするのはよくないが,かなり参考にはなる. (久保)

[5] コンピュータユーザのための著作権&法律ガイド★★★— CDバックアップからホームページ作成まで, 身近な著作権の疑問を解決!—

プロジェクトタイムマシン (著)毎日コミュニケーションズ 2002年刊 1,800 円+税 ISBN 4-8399-0793-5

見た目に反して極めてマジメな著作権に関する解説本. この手の類の本は, 必要であるにも関わらず選択肢が意外と少ない. (久保)

2

Page 3: ぶっくれびゅぅ - 名古屋大学 · [6] The Art of Computer Programming Vol. 1★★★★ — Fundamental Algorithms, 3rd Edition— D. E. Knuth (著) Addison-Wesley 1997

UNIX

[1] たのしいUNIX★★★

— UNIXへの招待—坂本 文 (著)アスキー出版局 1990年刊 1,937 円 ISBN 4-7561-0785-0

初心者向けの UNIX解説本の定番. マニュアル的な本を読むのに慣れていない人にはお薦め. 内容は主に UNIX を使う上での最低限の知識と, いくつかの基本コマンド群の解説.

(久保)

[2] 続・たのしいUNIX★★★

— シェルへの招待—坂本 文 (著)アスキー出版局 1993年刊 1,937 円 ISBN 4-7561-0789-3

初心者向けの UNIX解説本の定番. マニュアル的な本を読むのに慣れていない人にはお薦め. 「たのしい UNIX」の続きとしてが, さらに快適に作業するためのUNIX的テクニックを紹介してある. (久保)

C言語

[1] プログラミング言語C★★

— UNIX流プログラム書法と作法—B. W. Kernighan and D. Ritchie (著) 石田 晴久 (訳)共立出版 1981年刊 2,500 円 ISBN 4-320-02145-2

C言語のバイブル K&Rの日本語訳. ANSI 規格準拠ではない古い C (traditional C)の本.既に絶版. ANSI Cを習得したら読んでみると違いが判って面白い. (久保)

[2] プログラミング言語C 第 2版 ANSI規格準拠B. W. Kernighan and D. Ritchie (著) 石田 晴久 (訳)共立出版 1989年刊 2,718 円+税 ISBN 4-320-02483-4

ANSI規格準拠となった「ANSI K&R」の最初の日本語訳. 日本語訳がひどいので、安いからといって古本屋で買ってはならない. (久保)

[3] プログラミング言語C 第 2版 ANSI規格準拠 (訳書改定版)★★★★

B. W. Kernighan and D. Ritchie (著) 石田 晴久 (訳)共立出版 2,940 円 ISBN 4-320-02692-6

ANSI規格準拠となった「ANSI K&R」の日本語訳の訳書改定版. 旧訳に比べれば随分マシになったものの多少解りずらい部分が残っている. 最終的には原書をあたるべし. 初期のもの以外は「訳書改訂版」の表記がないが白い表紙ならこれ. (久保)

3

Page 4: ぶっくれびゅぅ - 名古屋大学 · [6] The Art of Computer Programming Vol. 1★★★★ — Fundamental Algorithms, 3rd Edition— D. E. Knuth (著) Addison-Wesley 1997

[4] The C Programming Language, 2nd edition★★★★★

B. W. Kernighan and D. Ritchie (著)Prentice-Hall ISBN 0-13-110362-8

C言語のバイブル. 通常「ANSI K&R」と略す. 日本語訳は判りずらい部分もあるので、そういうときはこちらを読む. 今は安く買えるのでぜひ買うべし. (久保)

[5] C実践プログラミング 第 3版★★

S. Oualline (著) 望月 康司, 谷口 功 (訳)オライリージャパン 1998年刊 4,500 円+税 ISBN 4-900900-64-8

C言語の解説書の中では, K&R を除くと, 数少ない良書. 初心者が読むには難しいかもしれない. (内藤)

[6] The C Puzzle Book★★

A. R. Feuer (著)Addison-Wesley 1998年刊 ISBN 0-201-60461-2

C言語の初心者が間違えやすいところを「パズル」的な例題を通じて解説した有名な本.この例題に回答できなければ Cをわかったとは言わない. 内容は一読に値する. (最近日本語訳が出ているらしい) (内藤)

情報工学シリーズ

[7] CプログラミングFAQ★

— Cプログラミングのよく尋ねられる質問—S. Summit (著) 北野 欽一 (訳)新紀元社 2004年刊 3,600 円+税 ISBN 4-7753-0250-7

ネットワークニュースグループ comp.lang.cに投稿された, C言語に関する「よくある質問」 (Frequency Asked Questions) をまとめた本. 誰もが「わからない」と思う内容がコンパクトにまとめられている. (内藤)

プログラミング全般

[1] プログラミング作法★★★★

B, Kernighan and R. Pike (著) 福崎 俊博 (訳)アスキー出版局 2000年刊 2,800 円+税 ISBN 4-7561-3649-4

プログラムとは「単に動けばよい」という考え方を完全に否定し, どのようなものがわかりやすくよいプログラムかを多くの例を通じて丁寧に解説したもの. 細かい内容も重要だが, ここに書かれた主旨を理解することが極めて重要な意味を持つ. 「プログラム書法」が元々のものであり, それを C言語などで書き直したものと理解してよい. (内藤)

4

Page 5: ぶっくれびゅぅ - 名古屋大学 · [6] The Art of Computer Programming Vol. 1★★★★ — Fundamental Algorithms, 3rd Edition— D. E. Knuth (著) Addison-Wesley 1997

[2] プログラム書法 第 2版★★★★

B. Kernighan and P. J. Plauger (著) 木村 泉 (訳)共立出版 1976年刊 2,400 円+税 ISBN 4-320-02085-5

「The Elements of Programming Style」の日本語訳. 「プログラム作法」と同じ主旨で書かれている. (こちらがオリジナル)しかし, Fortran, PL/I などの言語で例が挙げられているため, C言語だけしか知らない人には敷居が高いかもしれない. (内藤)

コンピュータ・サイエンス研究書シリーズ 40

[3] アルゴリズム+データ構造 =プログラム★★★★★

N. Wirth (著) 片山 卓也 (訳)日本コンピュータ協会 1979年刊 6,000 円+税

Pascalの作者であるWirth による基本的なアルゴリズムの解説書. 題名にもあるように,アルゴリズムとともに「データ構造」が如何に重要かがよく理解できる. (内藤)

サイエンスライブラリ 情報 電算機 35

[4] アルゴリズムの設計と解析 I★★★★

A. V. Aho, J. E. Hopcroft and J. D. Ullman (著) 野崎 昭弘, 野下 浩平 (訳)サイエンス社 1977年刊 2,800 円 ISBN 4-7819-0279-0

種々の基本的なアルゴリズムに関する標準的な教科書. ここに書かれていることは情報科学を勉強する上では必須の知識である. (内藤)

サイエンスライブラリ 情報 電算機 36

[5] アルゴリズムの設計と解析 II★★★★

A. V. Aho, J. E. Hopcroft and J. D. Ullman (著) 野崎 昭弘, 野下 浩平 (訳)サイエンス社 1977年刊 2,800 円 ISBN 4-7819-0280-4

種々の基本的なアルゴリズムに関する標準的な教科書. ここに書かれていることは情報科学を勉強する上では必須の知識である. (内藤)

[6] The Art of Computer Programming Vol. 1★★★★

— Fundamental Algorithms, 3rd Edition—D. E. Knuth (著)Addison-Wesley 1997年刊 $49.95US ISBN 0-201-89683-4

コンピュータや計算機科学に関する最も有名な文献の一つ. 現在は Volume 3 までが出版されている. 内容は極めて難解であるが, 一度は目を通す必要がある文献. さらにこの本を難解にしている理由として, Knuth 先生の英語が日本人には難しいということもある.Vol. 1 では「計算」に関する基本的な考え方やアルゴリズムが紹介されている. (内藤)

[7] The Art of Computer Programming Vol. 2★★★★

— Seminumerical Algorithms, 3rd Edition—D. E. Knuth (著)Addison-Wesley 1997年刊 $49.95US ISBN 0-201-89684-2

Vol. 2 では乱数・整数演算などの議論が行われている. (内藤)

5

Page 6: ぶっくれびゅぅ - 名古屋大学 · [6] The Art of Computer Programming Vol. 1★★★★ — Fundamental Algorithms, 3rd Edition— D. E. Knuth (著) Addison-Wesley 1997

[8] The Art of Computer Programming Vol. 3★★★★

— Sorting and Searching, 2nd Edition—D. E. Knuth (著)Addison-Wesley 1997年刊 $54.99US ISBN 0-201-89685-0

Vol. 3 の内容は整列・検索に関する種々のアルゴリズムとその解析. (内藤)

[9] The Art of Computer Programming 1 日本語版★★★★★— Fundamental Algorithms 3rd Edition—

D. E. Knuth (著) 有澤 誠, 和田 英一, 青木 孝, 筧 一彦, 鈴木 健一, 長尾 高弘 (訳)アスキー 2004年刊 9,800 円+税 ISBN 4-7561-4411-X

Knuthの名著「The Art of Computer Programming Vol. 1」日本語訳. 日本語訳が全面的に書き直され, 非常に読みやすくなった. 当然のことであるが, 内容が易しくなっているわけではない. (内藤)

[10] The Art of Computer Programming 2 日本語版★★★★★— Seminumerical Algorithms 3rd Edition—

D. E. Knuth (著) 有澤 誠, 和田 英一, 斎藤 博昭, 長尾 高弘, 松井 祥悟, 松井 孝雄, 山内 斉 (訳)アスキー 2004年刊 9,800 円+税 ISBN 4-7561-4543-4

Knuthの名著「The Art of Computer Programming Vol. 2」日本語訳. 日本語訳が全面的に書き直され, 非常に読みやすくなった. 当然のことであるが, 内容が易しくなっているわけではない. (内藤)

[11] アルゴリズム C 第 1巻★★— 基礎・整列—

R. Sedgewick (著) 野下 浩平, 星 守, 佐藤 創, 田口 東 (訳)近代科学社 1996年刊 2,800 円+税 ISBN 4-7649-0255-9

同一著者による「アルゴリズム」の内容をC言語を交えて書き直したもの. C言語を使っているならこちらの方がよいかも. (内藤)

[12] アルゴリズム C 第 2巻★★— 探索・文字列・計算幾何—

R. Sedgewick (著) 野下 浩平, 星 守, 佐藤 創, 田口 東 (訳)近代科学社 1996年刊 3,300 円+税 ISBN 4-7649-0256-7

同一著者による「アルゴリズム」の内容をC言語を交えて書き直したもの. C言語を使っているならこちらの方がよいかも. (内藤)

[13] アルゴリズム C 第 3巻★★— グラフ・数理・トピックス—

R. Sedgewick (著) 野下 浩平, 星 守, 佐藤 創, 田口 東 (訳)近代科学社 1996年刊 3,200 円+税 ISBN 4-7649-0257-5

同一著者による「アルゴリズム」の内容をC言語を交えて書き直したもの. C言語を使っているならこちらの方がよいかも. (内藤)

6

Page 7: ぶっくれびゅぅ - 名古屋大学 · [6] The Art of Computer Programming Vol. 1★★★★ — Fundamental Algorithms, 3rd Edition— D. E. Knuth (著) Addison-Wesley 1997

[14] 数学問題へのコンピュータアプローチ★★★★

J. Neivergelt, J. C. Farrar and E. M. Reingold (著)培風館

簡単な数学的な問題(数の計算・ゲームなど)に対して, コンピュータを利用したアプローチ方法の例を解説したもの. コンピュータの本と言うよりは, コンピュータを利用した数学の本である. 私自身がはじめて勉強したコンピュータの本. (内藤)

Universitext

[15] Programming for Mathematicians★★

R. Seroul (著)Springer-Verlag 2000年刊 ISBN 3-540-66422-X

数学(特に代数)に関する極めて基本的なアルゴリズムに関して, 数学者向けに平易に解説されている. 明らかに数学の文献である. ただし, 記載されているプログラムが PASCALで記述されている. これを C言語で書き直して日本語訳を出せば売れると思うけど... (内藤)

計算機科学/ソフトウェア技術講座 5

[16] アルゴリズムと計算量野崎 昭弘 (著)共立出版 1987年刊 3,000 円+税 ISBN 4-320-02380-3

種々の基本的なアルゴリズムを解説したもの. (内藤)

Software Technology 13

[17] C言語による最新アルゴリズム事典奥村 晴彦 (著)技術評論社 1988年刊 2,330 円+税 ISBN 4-87408-414-1

基本的なアルゴリズムに関して C言語によるプログラム例が紹介されている. ここに掲載されているプログラム例は「あくまで一例」であって, 望ましいプログラムとは限らない. (決して間違っているようなことはない) (内藤)

その他

[1] ファインマン計算機科学R. P. Feynman (著) 原 康夫, 中山 健, 松田 和典 (訳)岩波書店 1999年刊 3,500 円+税 ISBN 4-00-005941-6

ファインマンの視点からみた「計算とは何か」についてのファインマン自身の講義ノー

トをまとめたもの. チューリングマシン, 情報理論の初歩などだけでなく, 量子計算などにも言及されている. 独特の視点から計算機科学の標準的内容にアプローチするスタイルは非常に興味深い. (内藤)

7

Page 8: ぶっくれびゅぅ - 名古屋大学 · [6] The Art of Computer Programming Vol. 1★★★★ — Fundamental Algorithms, 3rd Edition— D. E. Knuth (著) Addison-Wesley 1997

[2] コンピュータの構成と設計 (上)★★

— ハードウエアとソフトウエアのインターフェース—D. A. Patterson and J. L. Hennessy (著) 成田 光彰 (訳)日経 BP社 1999年刊 4,400 円+税 ISBN 4-8222-8056-X

コンピュータの中心をなす CPU の設計の思想と方法に関して, 比較的平易に解説されている. 「コンピュータはなぜ動くのか」を知りたければこの本を読めば十分に理解できる. そのへんにある「コンピュータはなぜ動くのか」とかという題名の本とは質が本質的に異なる. なお, 著者は MIPS の CPU を設計した本人である. (内藤)

[3] コンピュータの構成と設計 (下)★★

— ハードウエアとソフトウエアのインターフェース—D. A. Patterson and J. L. Hennessy (著) 成田 光彰 (訳)日経 BP社 1999年刊 4,800 円+税 ISBN 4-8222-8057-8

コンピュータの中心をなす CPU の設計の思想と方法に関して, 比較的平易に解説されている. 「コンピュータはなぜ動くのか」を知りたければこの本を読めば十分に理解できる. そのへんにある「コンピュータはなぜ動くのか」とかという題名の本とは質が本質的に異なる. なお, 著者は MIPS の CPU を設計した本人である. (内藤)

[4] カッコウはコンピュータに卵を産む (上)★

C. Stoll (著) 池 央耿 (訳)草思社 1991年刊 1,845 円+税 ISBN 4-7942-0430-2

著者の体験に基づくノンフィクション小説. 自分が管理するネットワークにハッキングをしかけた犯人を研究そっちのけで捜し出す男の話. ネットワークの知識が多少なりともあるととても面白い. (久保)

[5] カッコウはコンピュータに卵を産む (下)★

C. Stoll (著) 池 央耿 (訳)草思社 1991年刊 1,845 円+税 ISBN 4-7942-0431-0

著者の体験に基づくノンフィクション小説. 自分が管理するネットワークにハッキングをしかけた犯人を研究そっちのけで捜し出す男の話. ネットワークの知識が多少なりともあるととても面白い. (久保)

8