IchigoJam BASICで共通テスト「情報」に備えよう①「プログラミング教育の課題」
2023年5月・6月に東京・大阪で行われたEDIX(教育総合展)。
くもん出版のブースでは、MAZDA Incredible Lab CEO 松田孝さんの講演「IchigoJam BASICで共通テスト『情報』に備えよう」を開催し、多くの方にご聴講いただきました。ありがとうございました。
松田孝さんは、くもん出版noteにも「現在のプログラミング教育の状況」や「大学入学共通テスト『情報』との学びのつながり」などを示したうえで、小学生のうちからテキストプログラミングを学ぶことの重要性について説く原稿を寄稿してくださいました(全3回)。
EDIX(教育総合展)の講演を聞き逃された方は、ぜひご一読ください。
全学年にIchigoJamを導入したワケ
2020年に小学校でプログラミング教育が必修化されました。そして2023年現在GIGAスクール構想によって児童・生徒に一人一台の情報端末が配備され、その実践環境が整いました。しかしながらプログラミング教育については、学校現場で今も試行錯誤が続いています。
私自身も2013年にプログラミングの授業実践を始めてから、さまざまなツールを試してきました。しかし、児童の発達段階や興味関心に応じて異なるプログラミング言語を使っていると、どうしても「つぎはぎ感」や「ごちゃごちゃ感」がありました。
転機となったのは、2016年のこと。IchigoJamとの出会いでした。IchigoJamは「こども用のコンピュータ」で、それを動かすのはBASICを改良したIchigoJam BASICというプログラミング言語です。
その最大の特徴は、PythonやJavaScriptなどの既存のテキスト言語よりも、はるかに初学者にやさしいということ。例えば、IchigoJam BASICでは、基本的にアルファベットの大文字を使用します。小文字を覚えていなくても使用可能です。仮に小文字で打ったとしてもエラーになりません。
私自身もIchigoJam BASICの構文やコマンドに慣れるにしたがい、これは小学生にも十分に扱える言語だと判断しました。外国語活動が始まり、ローマ字を習う小学校3年生のタイミングが、テキストプログラミングを導入する好機だと考えたのです。
では、低学年はどうするか。実はカトラリーアップス(CutleryApps)というカードを使用したビジュアルプログラミングのアプリを使えば、タブレットでIchigoJam BASICのコマンドを体験できるのです。低学年の児童はタイピングをするのは難しくても、ドラッグ&ドロップはお手のものです。
詳しい実践例は拙著『学校変えた最強のプログラミング教育』に譲りますが、この運命的な出会いによって、小学校1年生から6年生まで「全部IchigoJam」という統一感のあるプログラミング授業の体系が実現できたのです。
この「全部IchigoJam」。授業実践するごとに、必修化されたプログラミング教育のカリキュラムとしての有効性に留まらない、児童の将来に必要不可欠の資質・能力を育むことが見えてきました。
今、児童が生きる世の中はSociety5.0。すなわち、AIやIoTが当たり前に日常生活に入り込んでいます。これからも新たな技術が開発されるでしょう。その技術革新の核は言うまでもなくコンピュータです。児童はコンピュータとコミュニケーションを取って、相互理解を深めることで、Society5.0の真の形成者となることができます。新しい社会を安全で豊かで、そして幸せな社会にすることができるのです。このような世の中では、パソコンは使えて当たり前。タイピングとともにプログラミングの知識と技能は必須のスキルです。児童の職業選択には、ITエンジニアをはじめIT関連の職業が数多く視野に入ってきます。児童の将来を考えた時、小学校段階からのテキストプログラミングの導入は自然な流れだったのです。
今のプログラミング教育で、共通テスト「情報」に対応できるか
さらに近年、児童のキャリア形成を考えた時、切実な問題となっているのが大学入試改革です。
2022年には高校で「情報Ⅰ」が必修化、そして2025年には「情報」が共通テストの教科に追加されます。これは「義務教育終了段階での高い理数能力を、文系・理系を問わず、大学入学以降も伸ばしていけるよう、大学入学共通テストにおいて、国語、数学、英語のような基礎的な科目として必履修科目『情報I』(コンピュータの仕組み、プログラミング等)を追加するとともに、文系も含めて全ての大学生が一般教養として数理・データサイエンスを履修できるよう、標準的なカリキュラムや教材の作成・普及を進める」(『未来投資戦略2018』)ことの一環として実施されるものです。
国公立大学の入学試験では、情報が原則として必須科目となり、私立大学でも情報を取り扱うことを表明している学校が現われています。
2022年11月には、受験生や関係者などに適切な情報発信をする目的で、大学入試センターがその試作問題を公表しました。私はその中の第3問を見て児童のキャリア形成において小学校段階からのテキストプログラミング体験が必須であることを確信するとともに、さまざまな思いが頭に中を駆け巡っていきました。
「今のプログラミング教育で、児童はこの問題を解けるようになるのだろうか」
「学習指導要領の改訂に伴って、2025年の大学入学共通テストには大きな変更点がいくつかあって、それらに対応する中で『情報』、特にプログラミングの問題を入試のためだけに机上で理解するのは苦行になってしまう」
「コンピュータサイエンスの入り口としてのプログラミングに嫌悪感を抱くことは、絶対に避けなければならない」
小中高の連携が取れていない
以下の問題(試作問題問3の第2問)は、生徒と先生の会話を読みながら「商品の支払いに使う時(お釣りを出さない)の硬貨の枚数を最小にするプログラムを考える(お釣りを含めたプログラムは第3問で出題されている)」というもので、日本語とプログラムの両方の読解力が求められます。
そしてそのプログラムがテキスト型言語で示されているのです。この言語はDNCL(共通テスト手順記述標準言語)という擬似言語です。仮に入試問題でPythonやJavaScriptなどの既存の言語を用いると、学校でこれらを習った生徒が有利になってしまうため、独自の言語で出題されることになっています。
小学校でプログラミングが必修化され、中学校の技術家庭科において「情報の技術」の内容が高度化されました。さらに高校で「情報Ⅰ」が必修になったのだから、受験生はしっかりとした学習の積み重ねで入試に臨めると思われるかもしれません。しかし、現状は小・中学校、高校の連続性を担保する内容の充実はどこの学校でもこれからの大きな課題となっています。特にテキストプログラミングとなると小学校で導入している学校は全国を見渡してもわずか数校しかありません。中学校でも多くが依然ビジュアルブロックでプログラミングの授業を行っているのが実情です。
学校でテキストプログラミングをする時間は少ない
小学校では、情報やプログラミングの教科というものは存在しませんし、既存教科の中にも集中的にプログラミングを扱う単元がありません。したがって、プログラミングを総合的な学習の時間に実施するか、教科書に例示されている高学年の算数や理科の単元内で扱ったり、中学年の社会科で都道府県のクイズを作成したりするなど、既存教科の内容理解のために実施しています。しかもわずか数時間程度に過ぎません。言語についても、ビジュアル言語を採用する学校が圧倒的に多いのが現状で、ドラッグ&ドロップでブロックを並べてプログラミング体験させているのです。驚くことにキーボードに触れる機会さえない学校もあります。
中学校ではどうでしょう。技術分野の「情報の技術」で、プログラミングを扱います。例えば、「双方向性のあるコンテンツによる問題解決」ではチャットアプリの制作に挑戦したり、「計測・制御のプログラミングによる問題解決」では光や温度などのセンサーをプログラムで制御したりします。教科書にはビジュアル言語の他、英語ではなく日本語で打ち込めるテキスト言語が載っています。
技術・家庭の中学校の標準時数は、第1学年と第2学年でそれぞれ70時間、第3学年で35時間となっています。これは家庭科と合わせての時数ですし、技術では、材料と加工の技術(木材・金属)、エネルギー変換の技術、生物育成の技術など一般的な技術の内容を学ぶことから、教科書会社の発行する指導計画を見ても「情報の技術」に割り当てられる時間は、3年間でおよそ20時間程度となっています。
高校の情報Ⅰでは、Python、JavaScript、Excel VBAなどのテキスト言語を扱うようです。情報Ⅰは標準単位数が2単位(年間35単位時間の授業を1単位とすることが標準)で、その内容は「(1)情報社会の問題解決」 「(2)コミュニケーションと情報デザイン」「(3)コンピュータとプログラミング」「(4)情報通信ネットワークとデータの活用」と盛りだくさんです。となれば、生徒が直接プログラミングを学ぶ時間は10時間前後になってしまい、中学校と同様に十分な時間が取れるわけではありません。情報Ⅱは選択科目のため、開講しない学校が出てくるでしょうし、開講してもすべての生徒が選択するとは限りません。
多くの児童・生徒が大学入試で受験するであろう、この「情報」。はたして、今の学校の状況やカリキュラムの中で児童・生徒はどうやってプログラミングをはじめとする入試への対応力をつけていくのでしょうか。
このような状況下において、もし小学校でテキストプログラミングを習得することができれば、共通テストで有利になるのは明らかです。次回はより詳しく本問のプログラムを見ながら、小学校でテキストプログラミングを学習する重要性を考えたいと思います。
・『学校変えた最強のプログラミング教育』(著:松田孝)詳細はこちら
・『IchigoJamでできるテキストプログラミングの授業』(著:松田孝)詳細はこちら
・『くもんのプログラミングワーク① はじめる! IchigoJam』(監修:福野泰介)詳細はこちら
(写真提供:Pixta)