まめ畑

ゆるゆると書いていきます

プログラムを教えるにあたって

今少しプログラムを教える事を細々とやっているのですが、プログラムを教える時のスタンスに迷いが生じているこの頃です。

教えるスタンスまとめ

  1. コードを懇切丁寧に解説するかの如く教えていく
  2. 考えるようにヒントを与えながらレスポンスに対してコメントしながら
  3. ヒントのみを与える
  4. コードを書いてしまう

こんな感じでしょうか?

さて本題

自分は2番な感じで教えるスタンスを取っています。
でも、結構1番最初か最後の教え方が多い気がします。


なぜ自分がこのような感じで教えているかというと、考える事が大切だと思うからです。
プログラムとかって頭を使って考えて、その考えをコードへ落とし込んでいく力が必要と思っています。
その力を養うために人間的思考をどうやって対象言語へ変換を行っていくかという思考過程を重視して教えるべきと考えるからです。


でも、最近の子を見ていて思うのですが考える前に聞いてくる人がかなり増えてきて言いる感じがします。
思考過程としては。「課題を読む→実現方法が不明→聞く」こんな感じでしょうか。
呆れたのは「課題を読む→聞く」というのがありました。


基本的に考える・調べるという事が無いのです。
確かに実現したいものがあってもどうやって実現したらいいか不明なものは多々あります。
しかし、そこで考え調べる事をするかどうかでその後が明らかに変わってくると思います。


ネット上に腐るほどの情報があり、その中で調べていく事で解決策は見つかるはずです。
やりたいこと全て見つかるなんて思っていませんがヒントは転がっています(英語が多いですが)


そういう事で、聞かれた場合はごく簡単なヒントを提示し考えてもらい、それでわからない事があったら更にヒントを出すといった事を繰り返しています。
その結果考え出されたものに関して、別の考え方や書き方がある場合は知っている限りの内容で教えます。


言葉で説明しながらコードを書かせていく方法もあるのですが、これでは思考過程は上記の状態よりも薄れて言われたままを書き写すような状態です。
それでも、書いたコードを追ってどこで何が行われているのかを考えてくれればいいのですがそうもいかないようです。


本当にどうしてもわからなかったら教えますが、その場合は必ず何をしているか確認させるようにしています。

1教えるには100を知らなければならないって高校時代に言われました。
その言葉は今でも色んな場面で自分の中にあります。


にわか技術者にはなりたくないし、そうなって欲しくもないのですが難しいです。