AD/PR

小学生のプログラミング教育!問題点や中高での学びも

2020年の4月から小学生のプログラミング教育が必修化されました。

もちろん小学1年生であってもその対象です。

とはいえ,「プログラミング」という難しそうな響きとは裏腹に高度な専門性は求められず,あくまで中学や高校の学びに繋げるための学びが中心となります。

キーボードを使って英数字を打ち込むような高度なプログラミングは基本的には行われません。

英語教育においても同様ですが,小学校では「生徒が楽しさや達成感を重視し,意欲を高める」ことを最も重要視しており,プログラミングは他教科の学びを深める中でのサポートの役割に徹することも多かったりします。

詳しくは後述しますが,実際やる作業はマウスやタッチ操作が中心で,あらかじめ命令が書かれた色付きのブロック(「〇歩前に動く」や「左に〇度曲がる」といったもの)を並び替えるだけでOKだったりもするので,必要以上に身構えないことが大切です。

今回の記事では「小学校にプログラミング教育が導入された経緯から始めて,今後想定される問題点,さらには中学や高校のカリキュラムや自宅でできる対策」についても考えてみましょう!

小学校でプログラミングが必修化された理由

付箋にアイディアを書き出す様子

そもそも,どうして小学生の段階からプログラミング教育が必修化されたのでしょうか。

それは一言で言えば「必要性に迫られたから」であり,「Society5.0」や「未来の教室」に登場するような近い未来においては情報を上手に活用する能力がますます必須となるため,そのための教育をいち早く計画的に行うべきとされたからです↓

ちなみに諸外国においては初等教育の段階からプログラミング教育がすでに取り入れられており,日本における当時の動きが特殊だったわけではありません。

もっと言えば,国内においても中学や高校ではすでに必修科目となっていたわけで,「これまで中高生に教えていたものを小学生の段階から教え始めることで,今後につながる教育を早期から施そう」といった感じで,新学習指導要領のテーマとも合っていたわけです。

実際,その後行われた国際的な学力調査の結果も良好で,以下の動画を観ても,生徒たちは楽しそうに学んでいるように見受けられます↓

以下で具体的にどのような学びが期待されているのかみてみましょう!

情報活用能力が育成できる

2020年度の新学習指導要領においては「言語能力」が学習の基盤となる資質・能力の1つとみなされており,読む力の重要性についてはすでに記事にしましたが,それ以外に「情報活用能力」が必須能力の1つとして考えられるようになりました。

そして,その育成に有効とされるのがプログラミング教育だったというわけです。

結果的に以下のような資質・能力が高まります↓

  1. 思考力・判断力・表現力など
  2. 知識や技能
  3. 学びに向かう力・人間性

1に挙げた力は「プログラミング的思考」の中に見出すことができ,「自分がやりたいことを実現するためには,どういった動きを組み合わせればよいのかを論理的に考えていく能力」のことです。

例えば「ロボットが歩く」という単純な動き1つをとってみても,それを人間が命ずるとなれば,

片足を上げる→その足を前に踏み出す→重心を前にずらす→残った方の足を上げる

といった小さな動きの連続に分ける必要があり,それらすべてを1つ1つ正確にプログラミングしていかなければロボットは歩くことができません。

このとき,どういった動きをどのような順序で行えばよいか考える必要がある他,前提条件として自分がロボットに何をさせたいかという意図を明確にしたり自らで課題を発見したりすることも必要です。

とはいえ,具体的で効率的な動作を行うために試行錯誤し,判明した反省点をもとに改良を加えていく姿勢は,あらゆる人間活動に応用できる価値あるものであることに違いないでしょう↓

プログラミング的思考について説明した図

上の青枠内に書かれている,「必要な動きを分けて考えること,動きに対応した命令にすること,組み合わせること,必要に応じて継続的に改善すること」がまさにそれです。

先の2と3で挙げた能力については,「コンピュータを身近に感じ,問題解決には一連の手順が必要であることを知り,培った能力をよりよい人生や社会のために役立てようとしてもらう」ことを目標としています。

先述したように,小学校での学びは中学や高校でのプログラミング教育を円滑に進めるための準備段階という位置づけになるので,早期段階から些細な気づきや態度の変化を促しておくことは目標として相応しいものでしょう。

簡単にみてみると,以下が小学生から高校生までのプログラミング教育の目的となります↓

