あっとほーむでパソコン教室を担当している小栗宏之(おぐり ひろし)です。
5年ほど前から不定期で教室を開催していましたが、昨年2020年1月より毎週定期的に
パソコン教室開催するようになり、早いもので1年が過ぎました。
最初から今日まで試行錯誤の繰り返しなのですが、子ども達のレベルアップが目に見えて
分かるようになってきたこともあり、これから少しずつですが、活動内容をお伝えしていきたいと思います。
前回、「プログラミング的思考」について少し触れました。
あっとほーむのパソコン教室では、この「プログラミング的思考」についても学ぶことができます。
前回、「プログラミング的思考」の説明として、このプログラミング的思考に至るまでの「目的を達成する手段や手順を考えることがアルゴリズムです」と書きました。
例えば、カーナビで目的地を検索する時、最適なルートが最初に選ばれますが、その他の候補となるルートも幾つか選べるようになっています。つまり、目的を達成するアルゴリムは、答えが1つとは限りません。
カーナビの場合、その幾つもの候補の中から最適なルートを最初に自動的に判断してくれます。(プログラミング的思考)
このアルゴリズムと「プログラミング的思考」について、あっとほーむでのパソコン教室での事例を紹介します。
先日、小学生の中級レベルの子ども達にマインクラフトのプログラミングで習った命令や処理を使って
3段ピラミッドを作成するように課題を出した時のお話しです。この課題、これまで習ったことの理解度の確認と復習の意味で行っています。
まず、「いきなり作り始めるのではなく、どのようにロボットをマイクラ内で動かして3段ピラミッドを作るのか、頭の中でシュミレーションしてください」とお話ししました。
プログラム作成の条件としては、「習った命令や機能(繰り返し、条件分岐)を可能な限り使うこと」です。
そして、「出来る限りコンパクトなプログラムを作るように」とお話ししました。
このような課題は、いつも同じ言い方をして条件も同じように伝えますが、結果、出来上がったプログラムは、どの子も異なるアルゴリズムを考えてプログラミングをしていることが分かります。
アルゴリズムを考えるだけなら、期待した結果が得られるならば、どのようなプログラムでもOKという判断をしてしまいそうです。しかし、今回の出題の意図としては、習った命令で使えるものは全て駆使して、参考に見せたピラミッドと同じものが作れることを期待します。正解に辿り着くまでに幾つもの方法があるのは承知の上で、出題する側は、プログラミング的思考を求めるので答えは、1つしかありません。
しかし、子ども達の中には、「必要な命令や機能をきちんと理解した上で、プログラムをよりコンパクトに作成するために、不要な命令は、あえて使わない」という考え方をして実際によりコンパクトなプログラムを完成させる子もいます。
出題された条件通りの方法ではないとしても、子どもにとっては、「よりコンパクトなプログラムが出来た!」という達成感で大喜びしています。
もちろん、それは褒めて合格のOKを出しました。
あっとほーむのパソコン教室は、このような枠組みに収まらないアルゴリズムを考える機会を大事にしたいと考えています。
つづく