2020年度から小学校でプログラミング教育が始まりました。プログラミングと聞くと、難しい用語を使ってプログラムを作るもの…などというイメージではないでしょうか。
始まってまだ3年目。そもそもなぜプログラミング教育が必要なのか。どのように学習を進めているのか、分からないことだらけですよね。プログラミング教育は、ソースコードを使用してプログラムを作るというものとは違います。小学校のプログラミング教育は、「計画を実現するために試行錯誤しながら必要な手順を実行していく」ための考え方を学ぶものです。
本記事では、プログラミング教育の目的から、実際に行われている内容までを解説します。

小学校現場ではタブレットに引き続き、また新しいことが始まった~…と大慌てでした
プログラミング教育が始まった理由
2016年(平成28年)頃からプログラミング教育の導入についての検討が始まりました。
プログラミング教育が必要と言われた理由は次の2つ。
- 情報や情報技術を主体的、手段として活用していく力を養う
- プログラミング的思考(論理的思考)を養う
今後さらに情報化が進み、社会や人々の生活が大きく変化するでしょう。その中で生きていく力を身に付けさせたいと考えたのです。2つの理由を詳しく解説していきます。
情報や情報技術を主体的、手段として活用していく力を養う
現在もコンピュータは生活のさまざまな場面で活用されています。そしてコンピュータの活用場面は今後どんどん増えていくでしょう。
コンピュータを活用していくためには、その仕組みを知ることが重要。その仕組みを知り、コンピュータに命令(プログラム)を与えるのがプログラミングです。プログラミングを学ぶことによって、コンピュータを主体的に活用できるようになります。
プログラミング教育は子どもたちの可能性を広げることも。実際にプログラミングの能力を開花させ、起業する若者や特許取得する子どもも現れています。
逆に言えば、コンピュータを扱えないと、子どもたちの可能性を狭くしてしまう可能性もあるのです。これからの社会では、将来どのような職業に就くとしても、コンピュータ等を活用する力は求められるでしょう。
このように、プログラミング教育はこれからの情報化社会で活躍する人材を育てることを目的の一つとしています。
プログラミング的思考(論理的思考)を養う
今後ハイスピードで情報化が進んでいくでしょう。これからの子どもたちは、急速な変化の中で起こる予測不能な出来事にも柔軟に対応していく力がもとめられます。
そのために必要なものがプログラミング的思考です。文科省ではプログラミング的思考を次のように説明しています。
「プログラミング的思考」とは、「自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいい
小学校プログラミング教育の手引(第三版)
のか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力」であると説明されています
つまり、「目的を達成するため」に「どんな手段をとるべきか」を「試行錯誤して選択していく」ことです。
プログラミング教育のねらい
プログラミング教育のねらいは次の3つ。
- 「プログラミング的思考」を育む
- プログラムの働きやよさ、情報社会がコンピュータ等の情報技術によって支えられていることなどに気付き、コンピュータ等を上手に活用して身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育む
- 各教科等での学びをより確実なものとする

プログラミング教育といっても、プログラミング言語を覚えたり、プログラミングの技能を習得したりといったことはねらいとしていません。
それぞれのねらいを詳しく見ていきましょう。
「プログラミング的思考」を育む
例えばコンピュータに正三角形を描かせる場合を考えてみます。「正三角形を描く」というプログラムは通常用意されていないので、コンピュータが分かる命令を組み合わせることが必要。紙の上で描く時にも正多角形の性質を使って描きます。コンピュータにも同じような手順を踏ませるのです。

図形に関する既習事項を活用して、正三角形を描く手順を分け、試行錯誤を行う中でプログラミング的思考を働かせています。うまくいかない場合も、間違えた点を考えて試行錯誤することで、論理的に考える力が身に付くのです。
ICTのよさに気付き、問題解決したりよりよい社会を築こうとする態度を育む
小学校では、体験を通してプログラムの働きやよさ、情報社会がコンピュータ等の情報技術によって支えられていることなど気付かせていきます。この気付きは今後コンピュータ等を活用していく上で必要な基盤となる大事なことです。
この気付きを基礎にして、中学校、高校と段階を追ってプログラム作成や活用ができるように、知識・技能を身に付けていきます。
各教科等での学びをより確実なものとする
プログラミングという教科ができたわけではありません。