小学校から高校までのプログラミング教育の目標

 

幅広い教科の理解が深まる

さて,こうしたプログラミング教育で扱うテーマとしては身近なものが望ましく,ただでさえやることが多くてあたふたしている改革後ですから,国語や算数,総合的な学習の時間(理科や社会が含まれる)で扱う単元を題材にすれば各教科の理解も深まって一石二鳥です

例えばモーターを取り上げ,その仕組みをテーマにプログラミング教育を施せばどうなるでしょうか。

それは理科の学習を兼ねることになります。

また,正三角形や正六角形をプログラミングで書くとなれば,それは算数の授業の一環とみなせるでしょう↓

算数におけるプログラミング教育の指導例

ところで,上で確認できる「スタートボタンがクリックされたとき」,「ペンを下ろす」,「〇回繰り返す」といった命令は種類ごとに色分けされており,すでに細かなプログラムが入力された状態のブロックです。

これを使ってプログラミングを行うことを「ビジュアル型プログラミング言語」と呼び,特定言語によるテキスト型の言語(C言語とかPythonとか)と区別されます。

前者はマウスやタッチ操作で簡単に扱えるだけでなく,数字を入力するだけで変化を加えることも容易です。

管理人
管理人
確かに,英語を習っていない小学生に「if」などを用いたプログラミングを教えたところで理解ができないでしょう。

もちろん,前者においても頭を働かせる余地は十分に残されており,上記画像の左の例では「正三角形だから60度だ」などと単純に入力してしまえばうまくいかず,補角(この場合は180-60=120度)の存在に気づく必要があります(詳しくは中学の数学で習う範囲です)。

このように,プログラミング教育を通して既存の教科についてより深く学ぶことができるのも,必修化を許された理由でしょう。

あくまで別教科の理解を深めるためのツールとして使うことが想定されているわけです。

その他,教育課程外の学習においても生徒の興味や関心を引くために用いられ,とりわけ楽しさや面白さ,達成感を与えることを目的にプログラミング教育が行われることもあります。

工場見学やロボットを借りてプログラミングをするなど,主に企業や地域の団体が行うものになりますが,提供側においても子どもの率直な意見が聞けるなどのメリットがあるわけです。

ただし,これらの多くは各学校の裁量に委ねられることになるため,それらが格差となって表れてくる可能性もあります。

どのような問題が起こり得ると言われているか,次章でまとめておくことにしましょう。

 

 

小学校のプログラミング教育における問題点

ICT機器の例

プログラミング教育の必修化を成功させるためには,あらゆる小学校にしっかりとした学習環境が整備されることが必要です。

具体的には,

  • 指導者
  • 設備
  • 教育方針

の3つが考えられます。

管理人
管理人
こうした問題は年数が経過するほどに明るみになるもので,もちろん国がそれを手をこまねいて見ていることはありません。状況は日々改善されてきていることを最初に断っておきます。

指導者の問題

まず1つ目の「指導者」についてですが,現代の教師たちはプログラミング教育を受けた経験がない方も多く,どのように子どもたちに教えたらよいのかわからないというものです。

もちろんICTに明るい支援員を要請したり,または予算の都合でボランティアの方が来るかもしれませんが彼らに任せ切ることはできません。

というのも,彼らは技術にこそ長けているものの教育的な視点は持ち合わせていないことが多いからです。

つまり結局のところ,現場の教師がリーダーシップを発揮しなければなりません。

そのため,もし指導する教師の能力に疑問を持つようであれば,各家庭がプログラミング教育を別に施す必要があると言えるでしょう。

子どもの勘は往々にして正しいものです。

 

設備の問題

2つ目は「設備」の問題が挙げられますが,ICT環境が充実していない学校があるということです。

電子黒板や無線LANが校内で使えるように予算を計上することはもちろん,せめて授業中はパソコンまたはタブレットを1人1台使えることは,今後は当然のことだと思わなければなりません。

とはいえ,こちらはコロナ禍がプラスに働いて学習環境の整備はかなり進みました。

しかし,パスワードの問題や機器の貸し出しのルールなど,まだまだ課題は多いのが現状です↓

 

教育方針の問題

最後は「教育方針」になりますが,先述の通り,具体的にどのようなプログラミング教育を行うか(どのような資質・能力を優先的に育むか)は各学校の裁量に委ねられています。

