プログラミング教育必修化について考える
はじめに
2020年度から小学校プログラミング教育が必修化された。IT業界に携わり、小学生の子を持つ親として、プログラミング教育が必修化された背景を一度自分なりに理解してまとめておこうと考えます。
文部科学省発行「小学校プログラミング教育の手引き」には、プログラミング教育のねらいについて次のように記述されており、
プログラミング言語を覚えたり、プログラミングの技能を習得すること自体が狙いではない
と明言されています。その中でも技術者として、①「プログラミング的思考」を育むためにどういう方法が議論・検討されているのかに非常に興味を持ちました。
プログラミング的思考
「小学校プログラミング教育の手引き」には、プログラミング的思考に関して次の説明があります。
具体例として「正多角形をかく」場合について挙げられています。
紙の上に作図する場合には、正多角形がもっている「辺の長さが全て等しい」「角の大きさが全て等しい」「円に内接する」「中心角の大きさが全て等しい」といった意味や性質を使って作図します。
正六角形をコンパスと定規を使って作図する場合には「辺の長さが全て等しい」「円に内接する」といった意味と性質を使用しています。
その一方、コンピューターで作図する場合には、「辺の長さが全て等しく、角の大きさが全て等しい」という正多角形の意味を使い、処理要素(「100歩動かす」や「60度回す」など)に落とし込み、処理を組み上げることで作図することができます。
普段自身がプログラミングを行っている時の事を思い返すと、確かに処理要素への分解・整理、処理への組み上げ・最適化、このサイクルを繰り返しているように思います。その際、いかに、
「簡潔に分かりやすく記述(言語化)」
できるかに気を配っています。
これは、自分が学生時代に算数や数学を学んでいた時に無意識のうちに行っていた、
「より簡潔な解法がないか探求する」
といった習慣の延長にあると再認識しました。
しかしながら、一般的には算数・数学は問題を解く技能の習得(少なくとも自分の時代には)に重点が置かれてしまい、思考を掘り下げていくような育成ができていなかった。その補完の一手段としてプログラミング教育必修化があるのだと、個人的には考えました。
まとめ
今回、プログラミング教育必修化の背景を調べるまでは、「今の小学生はプログラミングができるようならないといけないんだね…」ぐらいにしか考えていませんでした。
しかしながら、「プログラミング教育必修化は言語・技能の習得がねらいではなく、思考力育成と情報技術教育が主」である事に今更ながら気付かされました。
「プログラミング教育必修化」は誤解を招くタイトルだと…