Upgrade to Pro — share decks privately, control downloads, hide ads and more …

プログラミング初心者に教えるときは「身近な比喩」が重要なのだ! / Metaphor is I...

プログラミング初心者に教えるときは「身近な比喩」が重要なのだ! / Metaphor is Important for Beginner Programmer

Yoshiaki Yoshida

December 08, 2018
Tweet

More Decks by Yoshiaki Yoshida

Other Decks in Technology

Transcript

  1. 教える?伝える? - プログラミング初心者に教えるときに「身近な比喩」を使うと良い - 「プログラミング講師じゃないから, 関係なさそう」 - プログラミング講師に限らず, 誰でも「教える (伝える)

    機会」はある - 新入社員に教える (伝える) - デザイナーなどの, 異なるロールのメンバーに教える (伝える) - 新しくプロジェクトに入ったメンバーに教える (伝える)
  2. 「if ってなんですか?」 おおお, なるほど! 身近にたくさん if がありそう! 「if とは if

    です」 例えば, 電車の時刻表を見ると, 平日は黒文字, 休日は赤文字になっているよね? 平日 or 休日など, 条件分岐が必要なときに使うんだよ!
  3. Ruby / Ruby on Rails で 連想できる「身近な比喩」とは? - 例えば, each

    - 例えば, Router + MVC - 例えば, REPL (irb, rails console)
  4. 例えば, each members = ['A', 'B', 'C'] members.each do |member|

    puts member end どこから来た member ? each って何のこと ? | って何 ? 全然わからない! と言われたら どう説明する?
  5. 処理フローを連想できるようになる members = ['A', 'B', 'C'] members.each do |member| puts

    member end 1番前にいる お客さん レジで接客を受けているお客さん お客さんが並んでいる
  6. 株式会社 Rails (大企業) を連想する Router Controller Model View 複数の部署があり ハンコをもらって

    承認を進める感じ (役割を明確に) データが必要な場合は モデル部署に依頼する
  7. 例えば, REPL (irb, rails console) > User.find(1) > User.find([1,2,3]) >

    User.find_by(name: 'kakakakakku') > User.count なぜ, わざわざターミナルを開いて コマンドを実行しないといけないの?
  8. まだまだ, たくさんある - 文字列 / シンボル / 配列 / ハッシュ

    とは? - Bundler / Gemfile とは? - rails db:migrate とは? - belongs_to / has_many / has_many through とは? - STI (Single Inheritance Table) とは? - などなど
  9. 「エラー」= 恐怖体験? - 特にプログラミング初心者は, エラーが出ると, 思考停止してしまう - そして, 学習するモチベーションが一気に下がってしまう (英語もよくわからない)

    - 挫折する原因の1つ - 職業プログラマでも, エラーは大量に出るよ!ということを事実として伝える - そして「いかに早くエラーの原因を特定できるか」がスキルであることも伝える
  10. - 2018.11.22 発売 - タイトルに「超入門」とある通り,
 本当に初心者でも理解できるように工夫されている - 「変数はオブジェクトに貼る名札である」 - 「irb

    はプログラムを1行ずつその場ですぐに実行できる道具」 - 「エラーが起きても, パソコンは壊れない!安心して!」 - if の解説にも多くのページが使われている
  11. まとめ - プログラミング講師に限らず, 誰でも「教える (伝える) 機会」はある -そのときに, 連想できる「身近な比喩」を使うと良い - プログラミング初心者に,

    エラーを楽しんでもらう - エラー探偵になり, 解決できたときの喜びを大切にする \皆さんも「身近な比喩」を探してみませんか?/