2020年の4月から,小学生のプログラミング教育が必修化されました。
「プログラミング」などと聞くと,なかなか複雑そうなことを勉強するように聞こえるかもしれませんが,高度なプログラムを組む(パソコンで難しい英数字を打ち込む)ような内容ではありません。
英語教育もそうですが,小学校では「楽しさを体験し,苦手意識を作らない」ことが最も重要視されています。
後述していますが,実際やることはマウスやタッチ操作が中心で,あらかじめ命令が書かれたブロック(「右に〇歩動いて左に〇度曲がる」といったもの)を並び替えるだけでOKだったりするので,必要以上に身構えないことが大切です。
今回は,どのような経緯で小学校にプログラミング教育が導入されることになったのか,また,中学や高校のカリキュラムも含め,どのような能力の育成が期待されていて,小学生のうちから一体どのような対策ができるのかを中心に考えてみることにしましょう。
小学校でプログラミングが必修化された理由
そもそも,どうして小学生の段階からプログラミング教育が必修化されたのでしょうか。
「Society5.0」や「未来の教室」に代表される今後の社会では,情報というものを上手に活用する能力がますます必須となり,その教育は早いうちから計画的に行う方が良いわけです。
もっとも,諸外国においては初等教育の段階からすでにプログラミング教育が取り入れられており,日本における今回の動きが特殊なわけではありません。
もっと言えば,国内においても中学や高校ではすでに必修科目となっているわけなので,「これまで中高生に教えていたものを小学生の段階から教え始めることで,今後につながる教育を早期から施そう」という感じで,英語教育と大体同じ流れだと考えましょう。
その結果,中高での授業内容がこれまで以上に充実したものになるということで,高大接続の流れは歓迎できるものです。
情報活用能力の育成
2020年度の新学習指導要領においては,「言語能力」というのが「学習の基盤となる資質・能力」の1つとみなされており,読む力の重要性についてはすでに別の記事にしましたが,それ以外に「情報活用能力」が必須能力の1つとして考えられるようになりました。
そして,情報活用能力の育成に有効とされるのがプログラミング教育だというわけです。
このことで,以下の能力を育むことができます↓
- 思考力・判断力・表現力
- 各教科の知識や技能
- 学びに向かう力・人間性
1に挙げた3つの力は「プログラミング的思考」の中に見出すことができ,「自分がやりたいことを実現するには,どういった動きを組み合わせればよいのか論理的に考えていく能力」のことです。
例えば「ロボットが歩く」という単純な動きを1つとってみても,それを人間が命令するとなれば,
片足を上げる→その足を前に踏み出す→重心を前にずらす→残った方の足を上げる
といった小さな動きの連続に分ける必要があり,それらをすべてプログラミングしなければ,ロボットは歩くことができません。
このとき,どういった動きをどういった順序で行えばよいのかについて考える必要がありますし,前提条件として,自分がロボットに何をさせたいかという意図を明確にすることも重要です。
より具体的かつ効率的な動作を考え,実際に試行錯誤して判明した反省点をもとに改良を加えていくという思考のプロセスは,あらゆる人間活動に応用できる役立つ能力でしょう↓
ここに書かれている,「必要な動きを分けて考えること・動きに対応した命令にすること・組み合わせること・必要に応じて継続的に改善すること」がまさにそれです。
先の2と3で挙げた能力については,「コンピュータを身近に感じ,問題解決には一連の手順が必要であることを知り,培った能力をよりよい人生や社会のために役立てようとしてもらう」ことを目標としています。
小学生というのは,あくまで中学や高校でのプログラミング教育を円滑に進めるための準備段階ですので,早いうちから,ささいな気づきや態度の変化を促すことは目標とするには十分でしょう。
詳しくは後述しますが,以下が小学生から高校生までのプログラミング教育の目的となります↓
幅広い教科の理解を深める
さて,こういったプログラミング教育で扱うテーマとしては身近なものが望ましく,国語や算数,総合学習で扱う単元のものを題材にすることで各教科の理解も深まるので一石二鳥です。
例えばモーターを取り上げ,その仕組みを題材としてプログラミング教育を行えばどうでしょうか。
それは理科の学習を兼ねることになりますし,三角形や六角形をプログラミングして書くとなれば,それは算数の授業の一環ともみなせるでしょう↓
ところで,上で確認できる「スタートボタンがクリックされたとき」,「ペンを下ろす」,「〇〇回繰り返す」といった命令は,種類ごとに色分けされており,すでにプログラムが入力された状態のブロックです。
これを「ビジュアル型プログラミング言語」と呼び,特定言語によるテキスト型のもの(C言語とかPythonとか)とは区別します。
マウスやタッチ操作で簡単に扱えるだけでなく,数字を入力するだけで変化を加えることも可能です。
とはいえ,頭を働かせる余地は十分に残されており,上記画像の左の例では正三角形だからと,深く考えずに60度と入力してしまえばうまくいかず,補角(この場合,120度)の存在に気づく必要があります。
このように,プログラミング教育を通して既存の教科についてより深く学ぶことができるのも,必修化されたメリットでしょう。
加えて,教育課程外の学習であっても,児童の興味や関心を惹起するので望ましいとされており,特に楽しさや達成感を与えることを目的として行われることになります。
テレビゲームのようなものを作ったり,はたまた企業からロボットを借りてはプログラミングして動かすような試みも,学校によっては行われることでしょう。
ただし,これらはすべて各学校の裁量にゆだねられるため,地域間の格差となって表れてくる可能性があります。
次章では,どのような問題が起こりうるのかについて考えてみることにしましょう。
プログラミング教育必修化の問題点
プログラミング教育の必修化を成功させるためには,あらゆる小学校にしっかりとした学習環境が整備されることが必要です。
具体的には,
- 指導者
- 設備
- 教育方針
の3つが考えられます。
指導者の問題
まず1つ目の「指導者」についてですが,現代の教師たちは,プログラミング教育を受けた経験がない方も多く,どのように子どもたちに教えたらよいかがわからないということです。
もちろんICTに明るい支援員を要請したり,または予算の都合でボランティアの方が来るかもしれませんが,結局は現場の教師がリーダーシップを取らなければなりません。
そのため,もしも,指導する教師の能力に疑問を持つようであれば,各家庭でプログラミング教育を別に施す必要があると言えるでしょう。
子どもの勘は往々にして正しいものです。
設備の問題
2つ目は「設備」の問題が挙げられますが,ICT環境が充実していない学校があるということです。
電子黒板や無線LANが校内で使えるように予算を計上することはもちろん,せめて授業中はパソコンまたはタブレットを1人1台使えることは,今後は当然のことだと思わなければなりません。
コロナ禍がプラスに働いて,学習環境の整備はかなり進んだのは確かですが,とはいえ,パスワードの問題や機器の貸し出しのルールなど,まだまだ課題は多いのが現状です↓
-
-
教育現場でのICT環境の現状について
毎年,文部科学省のHPで最新の「学校における教育の情報化の実態に関する調査結果」を確認することができます。 そして,教育現場におけるICT(情報通信技術:Information and Communication Tec ...
続きを見る
教育方針の問題
最後は「教育方針」についてです。
先にも少し触れましたが,具体的にどのようなプログラミング教育を行うか(どのような資質・能力を優先的に育むか)については各学校の裁量にゆだねられています。
プログラミングの働きや良さ,そして情報社会がいかにICTに支えられているかということに気づいたり,問題解決やよりよい社会づくりにICTを使う態度を身に付けたりするための活動内容には,学校感で差が出てくることになるでしょう。
必要に応じて企業団体や専門家と連携する学校もある一方で,予算の調達や立地条件で不利な学校はどうしても出てきてしまうはずです。
現在,小学校を中心としたプログラミング教育ポータルというHPで,そういった事例に関する情報を共有しているので,他の学校でどのような教育が行われているのかに興味がある方は,是非アクセスして,具体的に確認してみると良いでしょう。
実施事例はA~Fの6つの分類ごとにまとめられており,先に示した正三角形のような例はA分類,ゲーム作りなどの各学校の腕の見せどころになるものはC分類,そして学外の活動はEやF分類になります。
中学や高校でのプログラミング教育
ここでは,中学や高校でのプログラミング教育の概要について確認しておきましょう↓
中学校:計測・制御,ネットワークを利用した双方向性のあるコンテンツのプログラミング
高校:アルゴリズムとコンピュータの仕組み,モデル化・シミュレーション
中学校
2021年以降,中学校では「技術家庭(技術分野)」の授業内で,小学校で学んだ内容をさらに発展させます。
流れとしては,身近な情報技術に興味・関心をもたせ,これらが生活や社会にどのような影響を与えたかを考えたのち,情報技術の仕組みや原理・法則について科学的な理解を深めるわけです。
こうした社会認識と科学的理解の両面から問題解決の工夫を分析することで,実際に開発者の目線で具体的なプログラミングを行っていきます。
例として,センサーを使って物を運ぶロボットであれば計測や制御を学ぶことができますし,無人店舗のおすすめ商品を表示するプログラムを作ることで,双方向性のあるコンテンツの学習が可能です。
詳しくは説明しませんが,前者のプログラミングですと,ただ出来事が順番に進んでいく以外に,反復や分岐のあるものなどが登場します↓
高校
2022年以降に行われる,高校での情報の授業ですが,これまでに3つの段階を経てきたことになるわけです↓
- 情報A・B・C(3つから1つ選択)
- 情報の科学・社会と情報(どちらか選択)
- 情報I(必須)・情報II(選択)
このうち,情報A,C,社会と情報はプログラミングを含んでいなかったので,高校でまったくプログラミングに触れないことも可能でしたが,これからはそれはできません。
必須科目の情報Iに2に挙げた内容が,以下のように再編されているからです↓
第1章:情報社会の問題解決
第2章:コミュニケーションと情報デザイン
第3章:コンピュータとプログラミング
第4章:情報通信ネットワークとデータの活用
プログラミングは第3章に出てきていますね。
より詳しくは以下で確認してください↓
この他,情報IIではシステムのプログラミングを学ぶことが可能で,より専門的な大学のプログラミングへの橋渡しとなります。
関連して,2025年1月の共通テストからは「情報I」が新設されることにも注意してください。
自宅でできるプログラミング教育
最後に,小学生のうちから実践できる学習について考えてみましょう。
先ほど,教師のプログラミングに関する知識を増やすための研修が行われていると言いましたが,
「まずは,教師の我々がプログラミングを体験してみましょう!」
「どうです?思ったより難しくないでしょう」
といった,ずいぶん低い位置からのスタートとなります。
もちろん,そこでプログラミングの核となる部分を捉え,自分の授業でこのようにやったらうまくいきそうだなどの妙案が浮かぶ教師が指導するのであれば,実りある授業が展開されるでしょう。
しかし,そうはならない先生もいるはずですし,独自性の強い授業を実践するということは,最悪大失敗につながる可能性もあるわけですから,それをわざわざ義務教育の現場でおいそれと実行できる先生は少ないと思われます。
とすれば,ほどほどに上手くいくことがわかっているものだけを慎重に遂行していくだけの授業になりがちです。
加えて,子どもは誰しもが飽きっぽいので,すぐに我慢の限界はきてしまいます。
実のところ教師をよく観察している子どもが相手なだけに,教師自身が楽しんでプログラミング授業を行うのでなければ,子どもの「楽しい・面白い・できた」という感情や「もっと学びたい!」という意欲を引き出すための授業は土台無理な話でしょう。
その対策として,教員側は,自分が楽しいと思える領域(専門性のある領域)に落とし込んでプログラミング教育が実践できているかどうかをしっかり確認することになります↓
とはいえ,プログラミング教育が始まったばかりの段階は,特に現場は混乱しがちです。
そのため,保護者目線でみて,「自分の子どもが満足に論理的な思考力を身に付けられそうにない」と判断できてしまう場合には,どこかでプログラミング教育を学べる教室を利用することも選択肢の1つに入れなければなりません。
プログラミング教育に限らず,英語の必修化による影響で,従来の勉強ではスケジュール的に可能だった知識の獲得が時間的に厳しくなっている現状を踏まえると,今後は各自が家で勉強する時間がより大切になってきます。
特にプログラミング教育の成功のカギとされているのは,楽しさや達成感を与える「体験と試行錯誤」です。
しかし,集団でそれを行うとなると,どうしても1人が体験できる時間は限られてしまいますし,試行錯誤には失敗がつきものですが,わざわざ学校で失敗を経験させることは基本ありません。
クラブ活動などでコンピュータを扱う部活に入るなどすれば話は別ですが,そうでなければこれまで敬遠していた方も多かった通信教育なども積極的に利用し,自宅で別に勉強時間を積み重ねるようにしては,効率良く学習していく工夫が必要になってくるでしょう。
以下の記事で,実際に自宅で学べるプログラミング教材を紹介しているので参考にしてください↓
-
-
小学校のプログラミング教育で使われる教材
2020年に小学校でプログラミング教育が必修化されましたが,使用される可能性のある教材については,文部科学省の運営するサイトにおいて,いくつかの有名ソフトウェアや基板,ロボットなどの教材がまとめられています。 授業が開始 ...
続きを見る
まとめ
以上,小学生のプログラミング教育が必修化された理由を中心に,中高での学びや,教育現場での問題点や対策についてまとめてきました。
将来の予測を行うのが難しくなり,AIにいくつかの職業を奪われてしまう時代が間もなく訪れるでしょうが,そんな時代だからこそ逆に,人間にしかできないことが,より重要視されるようになってくるはずです。
そんな時代で生き残るためには,コンピュータの仕組みを学び,AIは何が得意で何が得意でないのかを理解していることが必要で,「社会が今,何を必要としているのか」という気づきを可能にするプログラミング教育は,その重要性を増しています。
そもそも,あらゆるコンピューターの行動は,どこかの誰か(人間)がプログラミングして制御しているわけですから,AIを利用できるところは積極的に利用し,創造性が必要な部分だけを人間が行っていく姿勢が大切です。
もちろん,こんなことを小学生は考えて生活するわけではないのですが,今後の社会を担う子どもたちを導いてやるためにも教育が担っている責任は大きいと言えます。
未来を見通せる我々大人たちが子どものために何ができるか考えるためにも,教育改革の進歩状況には今後も注意を払っていきましょう!
プログラミング教育に関する最新資料については,文部科学省の公表内容を参考にしてください。