各教科の中でプログラミング教育を取り入れていくのです。先ほど紹介した、正三角形をコンピュータに描かせるには、正三角形の性質を知っていなければなりません。プログラミング教育を通して各教科の学びをより確実なものにしていきます。
プログラミングの授業内容
実際のプログラミングの授業内容をみてみましょう。プログラミングに関する学習内容の分類は次のとおり。

- 学習指導要領に例示されている単元等で実施するもの
- 学習指導要領に例示されていはいないが、学習指導要領に示される各教科等の内容を指導する中で実施するもの
- 教育課程内で各教科等とは別に実施するもの
- クラブ活動など、特定の児童を対象として、教育課程内で実施するもの
- 学校を会場とするが、教育課程外のもの
- 学校外でのプログラミングの学習機会
それぞれの授業内容を紹介していきます。
学習指導要領に例示されている単元等で実施するもの
算数や理科、総合的な学習の時間を中心に実施されています。算数の教科書での取り扱いも増えました。学校図書の教科書では1年生から段階を追って学習できるようになっています。

5年生で取り扱っているのは「多角形のかき方」です。タブレットを使うと、マウスのクリックも必要なく、指で簡単に指示を選択できます。

指示を出していく中で、失敗することも。その時にはどうしたらいいのかを考え、修正しながら再チャレンジしていきます。このように試行錯誤をしながら目的を達成していくことが大事です。
学習指導要領に例示されていはいないが、学習指導要領に示される各教科等の内容を指導する中で実施するもの
国語や音楽、図工などどの教科でも実施することが可能。scratchやViscuitなどさまざまなツールを使用できますが、scratchを使った実践が多いです。
また、情報機器を使わずに行うプログラミング学習あります。
情報機器を使わない小学2年生の「繰り下がりのあるひき算のひっ算」の事例を紹介します。

私が実際に行った授業です
シーケンスを用いた算数の授業です。


左(前の時間での学習)と右のシーケンスを比較します。手順が1つ増えたことに気付くとともに、繰り下げる回数が増えても順序は変わらないことを学習しました。
シーケンス
プログラムの基本概念の一つ。コンピュータに対する命令(コマンド)を順番通りに並べて処理
を進めること。問題を解決するための手順を細かく分解して、順番通りに並べることがプログラミ
ング的思考の第一歩。
教育課程内で各教科等とは別に実施するもの
ロボットを動かしたり、自分の絵を動かしたりと、自分でプログラムを作る活動もあります。外部講師を呼んで行うことも多く、私が4年生を受け持った時には、ロボホンというロボットを動かす授業を行いました。
民間のプログラミング教室を運営する企業が出前授業を受け付けています。中学年から高学年を対象としているところが多いです。無償で行っているところも多く、専門の講師が丁寧に教えてくれます。
クラブ活動など、特定の児童を対象として、教育課程内で実施するもの
小学校にはクラブ活動があり、4年生以上が月2回程度活動します。子どもたちの興味関心によって作られ、コンピュータクラブやロボコンクラブなど、プログラミングを取り扱うクラブも。
クラブ活動でも外部講師を呼んで行うものや、ロボコンコンテストを目指して活動するもの、さまざまです。
学校を会場とするが、教育課程外のもの
大学と連携したものや、地域に密着した内容のものなどがあります。学生がメンターとなって子どもたちに教えていくことも。
学校外でのプログラミングの学習機会
自治体と企業が一緒となって行うプログラミングのイベントもあります。自治体の教育委員会が周知・対象校の絞り込み・募集の取りまとめなどを行い、プログラミング学習をすすめているところも。
まとめ
このように、プログラミング学習はさまざまな方法で進められています。プログラミング教室もよく見かけるようになりました。
通信教育の口座でもプログラミングを追加料金なしで取り扱っているところもあります。子どもに合った方法を選択してあげられるといいですね。
我が家はスマイルゼミ!ゲーム感覚でプログラミングを学べます。2週間無料お試しをしているので安心です!
<参考>
小学校プログラミング教育の手引(第三版)
小学校を中心としたプログラミング教育ポータル
コメント