前原小学校前校長がたどり着いた“小学校プログラミング教育の目標” BASIC言語を子どもたちにどう学ばせるか

松田孝先生が前校長を務めた小金井市立前原小学校では、IchigoJamBASICを使った授業が行われました。そこにはBASIC言語が必要になりますが、子どもたちにはどのように教えたのでしょうか。

IchigoJamBASICの知識と技能の習得の程度

BASICは50年前に教育用に作られたテキスト言語で、行番号と命令文とを1行ごとにテキスト入力する簡単な言語だと言っても、それなりの難易度があります。小学校段階でIchigoJamBASICを扱うとき、どの程度の知識と技能の習得を想定したらよいのでしょうか。

筆者は、前原小学校でのプログラミング授業で見せる子どもたちの学ぶ姿から、常々「プログラミングは現代の砂場遊び」「新しいメディア表現だ」と訴えてきました。このことは本連載の5回目で詳しく述べています。

国立教育政策研究所が平成29(2017)年の3月に発行した「資質・能力を育成する教育課程の在り方に関する研究」研究報告書4「ICTリテラシーと資質・能力」、第5章「プログラミング教育の動向」の冒頭にも同様のことが述べられています。

※「プログラミングは、コンピュータを人間の意図通りに動くよう指示するだけにとどまらず、ICT を使って動画や音声などで自分の考えを表現したり、動的な現象をシミュレーションしたりといった発展的な操作ー人間の能力の拡張ーを可能にする。プログラミングは人の考えをダイナミックに表現するためのメディアと捉えることもできる」(p 51)

そうプログラミングを表現メディアと考えることで、子どもたちが思いを楽しく表現するために最初に必要となるIchigoJamBASICの知識と技能が、小学校段階の目標として想定されてきます。

筆者が、前原小学校での授業実践から体験的に必要と感じた知識(コマンド)が以下です。

これらのコマンドを使用できるようになれば、子どもたちはそれなりの表現を楽しめるようになります。

またIchigoJamBASICでプログラムを作成して実行するには次の技能が必要となります。

などが基本の技能となります。

テキストプログラミングの導入はアニメーション !!

筆者が2016年にIchigoJamBASICの存在を知って、子どもたちと初めてテキストプログラミングの授業を行ったときに示したプログラムが以下です。たった5行のアニメーションプログラムですが、RUN実行したときの子どもたちの反応を見て、「いける」と直感しました。

10 CLS
20 PRINT”@”
30 PRINT”@@”
40 PRINT”@@@”
50 GOTO20
SAVE0
Saved 68byte
OK(SANE0と入力してENTERキーを押すと勝手に表示される)
RUN

ここで学ぶ知識(コマンド)は、CLS PRINT GOTOであり、技能はSAVE0してRUN実行です。

Webブラウザで「IchigoJam Web」とAND検索すると が表示されるので、それをクリックすればモニターにIchigoJamBASICの入力画面が表示(画面1)されます。

そこに上記プログラムを入力して(画面2)、RUN実行してみてください。どんなアニメーションとなるのか入力したコマンドから想像してみてください。

画面1
画面2

基礎・基本とアニメーションプログラム

いきなりCLS、PRINTやGOTOコマンドを使ったプログラムを作成することに、基礎・基本は体系化された知識と技能を段階的に習得し、積み上げていくものだと思い込んでいる方は抵抗を覚えるようです。

しかし本来、基礎・基本はその必要性において一人一人がまさに個性的に獲得していくものであると考えれば、筆者はCLS、PRINTやGOTOコマンドはIchigoJamBASICの重要な基礎・基本だと考えます。「おもしろい!」「やってみたい!」と思った子どもたちは、実際これ等の知識と技能を自然に、そして主体的に習得していったのです。

この事実から筆者は、子どもたちをIchigoJamBASICに誘い、そのプログラミングが表現メディアとなって、彼らが個性的に基礎・基本を習得するにはアニメーションプログラムの作成が最適であると考えました。

連載と環境の相互作用が生み出した確信

本連載を始めてこれまで8回、筆者が校長を務めた小金井市立前原小学校でのプログラミング授業をもとに、小学校段階のプログラミング教育について持論を展開してきました。

そして前回は、前原小学校がさまざまにビジュアルなプログラミング言語を用いて、子どもたちと楽しくプログラミング体験してきた先に見出した、「ぜんぶIchigoJamBASICの授業体系」とその実践事例集である『プログラミングでSTEAMな学びBOOK』(フレーベル館)を紹介しました。

さらに現在筆者は、今まさに始まろうとしているGIGAスクール構想をめぐって、ICT活用やプログラミング授業について多くの自治体や教育関係者を前に話をする機会を得ることで、実に多様な反応を直に感じる経験を重ねています。

