今回のコラムでは、小学校のプログラミング教育についてまったく知らない人でも理解できるように、「そもそもプログラミングとはなんなのか」「なぜ今子供たちにプログラミングを教えなければならないのか」といったことから、北海道での実施はどうなるのかについて解説していきます。
小学校のプログラミング教育とは
2020年度から(2020年4月から)、小学校でプログラミングの授業が始まります。
もしかして、「北海道の小学校でも、同じタイミングで始まるの?」と思っている方はいませんでしょうか。
北海道にいると、東京で起こっていることが縁遠く感じることがあります。
しかし北海道の小学校でも、2020年度からプログラミング教育が始まります。
文部科学省は全国で同時にスタートさせることを決めました。
小学校のプログラミング教育は、算数と理科のなかで行われます。
つまりプログラミング単独の教科を創設するわけではなく
算数と理科に「潜り込ませている」イメージです。
小5の算数で正多角形の作図を習い、小6の理科で明かりの制御を習います。
正多角形の作図のプログラミング授業を例に、実際にどのようなことを教わるのか紹介します。
実際に子供たちがパソコンまたはタブレットを触って、プログラムをつくります。
プログラムが完成すると、パソコンの画面上で正多角形を描くことができます。
正多角形は、辺の長さがすべて等しく、角の大きさがすべて等しい、と定義されます。
例えば正三角形も正多角形のひとつです。
正三角形の3つの辺は同じ長さで、正三角形の内側の角の角度はすべて60度です。
次の命令をコンピュータに指示するプログラムをつくります。
- スタートボタンをクリックしたら、ペンを下し直線を描き始める
- A:ペンで長さ「100」の直線を描く
- B:ペンが長さ「100」まで進んだら、ペンを左に「120」度曲げる
- AとBを3回繰り返す
以下の概念図は文部科学省が作成したものです。
ここまでの説明で、「パソコンでプログラムを作成して正多角形を描く、とはどういうことなのか」と疑問に思う方もいると思います。
そこで次の章で、パソコンとコンピュータとプログラミングの関係について紹介します。
そもそもプログラミングとは、コンピュータとは
コンピュータとは、複雑な計算ができる計算機、と思ってください。
そしてパソコンはコンピュータの一種で、小型という特徴があります。
スマホはパソコンをさらに小さくしたコンピュータです。
パソコンで絵を描いたり動画を映し出したりメールを送ったりできるのは、コンピュータが複雑な計算をしているからです。
ではなぜコンピュータは、絵を描く複雑な計算や、動画を映し出す複雑な計算を行うことができるのでしょうか。
それはソフトウェアが機能しているからです。
ソフトウェアは、ソフト、アプリケーション、アプリと呼ばれることがあります。
ソフトは原則、1つの仕事しかできません。絵を描くには1つのソフトが必要ですし、動画を映し出すには1つのソフトが必要です。
ソフトには、コンピュータに行わせる命令が書かれています。
その命令は文章で書かれているのですが、その文章は日本語でも英語でもありません。
コンピュータ言語です。なぜならコンピュータは、日本語や英語を理解できないからです。
コンピュータ言語で書かれた命令書こそが、プログラムです。
プログラムを書くことをプログラミングといい、プログラムを書く専門家をプログラマーといいます。
なぜ「今」プログラミングなのか
なぜ文部科学省は今、小学校で小学生にプログラムを教えようとしているのでしょうか。
プログラミングに興味がある子供を専門の塾に通わせるのではなく、国語や算数と同じように小学校でプログラミングを教えるのはなぜなのでしょうか。
この疑問に対して、北海道教育庁は次のように回答しています。
- 情報と情報技術を活用して問題を解決する技能を身につける
- 複数の情報を結び付けて新たな意味を見出す力を身につける
- 情報技術を適切かつ効果的に活用する力を身につける
- 情報社会に主体的に参加できるようにする
- 情報社会の発展に寄与できるようにする
この5項目は、保護者たちもしっかり押さえておく必要があります。
情報技術は、社会や世界のなかで生き抜くために、すべての人に必要な要素です。
プログラミングを国語や算数と同じように小学校の教室で教えるのは、子供たちがこれからの社会を生き抜くために必要だからです。
プログラミング的思考とは
文部科学省は、子供たちにプログラミング的思考を身につけてもらいたいと考えています。
なぜなら、情報社会のなかでは、国語的思考や算数的思考や理科的思考だけでは生き残っていけないからです。
プログラミング的思考は、国語的思考・算数的思考・理科的思考とは「全然別のもの」ととらえておく必要があります。
プログラミングを学ぶ目的は、問題を見出し、それを解決することです。
この目的は、国語でも算数でも社会科でも同じです。
ただプログラミングでは、プログラミング的思考で問題を解決します。
北海道教育庁はプログラミング的思考を、北海道庁ホームページ「プログラミング教育について」 の概念図で説明しています。
プログラミングは魔法の言葉ではありません。
「線を描け」と命じても、コンピュータは動きません。
コンピュータには、「クリックした場所に点を置け」「ドラッグしたら点打ちを続けろ」「ドラッグが止まったら点を置くことを中止しろ」と、一挙手一投足についていちいち指示しなければなりません。
上記の概念図の「必要な動きを分けて考える」とは、このことを説明しています。
プログラミングの勉強を始めたばかりの人は、「コンピュータは意外に使い物にならない」と感じるはずです。
それはコンピュータが「言うことを聞かない」からです。
しかしその認識は間違っていて、本当は「指示が足りない(プログラムが足りない)」か「指示が間違っている(プログラムが間違っている)」ので、コンピュータが動かないのです。
したがって、プログラムをつくるときは、コンピュータにさせることを細かくわける必要があります。
その次にすることは、「動きに対応した命令(記号)にする」ことです。
細かくわけた「コンピュータにさせること」を、プログラム(命令または記号)にしていきます。プログラムを書く行為です。
具体的には、コンピュータに線を描かせるには、「クリックした場所に点を置け」と命じるプログラムと、「ドラッグしたら点打ちを続けろ」と命じるプログラムと、「ドラッグが止まったら点を置くことを中止しろ」と命じるプログラムを書く必要があります。
このように、一つ一つの指示を的確に捉えて書き込んでいく作業は、社会の中でも精通する部分が多々あるでしょう。
子供の教育として考えると、物事を論理立てて正しく組み立てていく「考え方」を学べるという点で非常に役立つものと言えます。
小学校ではどこまでプログラミングを習うのか
プログラムを書くにはコンピュータ言語を覚えなければなりませんが、小学校のプログラミング教育ではそこまで教えない模様です。
ごく簡単なプログラムを書くことはあるかもしれませんが、コンピュータ言語を覚えさせることまではしないようです。
では、小学校のプログラミング教育ではどのようにプログラムを書くのかというと、「組み合わせ」です。
事前に教師が小さいプログラムをいくつか用意しておき、子供たちに複数の小さいプログラムを組み合わせさせます。
小さいプログラムを組み合わせると1個の命令になることを体験させるのです。
また前述した概念図には「組み合わせる→動きに対応した命令(記号)にする」と「動きに対応した命令(記号)にする→必要な動きを分けて考える」の、逆方向の流れもあります。
これは、小さなプログラムを組み合わせたものの、コンピュータが思った通りに動かなかったときに行う作業を示しています。
「プログラム(命令または記号)が間違っていたのではないか」「必要な動きに分けることが間違っていたのではないか」と疑うことで、正しいプログラムにしていくのです。
以上の流れこそが、プログラミング的思考です。プログラミング的思考は、「試行錯誤しながら継続的に改善する」ことでもあります。
組み立てて上手く動いた時の喜びを体験していく中で、途中で諦めたり投げ出したりせず根気強いお子さんへと成長していくことでしょう。
保護者と子供本人はどのような準備をすべきか
2020年から始まるプログラミング教育に向けて、保護者と子供本人はどのような準備をしたらいいのでしょうか。
原則、何もしなくてかまいません。
小学校で教えるプログラミングは、当初は「プログラミングようなもの」だからです。
本物のプログラミングを学ぶにはコンピュータ言語を修得する必要がありますが、今回はそこまで踏み込まない模様です。
したがってほとんどの子供は、予習しなくてもプログラミング授業を理解できるはずです。
したがってそれ以上の興味を持ち始めた子供にプログラミング教室に通わせたり、親がパソコンの使い方を教えたりすることは有効です。
道内でも札幌、函館、旭川などの都市部ではすでに、子供向けのプログラミング教室が開かれています。
こうした教室のなかには、コンピュータ言語を使った本格的なプログラミングを教えるところもあります。
また、おもちゃのロボットを動かすプログラムを書いて、実際にロボットを動かすこともあります。
親が自分のパソコンの使い方を子供に教えるだけでも、プログラミングの理解は進むでしょう。
例えば、表計算ソフトのエクセルで「セルAとセルBにそれぞれ数字を入れると、2つの数字を足した数字がセルCに表示される関数」をつくったとします。
これも一種のプログラミングなので、この関数をつくる過程を子供にみせれば、「パソコンを思い通りに動かすこと」を理解させることができます。
また親のパソコンのキーボードを触らせることで、子供はタイピングの初歩を学ぶことができます。
タイピングは子供のプログラミング教育の第一関門とされているので、ローマ字入力の方法やアルファベットの並び順を知っておくだけでもその後の勉強が有利になります。
将来的には大学受験にも影響するかもしれない
2020年にスタートするプログラミング教育は小学校が対象ですが
2022年度には高校でもプログラミング教育が始まる予定です。
さらに大学入学共通テストでも
2024年からプログラミングを含む情報科目が導入される予定です。
つまり、プログラミングの勉強はそれほど遠くない将来大学受験に必要になるということです。
まとめ~未来を切り開く勉強
プログラミング教育を積極的に受け入れましょう。
情報社会は今後、進化することはあっても後退することはありません。
情報と情報技術は生活の手段であり、ビジネスの手段であり、娯楽の手段でもあります。
そしてプログラミングは、情報社会の最もベースとなる知識です。
国際社会で活躍するために英語の修得が欠かせないように、今と未来を生き抜くには、プログラミングの基礎知識は欠かせません。
せっかく小学校でプログラミングを教えてくれるのですから、これを機にプログラムや情報技術に詳しくなりましょう。
この記事を監修した人
「大成会」代表
池端 祐次
2013年「合同会社大成会」を設立し、代表を務める。学習塾の運営、教育コンサルティングを主な事業内容とし、札幌市区のチーム個別指導塾「大成会」を運営する。「完璧にできなくても、ただ成りたいものに成れるだけの勉強はできて欲しい。」をモットーに、これまで数多くの生徒さんを志望校の合格へと導いてきた。