2020年必修化予定の小学校のプログラミング教育(文科省):課題は?事前に準備することは?

小学校プログラミング必修化

 既にご存知とは思いますが、小学校教育で2020年に大きな改定が予定されています。

 それはプログラミング教育と英語教育です。

 本記事では、小学生のプログラミング教育について、文部科学省の公開情報をご紹介しています。

 合わせましてプログラミング教育の必要性や問題点にも触れています。

 コンピュータ業界に身を置く者としまして、自身の経験を踏まえた内容になっております。

 プログラミング教育について考えるきっかけになって頂ければ幸いです。

既に義務教育でのプログラミングは始まっている

 高校生は2003年から情報科の授業で、中学生は2012年から技術家庭科の授業で、既にコンピュータの授業が必修になってます。

 また、一部の小学校では、既にプログラミング教育を採用しているところがあるそうです。

 プログラミングという言葉をお聞きになって、さっぱりどういうものか解からないという方や、「あー、あの英単語がうじゃうじゃ並んでるあれでしょ」という方や、「うちの息子は自分のパソコンでプログラミングやってます」という方など、様々な反応があると思います。

 詳しい説明は後ほど出てきますが、プログラミングとは、簡単に言いますと、コンピュータ(パソコンなど)に命令するためのプログラム(命令を集めたもの)を作ること指します。

 パソコンが登場し始めたのが1970年代後半ですから、わずか50年足らずで、いよいよ小学校教育にプログラミングの授業が必修化されます。

 小学生の皆さんにプログラミング技術の初歩を学んでいただいて、将来様々な分野の発展に貢献できる社会人になって頂くためにも、私たち大人が一緒になってプログラミング教育に取り組んでいく必要があるのではないかと考えます。

そもそもプログラミングとは

 上にも書かせていただきましたが、プログラミングとは、コンピュータ(パソコンなど)に命令するためのプログラム(命令を集めたもの)を作ることです。

 プログラミングの説明の前に、コンピュータとプログラムについて説明させて下さい。

コンピュータとは

 コンピュータというものは、それ自体は電子部品や記憶装置などを組み合わせて作られた単なる機械です。

 実はそれだけではなんの役にも立ちません。

 コンピュータを人間の役に立つものにするためには、人間がコンピュータに対して命令する必要があります。

 コンピュータは人間から命令された通りに動作を行い、その動作した結果を人間が利用しているのです。

 その命令を集めたものがプログラムになります。

プログラムとは

 プログラムとは、人間がコンピュータに対して行う命令を集めたものを指します。

 パソコン内では、実は大量のプログラムが動いています。

 WindowsやMacOSと呼ばれているものも、そのうちのひとつで、OS(オペレーティングシステム)というパソコンには欠かせないプログラムです。

 このOS(オペレーティングシステム)のお陰で、私たちはパソコンという単独では使えない機械を、道具として使うことができるようになります。

 更に、パソコンにプログラムを追加することで、もっと使いやすくすることも可能です。

 ワードやエクセルといったアプリケーションと呼ばれているものもプログラムでして、それらをパソコンに追加(インストール)することで、仕事の資料を作成したり、一覧表を簡単に作成することができるようになります。

プログラミングとは

 このようにプログラムといいますのは、コンピュータにとって無くてはならないものになります。

 もっと言いますと、コンピュータを生かすも殺すもプログラム次第なのです。

 技術が進化して素晴らしいコンピュータが発明されたとしても、世の中のニーズに合った、私たち皆が使いやすいプログラムを作らないと全く意味がないことになってしまいます。

 そのプログラムを作成することをプログラミングといいます。

 プログラミングと聞きますと、英単語がいっぱい書いてある謎の文章みたいなものを想像される方もいらっしゃると思います。

 確かに、そのようなプログラミングの方法もありますが、実はマウスだけで簡単にプログラミングすることも可能なのです。

 後ほど、実際に小学校教育で利用されているものをご紹介します。

プログラミング教育はどのようなことを目的とした教育なのか

 前項の「そもそもプログラミングとはなんなのか」で、プログラムの重要性について書かせていただきました。

 ここではプログラミング教育の目的について解説させてください。

プログラミング教育は将来のコンピュータ技術者育成のため?

 コンピュータにとってプログラムが重要だとすると、プログラミング教育は、「その重要なプログラムを作り出すための技術者を養成することが目的なのでは?」という風に感じる方がいらっしゃるかと思います。

 また「プログラムの作り方というものは時代によって変わるから、プログラミング教育に時間をかけることは全くの無駄ではないか」などという反対意見も出てきているようです。

プログラミング的思考の育成が目的

 実は私も最初は、コンピュータの技術者育成が目的なのでは?と思ってました。

 この点に関しましては、文部科学省でも懸念事項として取り上げてました。

 文部科学省としましては、以下のように考えています。

プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。


文部科学省資料「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」より引用

(※引用文中の「コーディング」は、本記事におきましてはプログラミングと同等の意味と考えて頂いて問題ありません。)

