ぷっちん日記
2011-01-05 (水) 昨年の島根大学での講義のこと [長年日記]
■ 昨年の島根大学での講義のこと
あけましておめでとうございます。
年が明けるというのは区切りとしていいものなので、なにか目標を立てておきたいと思う。会社としての目標はもちろんあるが、個人としてはブログでの発信を増やしていきたい。あと、英語でも発信したいな。
さて、昨年12月に島根大学で講義をさせてもらったときのことを少し紹介したい。なお、この講義のことは野田先生のブログで取り上げてくださっている。私たち夫婦は今回が講義は4回目。最初の頃は居眠りさせてしまったり、誤植で大騒ぎになったり、全然予定が消化できないといった失敗をしていたものの、近年では、歴戦の強者化してきて、そこそこスムーズにできるようになってきたと思う。もちろん完璧ではないし、不満足な点はあろうかと思うが、とりあえず以前よりはうまくなったなと思うのだ。
今回の講義でいちばんうまくいったと思うのは、資料の構成だ。Railsをほぼ初めてという生徒さんたちに、ただ1回の講義で「体験」をしてもう。我々の任務は、Railsを体験させるだけでなく、それを通じてWebアプリケーション開発についても紹介することである。これを90分間で行う。
RWC2010の教育関連のパネルで議論していて、私が発言したことのなかに「Railsはボリュームが大きすぎるから、最初は全部やるのではないほうがいいかもしれない。モデルとRDBが非常に重い。Webアプリケーションがはじめてなら、モデルを抜いて、コントローラとビューに集中するほうが理解度があがるのではないか」という思いつきがあった。よし、これを試そう。というわけで、今回は、モデルでRDBを使わないことにした。単にモデルをなくすというよりも、単なるRubyクラスを作ってそれをモデルとして使う。そうすれば、そのRubyクラスを作るところで、それまでの復習ができ、それまでに学んだことをどうやって実際に使っていくのかも体験できるかな?と考えたのだ。そこで、具体的には、おみくじクラスを開発してもらって最終的にそれをWebから使えるような「おみくじアプリケーション」を課題にすることにした。
講義では、プログラミングで一番重要なのは、習ってまねすることではなく「何かを作りたい」という意思のもと自分であれこれ考えることだということを伝えたかった。これなしでは、プログラミングをしたとはいえない。なので、その前半のRubyクラスを実装する部分もこれを体験するために使えるなと思った。ちなみに、講義では、「クラスを実装する」という言い方も最初はしないようにした。クラスを作るということもソリューションの一つだからだ。
さて、実際にやってもらうにあたって、もう一つ工夫したのはペアプロを取り入れたことだ。自分の工夫というよりも、前々からいいとは思っていたのと、私たちより前に講義を担当された咳さんからペアでやってよかったと聞いてよーし自分らもと思ったからである。私の意図する「自分で考えさせる演習」では、できる人はよいが、理解が足りていない人ははげしく置いていかれてしまう。そんなとき、二人組であれば心理的にも実際的にも非常に有利になるだろう。
ペアプロをやってみるにあたっては、単に二人組でやらせるのではなく、こんな風に相談するんだよとか、なるべく交互に主導権をとれとか、もっと近寄って、自分のマシンのことは忘れてとか細かくやり方を指示した。単に組ませるだけだと、若干言葉をかわすものの結局自分のマシンの操作にこだわってしまいそうな感じがしたからだ。具体的に指示した結果、個人差はあるが、概ね、ペアプロらしい、相談しながら進める感じになってよかったと思う。
この島根の講義用に作った資料は、「Rubyやプログラミングがおぼろげにわかるが、Webアプリケーションは初めてで、短い時間でRailsを体験したい」人にはなかなか良い感じの構成になったのではないかという気がする。実は、(株)万葉で新しく採用したRails未経験者向けの勉強会をしたときにも使ったりした。SlideShareに公開したので、もし役に立つシーンがあれば、ぜひ使ってみてください(※日本語オンリーです)。
ひとつ反省点としては、この資料は、とてもRuby的に、見やすい大きな文字を使っているのだが、生徒さんたちが演習する際に何度も見たい内容が1ページに入りきってないという問題がある。演習課題だけでも何枚にもなり、さらにヒント等もあるので、ディスプレイに映すのだと、ちらちら色々映し変えないといけない。複数の人を対象にしていると、その人の見たい画面を映すのが大変だ。なので、このような「演習問題」にあたる部分をあらかじめ印刷して、受講者の手元に配ることをおすすめする。