執筆していたJavaの教科書が刊行されました.
この教科書は,高校や高専,大学で「はじめてのプログラミング」を教えようとして悩む先生方のために,私自身が悩みながら執筆した本で,以下のような特長を持っています.
いきなり難しい言葉を使わない
多くのJavaの教科書では,最初の方にこう書いてあります.「intは32bitの整数です」.この理解不能な1文だけで初学者は思考が停止してしまい先に進まなくなります.この本では,「解説抜きでいきなり難しい言葉を使う」ことがないように気を付けています.Java初心者を惑わす呪文(おまじない)は,後で解説することにしています.
初めての言葉にはふりがなも
初心者は「引数(ひきすう)」を「いんすう」と読んでしまいがちです.私も初めてプログラミングを習ったころ,そう読みました.高校数学の「因数分解」が頭から離れないのでしょう.このような「言葉が読めない」「読み方に不安が残る」ようだと,学習が進みません.ですのでこの本では初めての言葉にはふりがながつけてあります.索引も充実させています.
予約語や記号だって読み方が重要
これまた見落とされがちなのですが,プログラムの記号の読み方も書いてあります.「;」は「セミコロン」とか,「int」は「イント」などです.記号が読めるようになると,プログラムを読めるようになり,理解できるようにもなるのです.そして何よりバグを見つけやすくなります.これ,結構重要です.
(すみません,読み方には諸派がありますが,初心者が混乱しないよう載せていない読み方もあります.私は竹内派なので,閉じカッコはコッカなのですけれども,それは書いていません.え,コッカは竹内御大派ではなく元祖後藤大先生派ですか.失礼しました.)
変数名はローマ字
合計を計算するプログラムで,変数名にsumなどという名前を使ってしまうと,初学者はsumが予約語(あるいはメソッド名)なのかプログラマが定義した変数なのか区別がつかなくなります.そこでなるべく変数名にはローマ字表記の日本語を使うことにしています.もちろんfor文のカウンタ変数 i, j, k は例外ですけれども.
プログラム例が豊富
古の時,プログラミングの技は一子相伝,先輩の良いプログラムを読んで覚えるものでした(!??).その時代からプログラミング初心者には多くのプログラム例が必要だったのです.そこでこの本ではページが許す限り,例をたくさん載せています.
課題も豊富
プログラミングを修得するためには,例を読んだ後,その例を少し変更して自分なりのプログラムを作ることが必要です.章末問題はたくさん用意しておきました.それぞれ例プログラムのどれを読めば参考になるか,リンクが書かれています.
時間が限られている人は,章末問題を全て解く必要はありません.でも授業中に時間があまるようなら,なるべく多くの問題にチャレンジしてみると良いでしょう.
さらなる課題
if文やfor文を習い始めたばかりって,あまり楽しくないのですよね.「プログラミングが出来れば何でもできる」とか言われても,まだできることが限られていると面白みに欠けるのです.そこで付録には,初心者でも挑戦できる課題を用意しました.ifを習っただけでも工夫して作れる課題があります.同じ課題でも,配列を習った後,メソッドを習った後だと書き方が劇的に変わります.ぜひ,これらの課題に挑戦してプログラミングの面白さを体験してください.
発展は飛ばしても良いです
少し発展的な項目にはマークを付けておきました.これは読み飛ばして,後から勉強しても良いところです.
教科書としての品質
近年,プログラミング系の書籍の中には,多くのバグを含むものが見受けられます.購入した書籍とダウンロードした正誤表を見比べながらでは,プログラミングを学ぶことは難しいでしょう.
この本は,出版される何年も前から実際の授業で使われていました.その間に執筆者達により改善と修正が加え続けられ,さらに1年かけて森北出版さんが徹底的に校正してくれたものです.特に共著者の大森氏は詳細なソースコードレビューに挑んだほか,全ての章末問題を解いて,解きやすさまで確認してくれました.
この本は,授業用教科書として使える充分な品質を持っていると思います.
姉妹本 C#で入門 はじめてのプログラミング:基礎からオブジェクト指向まで
関係ないのですが,同じ名前の飯塚泰樹(Yasuki IIZUKA)さんが執筆された本