本連載の執筆と筆者が置かれた環境との相互作用によって、筆者個人として小学校段階のプログラミング教育の目標を確信するに至りました。

筆者がたどり着いた“小学校プログラミング教育の目標”

IchigoJamBASICのコーディングの知識と技能の習得

上記が、筆者自身が納得しそして確信に至った、小学校プログラミング教育の目標です。

小学校段階のプログラミング教育の目標は、「コーディングではなく『プログラミング的思考』の育成であり、プログラミングを実施する教科のねらいを達成することにある」という言説に異を唱えたのが、連載第2回目です。

現在学校現場は、コロナ禍の臨時休校で明らかになった学校の重要な使命である「全人的な発達・成長を保障する役割」や「人と安全・安心につながることができる居場所・セーフティネットとしての役割」を果たそうと大変な努力をしていて、正直プログラミング教育の実施にプライオリティはありません。

しかしこの状況のもとで、これから必修化されたプログラミング教育を実施しようとする学校は、先行的な実践事例を批判的に検討することで、小学校段階でテキストプログラミングによるコーディングの知識と技能を習得することの是非を問い、そしてその言語はIchigoJamBASICが最も適していることに早く気づいてほしいと願っています。

そのための猶予期間(モラトリアム)は、残り3ケ月と迫っています。

【コラム】IchigoJamの参考図書

これまで小学生向けのIchigoJamBASICの参考書は、筆者も実践のバイブルとした『IchigoJamでプログラミング』(蘆田昇・福野泰介著、発売:PCN)くらいしかありませんでした。しかし昨年、小学生が参考にすることのできるIchigoJamBASIC関連の図書が相次いで刊行されました。

筆者の『プログラミングでSTEAMな学びBOOK』をはじめとして、くもん出版よりIchigoJam開発者の福野泰介氏が監修した『プログラミングワーク①』『プログラミングワーク②』、同じく氏が運営メンバーである鯖江市に本拠を構えるHana道場(ITものづくり道場)から『Hana道場式 プログラミング10級・9級』『Hana道場式 プログラミング8級・7級』(共に中村正一著/福野泰介監修)『IchigoJam ゲームの森①』『IchigoJam ゲームの森②』(共に蘆田昇著/NPO法人エル・コミュニティ編)です。

ここに紹介した図書はいずれも、初めてIchigoJamBASICを学ぶ子どもたちが自分でプログラミングに取り組めるよう丁寧な説明・解説がなされていますので、学校現場がIchigoJamBASICのプログラミングを始める際には、先生方の教材研究にとっても絶好の参考書となります。

そしてIchigoJamでのプログラミングの理解度・習熟度を測る検定試験「IchigoJam検定」(株式会社B Inc.が主催&認定)の10級(IchigoJamの利用および基本操作の理解)、9級(IchigoJamで扱える数とその演算の理解)を目指しながら、習熟の程度において8級(変数と関数の理解)、7級(IF文と文字コードの理解)にチャレンジできるような方向性で、小学校段階のプログラミング授業を具体的に構想することの必要性・必然性が筆者にとって切実なものとなってきたのです。

【コラム2】知識と技能の習得方法

方向性が定まったからと言って、各級の合格を目標として、そのために必要な知識と技能を構造化し、それらを段階的に一つ一つ子どもたちに教え、理解させるような授業を展開すれば、すべてが台なしになってしまいます。

プログラミングは表現メディアであって、その活動は砂場遊びであることに最大の価値があります。おもしろくって、思いがあって、そして願いのある活動は子どもたちを集中させ、友達との協働を生み出します。子どもたちに活動を委ね、その振り返りにおいて一人一人が感じた気づきを言語化することこそが、真の「学び」だからです。

そしてそれらの気づきをICTの一覧機能を活用して「共有」することで、子どもたちは友達の気づきにさまざまな刺激を受けて、そこから一人一人がプログラミングの知識と技能の習得にとどまらず、自身の個性伸長やキャリア形成に向けた学習方略をも獲得できるのです。

IchigoJamBASICの最大の魅力の一つが、そのモニター表示がモノクロであることです。モノクロ画面を実にさまざまな世界に見立てることができ、IchigoJamBASICのコマンドを活用してプログラムすることでその見立てを実際に表現できます。

指導者(先生)が単元(授業)の最初に、子どもたちにとって「おもしろい!」「やてみたい!」という動機を醸成すれば、あとは「やってごらん」と活動を委ねることができます。何故なら子どもたちは目の前に起こっている現象から、さまざまなアイディアを思いつき、その思いをなんとか表現しようと知識を求め、技能を習得しながら試行錯誤するからです。

その他の【松田孝の「プログラミング教育の夜明け」】は

© Valed.press