子どもたちの未来に責任をもつプログラミング教育を創造する

どこよりも早く小学校でのプログラミング授業を積極的に推進してきた前小金井市立前原小学校校長の松田孝先生。最終回は、プログラミング教育が目指すべき未来について教示します。

IchigoJamBASICと通信ネットワーク

2020年5月から始まったこの連載も今回で12回目となりました。これまでさまざまな小学校プログラミング教育をめぐって、持論を展開してきました。直近では「IchigoJamBASICのコーディングの知識と技能の習得」が小学校プログラミング教育の目標であると、プログラミング的思考の育成をその目標だと考える人々にとっては、到底受け入れられないような主張も展開してきました。

本連載の最後となる今回は、先の主張を支える重要な根拠として、プログラミングと通信ネットワークの問題を取り上げます。小学校段階から子どもたちが通信技術について興味・関心をもってプログラミングに取り組むことは、子どもたちのキャリア形成を考えたとき、大きなアドバンテージとなることをお伝えします。

中学校学習指導要領の「プログラミングと通信ネットワーク」

小学校のプログラミング教育だけを考えていれば、プログラミングと通信ネットワークとの関連など見えてはきません。しかし今、この問題を最も切実なものとして考えているのが、中学校の技術・家庭科の教員です。

なぜなら、中学校ではこの4月から新学習指導要領が全面実施となって、従前の「デジタル作品の設計と制作」に関する内容については、それをプログラミングを通して学び、さらにはそこで制作するコンテンツのプログラムに対して「ネットワークの利用」および「双方向性」の規定が追加されたからです。

これまでも中学校の「技術・家庭」科では、情報通信ネットワークにおける基本的な情報利用の仕組みについて学習してきました。前回の中学校学習指導要領解説技術・家庭編(平成20年7月)では「情報通信ネットワークの構成については、サーバや端末、ハブなどの機器および光ファイバや無線などの接続方法に加えて、TCP/IP などの共通の通信規約が必要なことについて簡単に知ることができるようにすることが考えられる」と記載されていました。それが今回(平成29年7月)、「IP アドレス等の通信の特性等の情報についての原理・ 法則について理解できるようにする」とその記載する表現が大きく変化しています。

このように見てくれば、中学校「技術・家庭」科では、これまでもSociety5.0の社会に必須の情報通信ネットワークについて学習する場を準備してきました。しかし小学校でプログラミング教育も実施されておらず、高等学校では「情報」科が選択必修であったことから、ここの内容理解が仮に不十分なままであったとしても、子どもたちのキャリア形成にとって不利益はありませんでした。

しかし2022年度から高等学校の学習指導要領が全面実施となると、その様相は一変することになります。

高等学校学習指導要領と大学入試

現在、高等学校の「情報」科は、「社会と情報」と「情報の科学」の2科目のうちからの選択必修となっています。そして多くの高校生(約8割)は、プログラミングを学ぶ必要のない「社会と情報」を選択して卒業していきます。

しかし時代が進展し社会が大きく変容する中、新しい学習指導要領で「情報I」が必修となって、当然そこで学んだ内容が大学入試にも出題されることになるのです。

はたしてこの3月、大学入試センターが発表した2025年度の共通テストの科目に「情報」が含まれました。そして「『情報I』の内容を『情報』として出題することおよび「情報」で一つの試験時間帯とすることが公表され、参考資料(サンプル問題)には、通信ネットワークやプログラミング、データの活用に関する問題が出題されていました。

子どものキャリア形成を考える

子どもたちの発達段階ごとに学ぶプログラミングに関わる内容を表にしてみると、以下のようになります。

こうみると小学校段階のプログラミング体験が、教科などのねらいを達成するためのものであり、プログラミング的思考の育成に止まっている限り、中学校そして高等学校で学ぶプログラミングや通信ネットワークの理解の基礎とは到底なり得ないことを痛感します。

「情報」のサンプル問題2では、大学入試センターが考案した擬似言語を用いて問題が出題されていますが、それはテキスト言語であり、小学校においてデファクトスタンダードとなっているビジュアルなブロックなどの言語ではありません。

中学校学習指導要領解説技術・家庭編には、使用するプログラミング言語については「小学校での関連する学習経験などの生徒の実態を踏まえるとともに、課題の解決に必要な機能、プログラムの制作やデバッグのしやすさ、(3)(注:計測・制御のプログラミングを指す)で使用する言語との関連などに配慮して選択する」と述べられていて、この文章の真意を「ビジュアルなブロックなどの言語からテキスト言語への移行を促している」と読み取るのは、筆者の思いが強すぎるのでしょうか。

