ブラグラミングの基礎を教えるときに、最初に必ずならうのが順次、反復、条件分岐だ。
確かにどれも、基本処理なので最初に教えることに異論はないのだが、教え方に工夫が必要だと思っている。

反復を教えるときに図形を書かせる教材が多い。
「線を引きながら右に〇〇歩進んで、左を90度向く。これを4回繰り返すと正方形を書くことができる」
といった類だ。

小学校プログラミング教育に関する研修教材(文部科学省)で紹介された教材「正方形をかく



三角形はどうやったら描ける? あるいは、五角形はどうやったら描ける? と、演習が続く。
はたして、子どもたちは順次の概念を覚えて、三角形、四角形、五角形を描くプログラミングを覚える。
これはプログラミングの順次を教えるのには確かに簡単だし、子どもには理解しやすいだろ。

けれど、
これではプログラムをつかった「課題解決」に発想が至らないのではないかと思うのだ。

我々がコンピュータを使うのは、人手を少なくする。ひとが行っていることをコンピュータに代替えさせるというのが一つの目的だろう。
コンピュータが「反復」に強く、人には到底及ばないスピードで反復を繰り返すことは想像に難くない。
だとすると、ひとが行ている反復作業をコンピュータに代替えしたり、あるいは、反復で解くことができる課題解決方法を我々の生活から見出す訓練をするのも必要なのではないだろうか?

図形を好きな子どもも、さして興味がない子どももいるだろう。
図形を描くことを例にプログラミングの反復を教えるのは一つの方法ではあるが、むしろ、子どもたちの生活の中にある反復を、探す力を身に着けることが必要なのではないかと思う。