小学校のプログラミング教育の目的とは?
小学校で必修化されたプログラミング教育。「プログラミング的思考」を身に付けると、一体どんな良いことがあるのでしょうか? 小学校のプログラミング教育の第一人者である東京学芸大学附属竹早小学校の佐藤正範先生(取材当時、現:北海道教育大学 未来の学び協創研究センター講師)に、実際の授業の様子やご家庭でも簡単に取り入れられるアイデアについて教えていただきました。
まずは、なぜ小学校の教育にプログラミングが取り入れられることになったのでしょうか。
佐藤先生によるとその答えは、イギリスやオーストラリアなど海外のコンピューター教育の取り組みが背景にあるのだそう。
佐藤先生「イギリスでは、以前から小学校の授業でコンピューターを取り入れていました。国語、算数、理科、社会と同じ位置付けでコンピューティングという教科があり、コンピューターの知識や技能を学んでいたようです。ところが時代が移り変わり、パソコンやスマホで調べればなんでも分かる世の中になっていきました。
そこで、コンピューターの知識や技能よりも、より『考えること』を重視するという方向性になってきたのです。例えば、コンピューターを活用しつつお互いの考えをディスカッションして知識を高め合う、そんな授業を大切にしましょうということですね。
これは新しい教育の取り組みで、いわゆる『21世紀型スキル』という概念です。簡単に言うと『いかに自分で考えて主体的に社会に参画できるようになるのか』という考え方です。
このような背景があり、イギリスの教育をモデルにしている日本でもコンピューターを活用した教育を導入しましょうということになったのです」
この流れで、現在、コンピューターを活用し、論理的に学ぶことを目的とした「プログラミング的思考」を育てる授業が日本中の小学校で導入されています。
プログラミング的思考とは「トライアンドエラー」
「プログラミング的思考」と言われても、ピンとこない方も多いのではないでしょうか。そこで佐藤先生に「プログラミング的思考」とはどのような考え方で、また実際にはどういった形で授業に取り入れられているのかを伺いました。
佐藤先生「プログラミング的思考で大事なことは『トライアンドエラー』という考え方です。例えば何かの問題を解決しようとする時、子どもたちに『まずはゴールを目指そうね』と指導します。ゴールをはっきりとさせてから、子どもたちに、問題解決のための最適なやり方を考えてもらうのです。
そして、『やってみた方法がだめなら修正しようね』ということを繰り返します。これが『トライアンドエラー』という考え方であり、大事な思考なのです。試して、繰り返して、修正をする、この部分が非常に大事です。
同時に、『失敗は成功へのステップだから、ポジティブに捉えればいいよ』とも指導しています」
こういった「プログラミング的思考」ができるようになることを目的とするのが、小学校のプログラミング教育なのです。
プログラミング教育の時間数や科目についての決まりはない!?
プログラミング教育の実際の授業は、どのような形で行われているのでしょうか。
佐藤先生によると、プログラミング教育の授業科目や時間数は、文部科学省で定められた「学習指導要領」を基本にしつつ、全国各小学校に任されているのだそうです。
佐藤先生「『プログラミング』という教科があるわけではないので、専用の教科書もありません。そのため、プログラミング教育は算数の授業に組み込まれていたり、図画工作や音楽の授業で行われているなど学校や先生の工夫次第なのが現状です。教科として独立していないため、テストも行わないので、成績評価もありません」
佐藤先生によると、現段階では、小学校でのプログラミング教育は「楽しむことが目的の一つ」とのこと。つまり、プログラミング的思考を子どもたち自身が使いこなして楽しむことに重きを置いているのだそうです。
プログラミング的思考を身に付けるメリットとは?
子どもたちがプログラミング的思考を身に付けることによって、どのようなメリットがあるのでしょうか。
佐藤先生によると最も大きなメリットは、「自分自身を客観的に見るきっかけになる」ことだそうです。その詳細について解説してもらいました。
トライアンドエラーの良い影響が出る
プログラミング的思考を取り入れた学習は多くの小学校で3年生、4年生でスタートします。その理由は、この時期に「メタ認知」という機能が発達することが背景にあるのだそう。
「メタ認知」とは、自分自身を俯瞰(ふかん)してみることができる発達段階のことですが、これがプログラミング的思考を身に付けるメリットの「自分自身を客観的に見る」ことと親和性があり、良い影響が期待できるのだそう。
佐藤先生「小学校の3年生、4年生といえば、まだまだ感情的で突発的な行動をする子どもが多いといえます。でも自分自身を客観的に見るようになると、今まで直感で行動していた子どもがワンクッション置いて、落ち着いた行動ができるようになるんです。まさにこれがプログラミング的思考で身に付いた『トライアンドエラー』の効果だといえます」
日常生活においても、
- 子どもたちが物事を詳しく説明できるようになる
- 物事を順序立てて説明できるようになる
といったメリットが感じられるそうです。
プログラミング的思考を取り入れた実際の授業の例
多くの小学校のプログラミング的思考の授業でよく取り入れられているのが、ロボットを使った作図です。これには、さまざまなパターンがあるのだそう。
佐藤先生「例えば『ロボットが60度ずつ曲がって進む、これを繰り返すと何角形ができますか』という問題では、子どもたちが実際にパソコンを使って作図をしていきます。角度を変えるたびに出来上がる図形が、変わっていく面白さ・楽しさに子どもたちは夢中になり、知らず知らずにトライアンドエラーを繰り返して学習していくんです」
実際にどのような教材があるのでしょう。東京学芸大学附属竹早小学校で使っている教材の中からいくつかを佐藤先生に紹介してもらいました。
ものの仕組みを学ぶための教材「micro:bit」はポケットサイズのコンピュータ。ボタン、センサー、LEDライトディスプレイなどのほか入出力機能を備えていて、コンピュータの動作を理解する勉強に役立ちます。
プログラミング言語を知らなくても直感的にプログラミングとして組み立てられる「SONY MESH」は、7種類のブロックがあります。ブロック別に学ぶことができ、例えばモーターとつないで車を動かしてみたり、簡単なプログラミングで仕組みをつくることができます。
これらは、いずれもプログラミングの知識を得るためではなく、思考を育てるための教材として活用されています。
東京学芸大学附属竹早小学校では4年生の子どもたちが教材を使って、学校の前にある、事故が多い交差点の信号機をもっと安全にできないかと考えたことがあったそう。
つまりプログラミング的思考で、現実の問題を解決しようと小学生が取り組んだのです。
ただ、警察署に提案しようという段階で新型コロナウイルスの影響を受け、最終的にゴールに行きつけなかったのが残念だったとか。しかし、大きな目標を持ち、ゴールを目指して頑張った意義は大きかったそうです。
小学校のプログラミング学習。家庭でサポートできることは?
自分自身がプログラミングに縁がないので、子どものプログラミング学習が不安という方もいらっしゃるかもしれません。
佐藤先生も保護者から、「家ではどのようにサポートすればよいのでしょうか」というような相談を受けることがよくあるそうです。そんな時、佐藤先生が保護者に話すポイントについて伺いました。
「どうしてそう考えたの?」と問うことが重要
佐藤先生「例えば夕食の献立がカレーで、子どもにおつかいを頼む時、たぶんお母さんはお子さんに食材などを書いたメモを渡すと思います。
でもプログラミング的思考を養うためには、お母さんは『カレーを作る材料を買ってきて』と言いましょう。要は子どもに考えさせて責任を預ける、トライアンドエラーをさせることが大切なのです。お子さん自身にきちんと分析をさせて物事を判断させ、最後までやってもらうことが重要です」
また、佐藤先生は保護者にも考えてほしいことがあるといいます。それはお子さんが失敗した時に叱るのではなく、「なぜこの子はこんなことをしたのだろう」という疑問を持つことだそう。
佐藤先生「子どもが失敗した場合も、そこには子どもなりのプログラミング(考えて、子どもなりの決断によってこうなったという過程)があるからです。結果的には失敗したけれど、その失敗の思考まで保護者が子どもの行動を分解してみてあげると、解釈が変わってくることが多いですよ」
つい叱りたくなる子どもの失敗。でもそこでグッとこらえて、「どうしてそう考えたのかな?」と聞いてあげましょう。それこそが、お子さんがプログラミング的思考を身に付けるために家庭でできるサポートなのです。
普段の生活でも役立つプログラミング的思考
佐藤先生は「プログラミング的思考を養うことは、普段の生活にも活かすことができる」といいます。
佐藤先生「とある学校での事例なのですが、限られた時間の中でいかに効率的に掃除をするか、子どもたちがプログラミング的思考でいろいろ考える授業がありました。そんな中、一人の女の子が反省会で『私、大失敗しました』と。一体どうしたのと聞くと、グループの掃除が早く終わったので、他のグループの掃除を手伝い早く終わらせてしまった、失敗とは計画になかったことをやってしまったことです、ごめんなさい。と言ったそうなんです」
もちろん女の子が他のグループの掃除の手伝いをした事は、決して失敗ではありません。つまり女の子はプログラミング的思考により最適なシミュレーションを選択した結果、掃除が早く終わりました。その後、人が本来持っている「柔軟性」という思考で他の班の掃除を手伝ったというエピソードです。これは何を意味するのでしょうか。
佐藤先生は言います。「プログラミング的思考は論理的思考で硬いものがあるからこそ人間の柔軟性の部分がすごく引き立つし、人の思考の最適な部分を引き出せる、そこがすごいと思いました」と。
そして、プログラミング的思考をきちんと理解して、その考え方を養っていけば、子どもたちがこれから良い選択をするためにきっと役立つと、あらためて感じたそうです。
料理や掃除にもプログラミング的思考を活かすことができる
佐藤先生の話を伺うと、普段の生活の中でもプログラミング的思考を養うことができるのがよく分かります。先ほど紹介したおつかいや、料理、掃除といったごく日常の家事からも、子どものプログラミング的思考を育てることができるのです。「学習」と構えずに、暮らしの中でプログラミング的思考を親子で意識できるといいですね。
また、最近ではプログラミングを学べる体験型イベントも増えています。
東京ガスの料理教室では、プログラミング的思考を使った親子向けの料理教室を開催したことも。このように親子で気軽に参加できそうなものを探してみるのも楽しそうです。
参考:東京ガス料理教室 料理は「プログラミング」!?カラフルジャガイモやグッズが届く!食でプログラミングの考え方を育む親子オンライン料理教室を開催
おわりに
佐藤先生のお話で、「プログラミング的思考」を取り入れることは簡単であるということが分かっていただけたのではないでしょうか。
親は子どもと目線を合わせて丁寧に話を聞き、子どものさまざまな考えを引き出してあげることで、プログラミング的思考を育むことを意識していきたいですね。