← StudyX Devlog

小学校のプログラミング教育では何を学ぶのか

Hiroki ObaraHiroki Obara · DeveloperMath Gates使い方
小学校のプログラミング教育では何を学ぶのか

小学校のプログラミング教育は、2020年度から全面実施された学習指導要領で始まりました。「必修化」と聞くと、新しく「プログラミング」という教科ができたように思えますが、そうではありません。時間割に「プログラミング」の時間が増えたわけではなく、算数や理科、総合的な学習の時間など、今ある教科の中で行われています。

では、学校では実際に何をしているのでしょうか。この記事では、学習指導要領の本文と、文部科学省の「小学校プログラミング教育の手引(第三版)」(2020年2月)をもとに、中身を整理しました。プログラミング的思考という言葉の意味については、プログラミング的思考とは:パズルで育つものに書いたので、ここでは学校で何をするかを中心にします。

学習指導要領に書かれていること

小学校学習指導要領(平成29年告示)の総則には、各教科等の特質に応じて計画的に実施する学習活動として、次の一文があります。

児童がプログラミングを体験しながら,コンピュータに意図した処理を行わせるために必要な論理的思考力を身に付けるための学習活動

ポイントは「体験しながら」です。プログラミングを知識として教わるのではなく、実際にやってみることが求められています。そして、身に付けるのは「論理的思考力」で、プログラミングの技能ではありません。

3つのねらい

手引は、小学校のプログラミング教育のねらいを、大まかに3つにまとめています。

  1. 「プログラミング的思考」を育むこと
  2. プログラムの働きやよさ、情報社会がコンピュータ等の情報技術に支えられていることなどに気付き、コンピュータ等を上手に活用して身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育むこと
  3. 教科の中で行う場合には、その教科の学びをより確実なものにすること

手引は続けて、こどもがプログラミング言語を覚えたり技能を身につけたりすることはあり得るが、それ自体をねらいとしているのではない、とはっきり書いています。

2つめのねらいについては、手引に分かりやすい説明があります。今のこどもはコンピュータを毎日のように使っているのに、その仕組みは「ブラックボックス化」している。そこで、コンピュータはプログラムで動いていること、プログラムは人が作っていること、コンピュータには得意なこととなかなかできないことがあることに、体験を通して気付かせる、というものです。

授業の例

学習指導要領には、教科の中で取り上げる場面として、2つの例が書かれています。

算数・5年生の正多角形。 正多角形をかくには、同じ長さだけ進んで同じ角度だけ曲がる、という作業を正確にくり返す必要があります。さらに、くり返す回数や曲がる角度を少し変えるだけで、ほかの正多角形も同じようにかけます。この「正確なくり返し」と「一部を変えると別の形になる」場面で、プログラミングを使うという例です。

理科・6年生の電気の利用。 身の回りには、電気の性質や働きを利用した道具があることを学ぶ場面です。与えた条件に応じて動作していることを考え、条件を変えると動作がどう変わるかを考える場面で扱う、とされています。手引の指導例では、人を感知するセンサーで発光ダイオードの点灯を制御する回路を作り、センサーが反応する条件をプログラムで変えてみる授業が紹介されています。

総合的な学習の時間でも、探究の過程の中にプログラミングの体験を位置づけるよう書かれています。

手引はこのほかにも、学習指導要領には例示されていない教科での例を挙げています。音楽でリズムのパターンを組み合わせて音楽をつくる、社会で都道府県の特徴を組み合わせて47都道府県を見つけるプログラムを使う、家庭科で自動炊飯器に組み込まれているプログラムを考える、といったものです。

手引では、こうした学習活動をA〜Fの6つに分類しています。Aは学習指導要領に例示されている単元で行うもの、Bは例示されていないが教科の内容を指導する中で行うもの、Cは教育課程内で教科とは別に行うもの、Dはクラブ活動など特定の児童を対象にするもの、EとFは学校の教育課程の外のものです。どの学年でどれだけやるかは、各学校が決めます。

何を使うのか

手引は、ブロックを組み上げるように命令を組み合わせる「ビジュアル型プログラミング言語」が普及していて、小学生は短時間で基本的な使い方を覚えられる、としています。手引の指導例も、この種類の言語を使う想定で書かれています。

コンピュータを使わずにプログラミング的思考を育てる活動もあります。手順をカードに書いて並べる、といったものです。ただし手引は、学習指導要領はこどもがプログラミングを体験することを求めているので、プログラミング教育全体でコンピュータをほとんど使わないのは望ましくない、とも書いています。

中学校・高校とのつながり

手引は、有識者会議の「議論の取りまとめ」を引いて、学校段階ごとに身に付ける知識と技能を次のように示しています。

  • 小学校:身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと
  • 中学校:社会におけるコンピュータの役割や影響を理解するとともに、簡単なプログラムを作成できるようにすること
  • 高校:コンピュータの働きを科学的に理解するとともに、実際の問題解決にコンピュータを活用できるようにすること

小学校は「気付くこと」の段階だと位置づけられています。アルゴリズムの考え方やコンピュータの仕組みは、中学校や高校で学ぶとされています。小学校のうちにたくさんのプログラムを書けるようになることは、求められていません。

家庭でできること

学校の授業は、学校ごとにかなり違います。家で何かを足すなら、私は次の2つが大事だと考えています。

ひとつは、手順を言葉にする遊びです。料理の手順を順番に書いてみる、道案内を言葉だけでしてみる。うまくいかなかったら、どこで止まったかを一緒に探して直します。手引の言う、意図した動きを一つ一つの動きの組み合わせとして考え、改善していくことを、そのまま台所や玄関でやることになります。

もうひとつは、家にある「プログラムで動くもの」に目を向けることです。手引の家庭科の例にある炊飯器のほかにも、エアコンのタイマー、洗濯機、信号機など、条件と手順で動くものは身の回りにたくさんあります。「これはどういう手順で動いていると思う」と聞くだけで、2つめのねらいの「気付き」につながると思います。

Math Gates について

Math Gates は、私が作っている回路パズルのゲームです。盤の空きマスに、数を変える「門」と、進む向きを90度曲げる「鏡」を置き、「うごかす」を押すと、数を持った「ビット」がまっすぐ走ります。目的地の「ポート」は、条件を満たす値しか受け取りません。

学校の授業との関係でいえば、Math Gates はビジュアル型プログラミング言語の代わりにはなりません。こどもが自分の作りたいものを作る道具ではなく、ゴールは問題の側にあります。そのかわり、動きを順番に組み合わせる、動かす前に結果を予想する、うまくいかなかった理由を探して直す、という部分を、短い時間でくり返し練習できます。駒を置くと結果が点線で盤に描かれ、失敗したときは、壁にぶつかった、門を通れない値だった、のように理由が分かる形で止まります。最後の「論理の回路」では、NOT・AND・OR の論理門も出てきます。

7ワールド140問で、対象は8歳からです。無料で遊べて、クリアの合間に広告が入ります。広告は買い切りの課金で消せます。Scratch などほかの選択肢との違いはMath Gates と他の選択肢の比較に書きました。

小学校のプログラミング教育は、プログラマーを育てるためのものではなく、コンピュータが人の書いた手順で動いていることに気付き、手順を組み立てて直す経験をするためのものだと私は理解しています。そう考えると、家でできることも意外に多いと思います。

App Store でダウンロード