
少し前に1年間、子供向けプログラミング教室のアルバイトをしていました。授業を繰り返していると、子どもたちが詰まりやすいポイントがだんだん見えてきます。そこで作成したのがこの図で、毎回、授業の前にこの図を説明するようにしたところ、授業の質が上がった気がします。
図の解説
左の図はダメな例です。プログラミングのゴールまで一気にジャンプするのは効率的に見えます。もし、あなたが天才プログラマであれば一発ですべて解決できるかもしれません。しかし、なかなかうまくいかないのがプログラミングでもあります。
たいていの場合、ゴールまでの道のりは階段のようになっています。この階段を一気にジャンプしてしまうと、問題があった場合に、1段目が問題なのか、2段目が問題なのか、どこに問題があったのかの特定に時間がかかります。
この問題を解決するためには、ゴールまでの道のりを小さい階段に分解します。そして、小さく分解した階段をひとつずつ登っていきます。
まとめると、授業で課題に取りかかる前に、以下のようにすすめました。
- 問題をホワイトボードに書き出し、分解する。たとえば、問題文をスラッシュで区切る(LEDをチカチカさせ / 5秒後に消す)
- 分解したものを一列に並べて、優先順位をつける
- 優先順位の高いものからひとつずつ実装していく
お試しあれー。