つくば市のプログラミング学習、実践事例などをご紹介しています。

全ての学校で取り組むプログラミング教育

宇都宮大学教授 久保田善彦

⼦ども達がAI 時代を⽣き抜くために,つくば市内の全ての学校・全ての学年でプログラミング教育がはじまりました。単発の活動に終わらせることなく,⼦ども達のこれからの⽣活を豊かにできる教育を⽬指しています。

以下では,プログラミング教育がなぜ必要なのか,プログラミング教育とはどのようなものなのかを整理します。更に,全ての学校で質の⾼いプログラミング教育を実施するために,つくば市はどのような取り組みを進めているかを紹介します。(お忙しい⽅は,アンダーラインを読むだけで,理解できるようになっています。)

なぜ,プログラミング教育が必要なのか︖

安倍⾸相を議⻑とする第 26 回産業競争⼒会議(平成28 年4 ⽉)において,「IoT」や「⼈⼯知能」など,いわゆる第4次産業⾰命の時代を⽣き抜くために初等中等教育からプログラミング教育の必修化が提案されました。既に,他国では,STEM(Science, Technology,Engineering and Mathematics)教育の⼀環としてプログラミング教育が⾏われていることも⼤きく影響しています。

上記の議論を受け,⼩学校段階における論理的思考⼒や創造性、問題解決能⼒等の育成とプログラミング教育に関する有識者会議は,「⼩学校段階におけるプログラミング教育の在り⽅について(平成28 年6 ⽉)」をまとめました。⼩学校段階におけるプログラミング教育は,コーディング(プログラミング⾔語を⽤いた記述⽅法)を覚えることを⽬的としないとした上で,「⼦供たちに、コンピュータに意図した処理を⾏うように指⽰することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる⼒としての「プログラミング的思考」などを育成するもの」としています。また「プログラミング的思考」を,「⾃分が意図する⼀連の活動を実現するために、どのような動きの組合せが必要であり、⼀つ⼀つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく⼒」と定義しました。その他,報告書には,総合的な学習の時間,算数,理科,⾳楽,図⼯,特別活動の活動例と活動上の注意事項が掲載されているので参考にして下さい。

有識者会議の議論や活動例は,新学習指導要領(平成29 年3 ⽉)に反映されました。総則には,情報活⽤能⼒育成の⼀つとして「児童がプログラミングを体験しながら,コンピュータに意図した処理を⾏わせるために必要な論理的思考⼒を⾝に付けるための学習活動」が記されました。算数科,理科,総合的な学習の時間において,児童がプログラミングを体験しながら,論理的思考⼒を⾝に付けるための学習活動やその取扱いを例⽰しています(第2章第3節算数第3の2(9)及び同第4節理科第3の2(2),第5章総合的な学習の時間第3の2(2))。

決められた記号を⼊⼒するだけでなく,教科学習の問題解決過程に位置づけた展開が必要になります。

プログラミング教育の基礎知識

コンピュータを使わないプログラミング

⼩学校段階におけるプログラミング教育は,コーディング(プログラミング⾔語を⽤いた記述⽅法)を覚えることを⽬的としないことを,前章で確認しました。つまり,コンピュータを使うだけが,プログラミング教育ではありません。コンピュータを使わず,プログラミング的思考を育てる⽅法もあります。これらは,電源を使わない(コンピュータの電源プラグがコンセントに差し込まれていなくてもできる)ため,アンプラグドコンピューティング,アンプラグド教材と呼ばれています。

例えば,リンダ・リウカス(2016)は『ルビーのぼうけん』の中で,プログラマー的な思考を育む10 の物語とアクティビティを絵本にまとめています。その中で,シーケンス(順次),ループ(繰り返し),IF(場合分け・条件分岐),デバッグ(間違い探し)など,基本的なプログラミングの概念や概念理解のためのワークショップの⽅法を紹介しています。⼩林・兼宗(2017)は『コンピュータを使わない⼩学校プログラミング教育』の中で,上記のプログラミングの概念を活⽤した,教科の授業実践を複数紹介しています。他にも沢⼭のアンプラグド教材が開発されています。

コンピュータを使ったプログラミング

AI は,もちろんコンピュータを使ったプログラミングの⼀つです。⼦ども達がAI 時代をたくましく⽣きるには,コンピュータを使ったプログラミングを体験することも重要です。学習指導要領でも「児童がプログラミングを体験しながら,・・・」とあるように,アンプラグド教材だけに頼ることなく,実際のプログラミングを経験することが不可⽋です。

プログラミングといってイメージするのは,⽂字や記号が幾重にも連なっている画⾯ではないでしょうか。これを,テキストベースプログラミングといいます(BASC,C ⾔語,Python等)。⽂字列をキーボードから⼊⼒することになります。⼩学校では,主に,ブロックやアイコンを組み合わせるビジュアルプログラミングを使います(MESH,ビスケット,GoogleBlocky 等)。カラフルなブロックを組み合わせることで誰でも簡単にプログラミングをすることができます。

MIT メディアラボが開発した「Scratch(スクラッチ)」は,ブロックを組み合わせるビジュアルプログラミングです。⽇本語をはじめ多くの多⾔語に翻訳されているため,世界中で使われています。⽂部科学省が開発した「プログラミン」や⼀般社団法⼈みんなのコードが開発した「プログル」のように,Scratch と同様の操作でプログラミングできる⾔語も沢⼭あります。

幾つかのビジュアルプログラミングは,光や⾳センサーを接続し,LED の点灯と連動させたり,ロボットカーのモーターの動きを制御することもできます。中学校学習指導要領の技術・家庭領域にある「(3) ⽣活や社会における問題を,計測・制御のプログラミングによって解決する活動を通して,次の事項を⾝に付けることができるよう指導する。」の基礎となる活動となります。

次のページに続きます。