参考文献

C言語プログラミング

高橋 麻奈 著: 「やさしいC」

いろいろな言語で「やさしい◯◯」が出版されているが,そのC言語版.本の名前の通り説明が丁寧で初学者に優しい内容になっている.タイトルにある通り解説はかなり「やさしい」ため,もう少し難しいものが欲しい場合は「ロベールのC++入門」等のC++向けの書籍で学習した後に,以下に上げる書籍でC言語との違いを学ぶ方法もある.

青木 峰郎 著: 「ふつうのUNIXプログラミング 」

C言語が一通り書けるようになった後で,コンピュータの仕組みを学びつつ,プログラミングの幅を広げるのにおすすめな本.特に後半の内容はC言語(C++ではなく)である程度大きなプログラムを書くと,こういう書き方になる,というのが理解できるため一見の価値がある.

紀平 拓男, 春日 伸弥 著: 「プログラミングの宝箱 アルゴリズムとデータ構造」

数多くあるアルゴリズムとデータ構造の本の中で,解説が分かりやすく,ソースコードの大部分が掲載されているため,プログラムを書いて動かすという点でつまづきづらい本.その反面,ソースコードから概念を理解するのには向いているが,概念からソースコードを書くには不向きとのレビューも見られる.

B. W. カーニハン, D. M. リッチー 著: 「プログラミング言語 C」**

K&Rと呼ばれるC言語の黎明期から読み継がれる名著.ソースコードの書き方は古めかしいものの,プログラミングの意味やコンピュータの仕組みを理解する上で,今現在も重要な知識が詰まっている.最初に上記の「ふつうのUNIXプログラミング」を読んだ後で,こちらに進むのが良いと思われる.

数値解析

源本 晃弥 著: 「C言語による数値計算入門」

C言語を用いた数値計算の入門書.過不足のない内容であり,なおかつソースコードが全て掲載されているのでつまづきは少ないと思われる.

W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery 著: 「Numerical Recipes in C(日本語版)」

数値解析のアルゴリズムを網羅的に解説した辞書のような本.日本語版は第1版までで止まっており,内容が少し古い.英語に自身がなくても英語の最新版 (2020年4月1日現在は第3版) を読むことを勧める.

柳田 英二, 中木 達幸, 三村 昌泰 著: 「理工系の数理 数値解析」

プログラミングというよりは数値解析の数学的背景について解説した本.大学の学部生で学ぶべき数値解析の内容は一通り網羅されており,説明にも飛躍がなくて読みやすい.

金谷 健一 著: 「これなら分かる応用数学教室 -最小二乗法からウェーブレットまで-」

こちらも数値解析に関係する数学的な背景について解説した本.どちらかというと信号処理を背景にした数値解析の内容を中心に解説されている.「ディスカッション」と称する学生との対話を模した疑問への回答が面白い.

OpenGL

注意
OpenGLに関する本で現在刊行されている本はやや古いものが多く,現代のパラダイムに合っていないことが多い.本講義でもGLUTを用いたが,GLUTはやや時代遅れなライブラリであり,さらに発展的なものを学びたい場合にはGLFW3というライブラリを勉強することを勧める.

現在のモダンなOpenGLのプログラミングについて日本語で解説した本やWebページは残念ながらほとんどないが,担当教員の一人 (谷田川) が早稲田大学で行なっている講義のソースコードが以下から見られる.

OpenGLCourseJP - GitHib
https://github.com/tatsy/OpenGLCourseJP

また,少し内容は古いものの,今読んでも十分に役立つものとして,

GLUTによる「手抜き」OpenGL入門
https://tokoik.github.io/opengl/libglut.html

も参考になる.

これ以外に,英語の解説ページをいくつか紹介しておく.

OGLdev: Modern OpenGL Tutorials (英語)
http://ogldev.atspace.co.uk/

ステップバイステップでOpenGLプログラミングについて解説しているWebページ.ソースコードも全てダウンロードできる.

OpenGL Programming - Wikibook (英語)
https://en.wikibooks.org/wiki/OpenGL_Programming

モダンなOpenGLの書き方について網羅的に解説されており,かなり発展的な内容も含まれている.