先日、特進コース2年生の「情報の科学」で、プログラミング教育の中の1つである、「アルゴリズム」「問題解決能力」「論理的思考」という内容を今回はおもちゃを使って証明してみようということをやってみました。

今回使用したおもちゃは、「ハノイの塔」と呼ばれる数学の教科書にも載っている玩具の一種で、円盤を1つづつ動かして隣の杭に大きい順に重ねていくというおもちゃですが、このハノイの塔はコンピュータのC言語プログラムの中でも、再帰アルゴリズムというもので表すことができるため、ゲームに取り組みながら法則を見つけて再帰アルゴリズムを理解しようというものでしたが、生徒たちは、ルールも目的もわかるけど最小の回数で行うには難しいし、なかなか出来ないと言いながらも、とても楽しそうにゲームに取り組んでいました。


もう一つは誰でも一度は見たことがあるルービックキューブをプログラミングという観点から証明してみようということをやりました。アルゴリズムとしては単純なツリー型の数学的要素を理解するには難しいようでしたが、一般的な3×3×3の正6面体のルービックキューブだけでなく、2×2×2の正六面体や、ピラミンクスと呼ばれるピラミッド型(正確には三角錐)のルービックキューブなど、多種多様なルービックキューブに悪戦苦闘しながら、面の揃え方をネット検索しながらでしたが、生徒たちは楽しそうにアルゴリズムを理解しルービックキューブを解いていました。