RubyKaigi 2008 教育セッションのメモ
Ruby<を>教えるんじゃない、Ruby<で>教えてるんだってば by 東大-増原さん
- 400人くらいにコンピュータサイエンスの基礎を教えている
- Rubyじゃなくてもいいけど、動くものを作ってアルゴリズムや計算量を教えている
- 400人全員がRubyistになるわけじゃないw
なんでRubyを使ったか?
- アメリカで6年の間に大学でコンピュータサイエンスを学ぶ人が1/6に。日本でも同じ傾向が。
- ハッカーでない人にプログラムの面白さを伝えるように変えよう。
- 前はJavaで教えていたがpublic static void mainはねーよw
教育言語選択の基準
- 家でもできる。
- 日本語ドキュメントが豊富。
- オブジェクト指向言語
- JS, Python, なでしこ, Rubyなどが候補に。
教え方
- Rubyのライブラリにあるメソッドは使わない。自分で作る。元からあるメソッドの説明が大変
- とりあえずクラスを使わずに教えた。最初は制御構文から教えて最後の最後でクラス
つまったところ
- 学生がインデントをしてくれない。
- 先生エラーがあります。なんのエラー? 変なエラーです。…
- 学生がエラーメッセージ読んでくれない。
- 日本語が出ねー。
- "が全角w
- 全角空白が入ってるw
まとめ
なんの言語を使おうと最初は文法とかでつまずくんだよね。
成功するRuby教育のプラクティス by 吉田さん
いかに初心者にRubyを教えるのかという課題へ朝挑戦してのプラクティス。
社内にRuby開発者を増やすには?
- 社内でできる人が教える
- EY-Officeを呼ぶw
- 他社の教育サービス利用
- 勉強会とかに参加
1番がいいんじゃない?という話
- 会社や部署によってやりたいこと、教えるべきことが変わってくる。自分たちの特徴をいかせる
- 社内に教える文化ができる。
教える側のメリット
- 講師が一番勉強になる
- 将来、講師業という選択枝が増える
プラクティス
RSpecによるRailsアプリケーションBDD事例報告 by Yuguiさん
ASPの既存サービス改修からRailsに置き換えてSpecを使ってプロジェクトを立て直した記録。
結局上の方針は没に
- 事業方針的にスピードが足りない
- それでもまだ出るバグ
- 既存のバグで機能追加に手が回らない
ここで新たな要件が入る
- 既存システムを1ヶ月でリプレイス+機能追加
→既存システムがバグバグで救いようがないからいっそ置き換えてしまえ!
やってみた結果
- 慣れてる人がSpecを書きながら作る
- 慣れてない人がSpecを真似ながらかける
- Specがあることで剛健なアプリを作れた。
まとめ
実際にやっていた人からSpecがあると安心できるねという感想。