プログラマの教育のための本

Seasarカンファレンスで「プログラムが組めるようになるためには何を教えればいいですか?」と聞かれて、「創るJava」も絶版だし、どうしようかと思いつつ、「教える」というときに考えないといけないことが書いてある本を紹介しますね、と言ったので、その本の紹介。
あと、そのときに言ったこと。


教育するときに大切なことは、「情報を与える」という観点でカリキュラムを構築してはダメで、「脳みそを構築する」という観点でカリキュラムを作らないといけない、というようなことをまずは伝えた。
つまり、たとえばJavaでWebアプリを作れるようにするというときに、必要な情報を分解してHTMLとデータベースとサーブレットJavaの文法が必要だとなって、その情報の依存関係を洗い出して、最初にJavaの文法をからとか順番を決めて、依存部分の少ないものから提示していくという、そういう単なる情報の提示だけでは教育にはならないということだ。
興味をもたせ、モチベーションを与え、すでに知っている情報と結び付け、理解できる状態に脳みそをもっていって、理解できるものを与えるということが大切だと思う。


ちなみに、Cでプログラムを教える場合に「ポインタが難しすぎる」ということ以外に、書籍の問題があると思う。
「Cの入門書」というとき、「Cの文法を解説する本」であることがほとんどで、「プログラムの勉強をCで行う」という本はなかなか見当たらない。
だから、プログラムの勉強をCで始めたつもりが、Cの文法の勉強をしてしまって、Cの文法の難しい部分で「プログラムって難しい」と思ったり、Cの標準ライブラリの貧弱さから「プログラムって何かができるわけじゃないんだな」と思ったりしてしまう。
「プログラムって難しいよね。ヘッダファイルとかコンパイルとリンクとかポインタとか」って言われたら、「それはCの難しさです!」と言い返したくなると思う。
で、結局「何をしてるのかすらよくわからなかった」という感想になる。おそらく、学校の授業でプログラムを習った人でこういう感想になった人は多いんじゃなかろうか。


ということで、教育のための本。まずは教えるというのがどういうことかという本。
仕事として誰かに何かを教えるのなら、必ず目を通してほしいと思う本。この本じゃなくても、インストラクショナルデザインについて扱ってる本は読んでおくべきだと思う。

インストラクショナルデザイン―教師のためのルールブック

インストラクショナルデザイン―教師のためのルールブック


プログラムの本はわかんなかったので、情報教育という点で、この本がおすすめ。子供むけの本なのだけど、プログラムのレベルがまちまちになる研修初期に、情報を扱うとはどういうことかという勉強をみんなでできる。

コンピュータを使わない情報教育アンプラグドコンピュータサイエンス

コンピュータを使わない情報教育アンプラグドコンピュータサイエンス

  • 作者: Tim Bell/Ian H.Witten/Mike Fellows,Matt Powell,兼宗進
  • 出版社/メーカー: イーテキスト研究所
  • 発売日: 2007/09/01
  • メディア: 単行本(ソフトカバー)
  • 購入: 10人 クリック: 83回
  • この商品を含むブログ (15件) を見る