このような状況に鑑みれば前原小学校の高学年で行った、IchigoJamBASICを使用したドローン飛行のプログラミング体験は、テキスト言語への習熟とともに通信ネットワークの仕組みなどを子どもたちが体験的に、しかも意欲をもって取り組む絶好の「学び」であると考えています。

ドローン飛行のプログラム

以下に示すのが、IchigoJamBASICでドローンを飛ばすプログラムです。

たった4行のプログラムで、ドローンを飛ばすことができます。(注)行番号10 で変数にSという名前をつけて定義して、MJ(MixJuice)とTello(IP:192.168.10.1とPORT:8889)でUDP通信を行うことをプログラムします。

ここでUDPに注目させれば、通信規約であるTCP通信との違いを知らせることができ、UDP通信の特色でもある「スピード重視だけれど、データがきちんと届くかは微妙な規約」であることをTelloを実際に飛ばすことで体感できるのです。

そしてMixJuiceからのデータが、インターネット上のTelloの住所(IPアドレス)である「192.168.10.1」にある特定の部屋(PORT:8889)に送られることを伝えることもできます。

今回(平成29年7月)の「中学校学習指導要領解説編技術・家庭」に述べられている「IP アドレス等の通信の特性等の情報についての原理・ 法則について理解できるようにする」ことを小学校段階で体験できれば、子どもたちは中学生になって「通信の特性等の情報についての原理・ 法則」を実感をもって理解できるのです。

行番号20、30、40のプログラムの「?」は、「PRINT」コマンドの省略形です。その後ろの「STR$」は(S)が文字列変数であることを表して、「;」でつないだ後のプログラムをTello(文字列変数として指定したIPアドレス)に送る、というプログラムになっています。

「command」は準備、「takeoff」は離陸、「land」は着陸です。Telloには「flip」(宙返り)のコマンドもあって、先のプログラムの行番号30と40の間に挿入できます。それが実行されたとき、子どもたちの興奮は最高潮に達します。

注)IchigoJamBASICでドローンを飛行させるには、以下の機材と事前の設定が必要となります。詳しくは、拙著「プログラミングでSTEAMな学びBOOK」(フレーベル館)を参照してください。また機材は次のサイトから購入できます。  

必要機材

  • IchigoDyhookなど+IchigoDake(IchigoJamBASICでのプログラム作成)
  • MixJuice(Telloとの通信に必要)
  • IchigoJacket(IchigoDakeを差し込んでプログラムをMixJuiceを介してTelloに送る)

事前設定

  1. TelloのWi-Fi番号(TELLO-●●●●●●)を確認して、電源を入れる。
  2. MixJuiceとTelloをつなぐ。
    次のプログラムでTelloとWi-Fi接続。
    「? “ MJ APC TELLO-●●●●●● ” 」
    接続が成功すると、モニターにIPアドレスが表示されて、Tellの緑色のLEDライトが点灯。

小学校プログラミング教育の目標

文科省は、「『情報I』教員研修用教材」をWeb上に掲載しています。そこでは「情報通信ネットワーク」をめぐって、「(1)情報通信ネットワークの仕組みと役割:サーバ、クライアント、ルータ、無線 LAN (2)通信プロトコルとデータ通信:プロトコル、経路制御、伝送制御 (3)情報セキュリティ:個人認証、デジタル署名、暗号化」の学習内容が端的に示されています。そしてここの学習にあたっては、学習指導要領の内容の取り扱いには「小規模なネットワークを設計する活動を取り入れるものとする」と記載されているのです。

算数から数学への発展を考えれば、小学校段階の算数の内容理解が基礎となって、中学校以降の数学の学習に向かう準備が整うことは納得できる考え方です。改めて子どもたちのキャリア形成を考えた時、高等学校の「情報I」の学習に向かう基礎としての小学校段階のプログラミングは、教科等の枠にとらわれることなく実施され、加えてテキスト言語での体験であることが相応しいことが納得できると思います。

最後に、改めて筆者の確信である小学校段階のプログラミング教育の目標をお伝えして、本連載を終えたいと思います。

本連載が、子どもたちの未来(キャリア形成とSociety5.0の社会をしなやかに生きる力)に責任をもつプログラミング教育を創造する刺激となれば望外の幸せに存じます。