コンピュータに使われるのではなく使う側になることが必要

 現代は情報化社会の真っただ中にあって、コンピュータ無しでは成り立たない世の中になっています。

 将来的にはもっと技術が発達し、例えば人工知能の進化によりコンピュータが様々な重要な判断を行ったり、身近にあるもの(家電、キッチン用品、車など)が全てインターネット上で当たり前のように管理されるようになったりすることなどが予想されます。

 今以上にコンピュータ、それも今より高性能で操作しやすいコンピュータを日常的に使うことが常識になると思います。

 これは、当然日常生活だけではなく、どんな職業に就いたとしても変わらないでしょう。

 そのような時代を生き抜き、様々な職業に就き、よりよい社会を創造していくためには、コンピュータに使われる(操られる)ことのない、使う側の人間になるための考え方が必要になってくると思います。

 この考え方のことを「プログラミング的思考」と表現しているのでしょう。

 そして、その考え方を養うものこそが、これから必要とされるプログラミング教育だ、ということです。

 世界に目を向けてみますと、プログラミング教育を初等教育(日本の小学校)から必修科目として取り入れている国は、英国やロシアなどまだ数か国にすぎません。

 しかし、多くの国で初等教育からプログラミング教育を必修とするように動いています。

 世界中で、プログラミング教育の重要性を認識し、初等教育から導入しようとしているのです。

小学校のプログラミング教育に備えて事前にどのようなを準備した方が良いのか

 準備した方が良いことをお伝えする前に、現状行われているプログラミング教育をご紹介したいと思います。

現状のプログラミング教育例

プロロボUSBプラスの利用

 まずは、プロロボUSBプラスというロボットを利用した例です。

 プロロボUSBプラスは山崎教育システム(株)が開発した教育用ミニロボットです。

 詳しくは公式サイトをご覧ください。

 これは、パソコンにインストールされたプロロボUSBエディタというソフトウエアを使用して、プロロボに対する命令を記述し、パソコンとUSBケーブルで接続されたプロロボに記述した命令を伝えて、プロロボを命令したとおりに動かすことができる製品です。

 授業は以下のように進められています。

授業内容:ロボットがおすしを運ぶおすし屋さんを作る

  • ロボットが運ぶおすしや受け皿を紙粘土で作成する。
  • 大き目の紙にプロロボの通り道、お客さんの席、その他お店の装飾などを描く。
  • 先生がロボットをどのように動かすか課題を1つ出す。その通り動くようにパソコン上でプログラムを作る(直進でお客さんの席に移動して、バックして戻るという簡単な課題)
  • 試しにプロロボを動かしてみて、失敗したらプログラムを修正する、ということを繰り返す
  • 1つ目の課題が完成したら、実際におすし屋さんごっこをして遊ばせる
  • 最後に、工夫点など感想を発表させる
  • 余裕があったら、もっと複雑な動きに挑戦させる

 授業後の生徒の声として以下のようなものがあったようです。

>プログラミングはむずかしいと思っていたけど,とてもかんたんにできた。
>プロロボがセンサで動いたら「やったー」と思った。
>少しだけのミスで,ぜんぜんちがうことになってしまうことに気づいた。
>プロロボを自由自在に動かしてみて,プログラミングは身近なところで使われていることが分かった。
>むずかしかったけど,3人でいろいろ工夫して,協力してできたのでよかったです。


文部科学省資料「プログラミング教育実践ガイド-めざせ!行列のできるおすし屋さん! 」より引用

Scratchの利用

 次は、Scratch(スクラッチ)というプログラミングツールを利用した例です。

 上でご紹介しました「プロロボUSBプラス」の例は、パソコンの外にあるロボットに命令を出すものでしたが、Scratchはパソコンの画面上に表示されているアニメキャラクターに対して、命令をして動かすことが出来ます。

 Scratchは、ブラウザ上で動くソフトウエアでして、インターネット上のサーバーに作成したプログラムを保存することが出来ます。また、サーバーに保存したプログラムを世界中の人が見て動かすことが出来ます。

 このソフトウエアは、アメリカ合衆国のマサチューセッツ工科大学の 建築・計画スクール内に設置された研究所であるMITメディアラボで開発されたソフトウエアでして、世界中の教育現場で使われてます。

 誰でも無料で利用することが出来ます。

 詳しくはScratchの公式サイトをご参照ください。

 もちろん日本語で表示されます。

Scratch公式サイト

 でも、まだ日本語対応されていない部分も多いですので、GoogleやYahooなどで「Scratch」で検索した方が良いかもしれません。

 授業は以下のように進められています。

授業内容:調べた人物をプログラムで表現してみよう

  • プログラミングの作品を見てみよう
  • Scratch を試してみよう 1(セリフの追加,音を追加)
  • Scratch を試してみよう 2(待つ,繰り返し,制御の方法)
  • 大学生の作品を見て,ブロックのしくみを理解しよう(条件分岐)
  • 調べた人物を Scratch で表現してみよう
  • 大学生とのコラボレーションで完成させよう

 授業後の生徒の声として以下のようなものがあったようです。

