新人研修
新人研修の講義を、ヒトコマだけやりました。テーマは「オブジェクト指向について何か」。広すぎる。。
考えたあげく、3時間ほど、BlueJで遊ぶという形にしました。BlueJは一見UMLツールっぽい学習用開発環境です*1。実際BlueJは、クラスを定義したらすぐにインスタンス化して右クリックでメソッド呼び出し、さらにインスペクトしてオブジェクトの内容を確認する、という作業をダイナミックに行うことができるIDEです。
もちろんSmalltalkでは普通に出来ることですが、言語がJavaなのがオモロイところです。
他のオブジェクトに対してメッセージを投げるというメタファはJavaみたいな言語だと理解しづらいですが、こういう環境で補うことによってイメージすることができるようになります。クラスとインスタンスの違いという初心者が嵌まりやすいポイントもツールで視覚化することによって一発で説明できます。また、オブジェクトを漸進的に設計、実装、テストして作り上げていくことができるため、TDDの概念にもすぐに馴染むことができるでしょう。
訓練されたOO厨はこういうダイナミックな環境で育つ!! とりあえず書籍管理アプリを簡単にモデル化してなんとなく動かすところ*2まで一緒につくって3時間ぐらいの演習になりました。
と、いっても一日だけの演習なのでいまいちインパクトにかけるのですけどね。。