プログラミング教育は何のために?
指導経験者から見た現在のプログラミング教育の課題
■プログラミング教育で目指すもの
小学校教育におけるプログラミング教育の指導要領の中では、その中で次の「3つの柱となる」資質・能力を育てるとしています。
【知識及び技能】
身近な生活でコンピュータが活用されていることや、問題 の解決には必要な手順があることに気付くこと。
【思考力、判断力、表現力等】
発達の段階に即して、「プログラミング的思考」 を育成すること。
【学びに向かう力、人間性等】
発達の段階に即して、コンピュータの働きを、 よりよい人生や社会づくりに生かそうとする態度を涵養すること。
要は世の中の多くの機械がコンピューターによって制御されていて、それらはすべてプログラミングによって動いているという背景から、コンピューターに意図した動作をできるようにするということを通じて、テクノロジーを上手に活用し、社会の課題を解決しようとする意欲を育んでいこうという意図が読み取れます。
ですから、プログラミング言語を習得するということは目的としていません。どちらかといえば、その前の段階で、プログラミングというものに触れて、考え方を学び、その先にある未来への可能性を想像させることが目的であるとも言えます。
■教室での指導を通じて見えたもの
さて、プログラミング教育の目的は上記のようにプログラミングに触れて、もっとやりたいという意欲を醸成し、それを活かしていきたいというマインドを育てることであると解釈すれば、まずは楽しくプログラミングをやってみようという導入が良いのだと思います。
いわゆるプログラミング教室で行われている活動はこれに当たるものが多く、どんなスキル・技能を育てるのか、というよりも触れて、親しむことが重要で、その活動を通じて指導要領的な表現をするのなら「必要な動きを分けて考える(動きを一つ一つ分解する)」「動きに対応した命令にする(動作を実現するための命令を考える)」「組み合わせる(複数の動作を組み合わせて一連の動作を構成する)」という考え方を身につけ、試行錯誤を行ながら改善をしていくという「プログラミング的思考」を養っていこうという趣旨で取り組まれているのではないかと思います。
これは機械をコントロールするだけでなく、子ども自身が学習者として自己を振り返ったときに、自らの課題を見つけ、自分自身の行動を一つ一つ振り返り、どう改善をしていけば成長・克服できるのかを考えたり、課題解決をしていく際の思考力を育む上での基礎となっていきますので、とても重要な教育であると言えるでしょう。
そう思ってロボット教室でロボット制作とプログラミングの指導を行なっていましたが、子どもが楽しそうに取り組む姿には満足していたものの、どこかに違和感を感じるようになっていました。
きっかけは保護者の方がお迎えにいらした際に「うちの子、何ができるようになりました?」と問われたこと。
そもそも、小学校低学年のロボット教室やプログラミング教室で何かスキルを身につけさせるということを目的にはしておらず、親しみ、触れて、制作したものが動くということを通じて仕組みに興味を持たせることを狙いとしていましたので、「何ができるようになりました?」という問いに答えるのなら、「今日はこのロボットを自分で製作できるようになりました。」「プログラミングでこんな動きをするようにできました。」以外にないのです。
これはプログラミング教室でも同じで、Scratchのプログラミングを教え、マニュアル通りに制作をさせたとして、それは説明書通りにコードを組むことができました。それを少し改造して独自のものに変えることができました。というだけのことであり、Scratchのスキルが向上したところで社会に出て活用できる訳でもなく、マニュアル通りに制作した成果物を見せる以外に可視化してこれができるようになりましたというものが見え辛いのです。
■マニュアル指導の限界
習い事の教室としてプログラミングを教えていると、どうしてもマニュアル通りに作業をさせることが中心となります。それが目に見えて提供できる商品であるからです。ただ、そこには大きな課題がありました。マニュアル通りに作業を進め、それが完成したら活動が一気に停滞してしまうのです。
せっかく完成させたのに、それをわざわざ改造して動かなくなったり、おかしくなったらもったいない、ということもあるのでしょうが、そもそもは何度もマニュアル通りに作業をしたところで、技能を習得しようという意志がその子になければ、改造にチャレンジできる下地となるスキルが備わらないので「改造にチャレンジすることができない」「何ができるかイメージも湧かない」という状況であるように感じました。
それなら、とScratchやそのロボットのキットの使い方の技術をもっと指導すればできるようになると考えましたが、そこに子どもとのニーズのギャップが生まれ、マニュアル通りに先に進めてさっさと完成させたい子どもと、しっかり仕組みや使い方を教えたい大人の意識に差が出ていきました。
それでも、ある程度折り合いをつけて使い方やスキル的な話をしつつ、指導をさせてもみましたが、残念ながら完成した後に積極的に改造にチャレンジして試行錯誤を試みようとする生徒はごくわずかでした。(どう改造するのかまで教えればやる子はいるのですが、改造の仕方を教えるというのは、結局言われた通りに作業をさせただけで、改造させることで試行錯誤をさせるという目的とはかけ離れていました。)
最終的に感じたのは、マニュアルの流れに沿って完成させることが目的化しており、技術の習得をお互いの目標に設定していないために生まれたギャップなんだということです。
■生徒と目的を共有しなければ成立しない
「プログラミングに親しみましょう」が生徒・保護者・指導者の間で共有するミッションであれば、こういった課題観は出てくることはなかったはずです。しかし、生徒は「完成させたい、楽しみたい」、保護者は「何らかの能力を向上させたい」、指導者は「楽しませつつ、もっとチャレンジさせたい」という状況ではかみ合わないのは当然のことです。
ですが、それぞれに接点があり、上手くつなげば良いはずなのです。実際に、プログラミング教室をマニュアル重視ではなく、プログラミング的思考力を育成するために、まずは最低限の技術を習得しましょう。という共通認識を生徒・指導者間でまずは共有し、とりあえずマニュアル通りに完成形を作らせるというのではなく、段階を踏んでステップアップしていく形に変えてみると手応えが変わっていきました。
そうなると、特定のプログラミングツールの技術の習得が目標のようになっていきますが、そこはプログラミング的思考力を育成するための手段であるというスタンスを変えず、その道具としてそのツールを選択しただけという説明をきちんとしておけば良いのです。
■プログラミングからロボットへ
そのようなことを意識してプログラミング教育を突き詰めたとき、プログラミングをした結果が目に見える成果として分かりやすいのはロボットだなと改めて感じています。
ロボット教室で指導をしていた時は、マニュアル通りに完成させることが目的化していて、見えなくなっていたのですが、プログラミングの成果を視覚的に確認でき、画面上ではなく現実の動きに反映されたものを用いて試行錯誤を行なうというのはより多くの学びが得られるものです。
画面上ではプログラミングした通りに正確に動作するのが当たり前ですが、現実の世界の中でロボットを動かすとなると、重量、摩擦、自重、空気の流れなど様々な現実の条件も含めた上での試行錯誤となり、考えなければならない条件がとても多くなるのです。
そういう意味でプログラミングツールの技術習得を超えた学びを提供するのなら、プログラミングを通じてロボットを制御するというのはとても良い選択肢だったのです。
■ロボットコンテストという目標設定
ただ、「プログラミング的思考力を育成するために、まずは最低限の技術を習得しましょう。」と言っても、生徒自身はそれで「やりたい!」とはなりにくいものです。
ですから、共通の目的をプログラミング的思考でもマニュアルでもなく「ロボットコンテストで勝とう」にすることをお勧めしています。ロボットコンテストで勝つために技術を習得し、工夫をし、試行錯誤を行なって賢くなっていこう。プログラミングのスキルは手段であり、あくまでもツールの一つであったはずですので、本来の趣旨に一番近い位置づけになるのではないかと思うのです。
「何のために?」と問われたら「ロボコンに勝つために」で充分で、そのためにプログラミングを学び、創意工夫をし、試行錯誤を通じてプログラミング的思考を育てる。その経験を基にしてプログラミングやロボットを社会にどう生かしていけるのかを考えられる人材を育てる・・・プログラミング教育に関わりながら最終的に行きついた結果です。
日本ではまだまだロボットコンテストと言っても高専ロボコン以外はそれほど盛んではないように思いますが、探すと小規模ながら意外と開催されているものです。
我々の活動もロボット制作チームを立ち上げたばかりではありますので実績があるわけではありませんが、そうした教育的な手応えと価値を感じながら活動を行なっています。
単にマニュアル通りに親しむのもプログラミング教育のあり方の一つではあると思いますが、ロボットコンテストという目標設定も広がっていくことを期待したいと思います。
■プログCLUB
東京都江東区で活動するロボット制作チームです。 小中学生、および高校生とロボコンを目指してトレーニングやロボット開発を行なっています。まだ始まったばかりの団体ですが、「より早く、より賢く、より効果的に」を合言葉にロボットコンテストに向けて取り組んでいます。また、「ロボットの技術を学ぶだけではない、総合的なマネジメント能力を学ぶ機会を作りたい」というミッションを持って活動中です。現在新規メンバー募集中です。
プログCLUBホームページ
https://moroedu.com/progclub/
誰もがロボコンを目指せる場を作ろうとクラウドファンディングに挑戦中です!
https://camp-fire.jp/projects/view/323330