>みんなの書いた絵が動いているのは,おもしろかったです。顔が速く動いたり,遅く動いたりしてびっくりしました。こういう機能があると便利だと思います。
>スクラッチに出てくる「座標 x,y」があまり分からなかったけど,少し使い方が分かったので,自分でも使ってみたいと思います。
>自分の絵に音を入れてみたりして遊んでみました。難しそうだったけど,ブロックを見てなんとなく分かってきました。
>大学生の皆さん,私たちの絵を加工して面白くしてくれてありがとうございます。学校でやっているスクラッチにこんな秘めた才能があるなんて思いませんでした。
>私たちが書いた絵が動いた時はすごくびっくりしました。私はパソコンを操作するのが苦手なんですが,この絵を見てスクラッチはすごいなと思いました。


文部科学省資料「プログラミング教育実践ガイド-調べた人物をプログラムで表現してみよう」より抜粋

 この例のように、小学校で行われている現状のプログラミング教育は、既にあるおもちゃやソフトウエアをうまく利用して、先生から出された課題を生徒が協力しあって解決していく方法を採用しているようです。

プログラミング教育が始まる前に行った方がよいこと

 2つほど文部科学省の資料から引用させて頂きます。

 小学校におけるプログラミング教育が目指すのは、前述のように、子供たちが、コンピュータに意図した処理を行うよう指示することができるということを体験しながら、身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと、各教科等で育まれる思考力を基盤としながら基礎的な「プログラミング的思考」を身に付けること、コンピュータの働きを自分の生活に生かそうとする態度を身に付けることである。


 プログラミング教育の実施に当たっては、コーディングを覚えることが目的ではないことを明確に共有していくことが不可欠である。また、「主体的・対話的で深い学び」の実現に資するプログラミング教育とすることが重要であり、一人で黙々とコンピュータに向かっているだけで授業が終わったり、子供自身の生活や体験と切り離された抽象的な内容に終始したりすることがないよう、留意が必要である。楽しく学んでコンピュータに触れることが好きになることが重要であるが、一方で、楽しいだけで終わっては学校教育としての学習成果に結びついたとは言えず、子供たちの感性や学習意欲に働きかけるためにも不十分である。学習を通じて、子供たちが何に気付き、何を理解し、何を身に付けるようにするのかといった、指導上のねらいを明確にする必要がある。


文部科学省資料「小学校段階における論理的思考力や創造性、問題解決能力等の育成とプログラミング教育に関する有識者会議」より引用

 これを実現するためには、教育に使用するツール選びよりも、そのツールを使って、なにを、どのようにさせるかが重要になってくると思われます。

 単に子供が飛びつきそうなものや楽しめそうなものだけではダメだということですね。

 以上を踏まえますと、まだ小学校のプログラミング教育に関する要綱が正式に決まっていない段階で、早まってプログラミング教育に関する準備を勝手に進めてしまいますと、文科省の考えている教育論と外れる可能性が心配されます。

 でも、公式な教育としてではなく、ご家庭でお子さんと一緒になって、本記事で挙げたおもちゃやソフトウエアで悪戦苦闘しながら遊んでみるのは、家族みんなでプログラミングに慣れ親しむという意味で、とても効果的なことだと考えます。

 特にScratchは世界中の教育の場で良く利用されているソフトウエアですので、大変おすすめです。

 文部科学省はプログラミング教育で使用するツールとして、「Scratch」を利用するようになるのではないかと私は予想しています。

 ご家族一緒になってお試しになってみてはいかがでしょう。

最後に

 パソコンやインターネットがまだ普及していなかったころは、情報を入手する手段がテレビやラジオ、書籍など限られた手段しかなかったため、情報の広まるスピードは遅い時代でした。

 現代は情報を入手する手段が圧倒的に増えており、またそのリアルタイム性も格段に増したため、やる気になれば、昔は知ることが出来なかった情報を多方面から入手できます。

 情報がリアルタイムに多方面から入手できるようになったことは素晴らしいことです。

 その反面、インターネット上の情報を自分で考えて選択することができない方々は、トラブルに巻き込まれやすくなってきました。

 SNSや掲示板に書かれている内容をそのまま直ぐ真に受けてしまい、その情報を更に世の中に広めてしまうという、昔とは違った形で情報操作されてしまうという危険にさらされていると思います。

 それを防ぐためには、入手した情報を理解して、じっくり検証して、自分として正しい結論を出すという技術が必要不可欠でしょう。

 莫大な情報を簡単に誰でも入手できる時代には絶対に必要です。

 このことが小学校のプログラミング教育の理念に含まれることを願います。

 次回は、家族一緒に取り組むプログラミング教育についての記事「プログラミング教育は小学生だけではなく親の取り組みも重要なポイント」を書かせていただいております。

 そちらもお読みいただければ幸いです。

 最後までお読みいただきありがとうございました!

コメント