プログラミングの働きや良さ,そして情報社会がいかにICTに支えられているかということに気づいたり,問題解決やよりよい社会づくりにICTを使う態度を身に付けたりするための活動内容については学校間で結構な差があるでしょう。

最初の動画で見たような教育が全国的かつ恒常的に行われているとは到底思えません。

好立地にある学校が企業や専門家と連携しやすい一方で,予算の調達や立地条件で不利な学校はどうしても出てきてしまうはずです。

現在,小学校を中心としたプログラミング教育ポータルというHPで,全国の優れた実施事例を共有しているので,他の学校でどのような教育が行われているのかに興味がある方は是非アクセスしてみてください。

なお,実施事例はA~Fの6つに分類されていて,先に示した正三角形のような例はA分類,ゲーム作りのような各学校の腕の見せどころはC分類,そして一番大きく異なる教育課程外の活動はEやF分類になります。

 

 

中学や高校でのプログラミング教育

ここでは,中学や高校でのプログラミング教育の概要について確認してみることにしましょう。

主に学ぶ項目について単語にしてみると,徐々に高度な内容になっていくことがうかがえます

中学以降で学ぶプログラミング

中学校:計測・制御,ネットワークを利用した双方向性のあるコンテンツのプログラミング

高校:アルゴリズムとコンピュータの仕組み,モデル化・シミュレーション

以下で詳しくみていきましょう。

中学校

中学校では「技術家庭(技術分野)」の授業において,小学校で学んだ内容をさらに発展させていくことになります。

教育の方針としては,身近な情報技術に興味・関心を持たせ,これらが生活や社会にどのような影響を与えるのかを考えさせた後,情報技術の仕組みや原理・法則について科学的な理解を深めることになるわけです。

一見,小学校で学んだことと同じように思いますが,こうした社会認識と科学的理解の両面から問題解決の工夫を分析し,実際に開発者の目線でより具体的なプログラミングを行う点が異なります。

管理人
管理人
すべてを一段階深いレベルで行うと考えておくのがわかりやすいでしょう。言語もテキスト型が中心です。

例として,センサーを使って物を運ぶロボットであれば計測や制御について学ぶことができますし,無人店舗のおすすめ商品を表示するプログラムを作ることで,双方向性のあるコンテンツの学習が可能です。

詳しくは説明しませんが,前者のプログラミングですと,ただ出来事が順番に進んでいく以外に反復や分岐を伴うものが登場します↓

光センサを活用したプログラミング

 

高等学校

高校では情報の授業がこれにあたり,現在に至るまで3つの段階を経てきたわけです↓

  1. 情報A・B・C(3つから1つを選択)
  2. 情報の科学・社会と情報(いずれかを選択)
  3. 情報I(必須),情報II(選択)

このうち,情報A・情報C・社会と情報の3つはプログラミング教育を含んでいなかったため,高校において全くプログラミングに触れないこともこれまでは可能でしたが,2022年以降はそれができなくなりました。

というのも,必須科目となった情報Iの学習内容が以下のように再編されているからです↓

情報Iの学習内容

第1章:情報社会の問題解決

第2章:コミュニケーションと情報デザイン

第3章:コンピュータとプログラミング

第4章:情報通信ネットワークとデータの活用

プログラミングは第3章に出てきていることがわかります。

詳細は以下を確認してください↓

高校のコンピュータとプログラミングの学習内容

この他,情報IIではシステムのプログラミングについて学ぶことが可能で,より専門的な内容を扱う大学でのプログラミング教育への橋渡しとなります。

関連して,2025年1月の共通テストからは「情報I」が新設されることにも注意してください↓

 

 

小学生が自宅でできるプログラミング教育

最後に,小学生が自宅で学べるプログラミング教育について考えてみましょう!

先ほど,教師のプログラミングに関する知識を増やすための研修が行われていると言いましたが,

「まずは教師の皆さんがプログラミングを体験してみましょう!」

「どうです?思ったより難しくないでしょう」

といった,ずいぶん低い位置からのスタートとなっています。

実際,教師が学んだ教材も見ることができてしまうわけで,もし自分が小学生だったら真っ先に確認していたでしょう↓

もちろん,これらの教材を通してプログラミングの核部分を捉え,自分の授業に応用できる妙案が浮かぶ教師も多く存在することは承知の上です。

しかし,そうならない先生もいるわけで,実際,プログラミング教育ポータルで見た内容と同じ授業から始めて,徐々に発展させていく方法が推奨されています。

そもそも独自色の強い授業を実践するということは最悪大失敗につながる危険性と隣り合わせですから,それをわざわざ義務教育の現場でおいそれと実行する先生は少ないでしょう。

私は個人塾で教えているから好き勝手できますが,国に雇われた公務員の立場ではそこそこ上手くいくことがわかっているものだけを慎重に遂行していくだけの授業を行いがちです。

しかし子どもは誰しもが飽きっぽいので,すぐに我慢の限界はきてしまうことになります。

教師をよく観察している子どもを相手にするだけに,教師自身が楽しんでプログラミング授業を行うのでなければ,子どもの「楽しい・面白い・できた」といった感情や「もっと学びたい!」といった意欲を引き出す授業は難しいでしょう。

もちろん,その対策として教員側は自分が楽しいと思える領域(専門性のある領域)に落とし込んでプログラミング教育を実践することになります↓

プログラミング教育の準備と実践について

とはいえ,保護者目線でみて「自分の子どもが満足に論理的な思考力を身に付けられていない」と判断できるようであれば,どこかでプログラミング教育を学べる教室を利用することも選択肢の1つに入れなければなりません。

プログラミング教育に限らず,英語の必修化による影響で従来の勉強ではスケジュール的になんとか可能だった知識の獲得が時間的に厳しくなっている現状を踏まえると,今や各自が家で勉強する時間こそが大切であるように感じられます

特にプログラミング教育の成功のカギとされているのは,楽しさや達成感を与える「体験と試行錯誤」です。

しかし集団でそれを行うとなると,どうしても1人が体験できる時間は限られてしまいますし,試行錯誤には失敗がつきものですが,わざわざ学校で非効率な失敗を繰り返させることは多くありません。

クラブ活動などでコンピュータを扱う部活に入るなどすれば話は別ですが,そうでなければこれまで敬遠していた方も多かった通信教育なども積極的に利用し,自宅で別に勉強時間を積み重ねるようにしては効率良く学習していく工夫が必要になってくるでしょう。

以下の記事で,実際に自宅で学べるプログラミング教材を紹介しているので参考にしてください↓

 

 

まとめ

以上,小学生のプログラミング教育が必修化された理由を中心に,中高での学びや教育現場での問題点や対策などをまとめてきました。

将来の予測を行うのが難しい時代となり,AIにいくつかの職業を奪われてしまうことも間もなく訪れるでしょうが,そんな時代だからこそ,人間にしかできないことがより価値を持つようになるわけです。

そんな時代で生き残るためにはコンピュータの仕組みを学び,AIは何が得意で何が得意でないのかを理解することが必要で,このことはいずれ自分が他人よりも優れている強みは何か,他社と比較した際の我が社の強みは何かなどを見出す目に育つことになります。

そういった意味でも,「社会が今,何を必要としているのか」という気づきを可能にするプログラミング教育はその重要性を増しています。

そもそもあらゆるコンピューターの動作はどこぞの人間がプログラミングして制御しているわけですから,AIを利用できるところは積極的に利用し,創造性が必要な部分だけを人間が行うという姿勢が大切です。

もちろん,こんなことを小学生が考えながら生活することにはならないのですが,今後の社会を担う子どもたちを導いてやるためにも周りの大人たちの責務は大きいと言えます。

未来を見通せる我々大人たちが子どものために何ができるか考えるためにも,教育改革の進歩状況には今後も注意を払っていきましょう!

プログラミング教育に関する最新資料については,文部科学省の公表内容を参考にしてください。

最後までお読みいただきありがとうございました。

  • この記事を書いた人
blank

スタディサイトの管理人

通信教育の添削や採点業務に加え,塾や家庭教師を含めた指導歴は20年以上になります。東大で修士号を取得したのははるか昔のことですが,教授から「ここ数年で一番の秀才」と評されたことは今でも私の心の支えです。小学生から高校生にまで通ずる勉強法を考案しつつ,気に入って使っているスタディサプリのユーザー歴は6年を超えました。オンラインでのやり取りにはなりますが,少しでもみなさまのお役に立てれば幸いです!

-教育改革