小学校でプログラミング教育が必修化されたけど、そのねらい・目的はなんだろう?具体的にはどんなことを勉強するのかな?家庭でもプログラミング学習をしたほうがいいのかな?
こんな疑問にお答えします。
- プログラミング教育のねらい・目的をエンジニアがわかりやすく解説
- プログラミング教育の具体的な内容を紹介
- できれば家庭でプログラミング学習をしたほうがいい理由【簡単な方法も紹介】
今回は文部科学省のプログラミング教育に関する資料をもとに解説します。
ちょっと長いですが、大手メーカーでソフトウェアエンジニアを6年以上経験している私がわかりやすく噛み砕いて解説しているのでぜひ最後までご覧くださいm(_ _)m
プログラミング教育のねらい・目的をエンジニアがわかりやすく解説
文部科学省のプログラミング教育に関する資料「小学校プログラミング教育の手引(第三版)」によると、小学校におけるプログラミング教育のねらい・目的は3点あります。
- 「プログラミング的思考」を育むこと
- プログラムの働きやよさ等への「気付き」を促し、コンピュータ等を上手に活用して問題を解決しようとする態度を育むこと
- 各教科等の内容を指導する中で実施する場合には、各教科等の学びをより確実なものとすること
これだけ見てもよくわからないので、1つずつ解説しますね。
1.「プログラミング的思考」を育むこと
まず、プログラミング的思考というのがどんな思考なのかわからないですよね。
資料によると、プログラミング的思考とは
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
出典:文部科学省「小学校プログラミング教育の手引(第三版)」
とのことです。
つまり、「プログラミング的思考」を育むとは
ということです。
プログラミング教材を使って解説してみます
まだイメージが湧かない方のためにプログラミング・フォロというロボットを使って解説します。
「プログラミング・フォロ」は2種類のプログラミングソフトでプログラムを作ることができる6足歩行ロボットです。
例えば、ロボットを3秒間前進させるプログラムをそれぞれのプログラミングソフトで作ると次のようになります。
▼プログラミングソフト①(PaletteIDE)
▼プログラミングソフト②(Microsoft MakeCode for micro:bit)
見比べてみると分かる通り、プログラミングソフト②は命令が複雑ですよね。これは「足用のモーターが接続されている端子に正回転方向に最大信号を出力する」という命令で前進を実現しています。
一方、プログラミングソフト①ではその細かい命令を「前進」というアイコン一つにまとめてあります。3秒経つと自動で停止します。
どうでしょうか?結構違いますよね。1つ1つの小さな命令は異なりますが結果はどちらも「ロボットを3秒間前進させる」です。
これが「身の回りにあるプログラムは小さな命令の組合せでできてるよ」ということです。
そして、「使うプログラミングソフトは時と場合によって変わるから意図した動作(目的)を実現するためにはどうしたらいいか考える力を養いましょう」ということです。
これがプログラミング教育のねらいの1つ目「プログラミング的思考」を育むことです。
2.プログラムの働きやよさ等への「気付き」を促し、コンピュータ等を上手に活用して問題を解決しようとする態度を育むこと
これは、まず身近な生活でコンピューターが活用されていること知りましょうということです。
そして、その動作を実現する(問題を解決する)には必要な手順があることに気づくことも大事です。
例えば、自動ドアは
という手順で動作しています。
以上のことを知り、理解すると生活の中でコンピューターを活用できないかと考えることができるようになります。
なので、「子供の頃からコンピューターを活用して生活を便利にできないかと考える力を養っておくとよりよい人生や社会づくりをできるようになりますよ」ということです。
これらのことを理解し、コンピューターを活用できるようになるためにプログラミングを体験してみようというのがプログラミング教育の2つ目のねらいです。
3.各教科等の内容を指導する中で実施する場合には、各教科等の学びをより確実なものとすること
例えば、「プログラミングを活用して算数の学びを確実なものにする」ということです。
言い換えると「算数の学びを確実なものにするためにプログラミングを活用する」ということです。
具体例は後述します。
1つ1つ見ていくとプログラミング教育が見えてくる
以上をおさらいすると、小学校におけるプログラミング教育のねらい・目的は次のとおりです。
- 「プログラミング的思考」を育むこと
- プログラムの働きやよさ等への「気付き」を促し、コンピュータ等を上手に活用して問題を解決しようとする態度を育むこと
- 各教科等の内容を指導する中で実施する場合には、各教科等の学びをより確実なものとすること
どうでしょうか?順番に1つ1つ分解して見ていけばわかってきたのではないでしょうか?
プログラミング教育の具体的な内容を紹介
文部科学省のプログラミング教育に関する資料「小学校プログラミング教育の手引(第三版)」に載っていた例を紹介します。
プログラミングを通して、正多角形の意味を基に正多角形をかく場面
これは算数の授業の中でプログラミングを活用する例です。
正多角形とはこのようなものですね。
正多角形は「辺の長さが全て等しく、角の大きさが全て等しい」という性質があります。
まずは、手書きで正多角形を描いてみて、次にプログラミングしてコンピューターに描かせます。こうすることで、手書きだと時間がかかることや何度も同じ図形を正確に描くことは難しいと実感できます。
このようにしてコンピューターが便利なこと、プログラミングをすれば自分が意図する動作を実現できることを理解します。
また、正多角形をコンピューターに描かせるためにどういう命令を組み合わせれば実現できるか考えることがプログラミング的思考を育みます。
これが算数の授業の中でプログラミングを活用する例です。
できれば家庭でプログラミング学習をしたほうがいい理由【簡単な方法も紹介】
結論は、できれば家庭でプログラミング学習をしたほうがいいです。
理由は次の2点です。
- ① 学校のプログラミング教育が普及していないから
- ② 学校のプログラミング教育を受け入れやすくなるから
順番に解説します。
理由①:学校のプログラミング教育が普及していないから
みんなのコードのアンケート結果によると学校のプログラミング教育はまだまだ普及していないようです。
ですが、今の子供達は2025年の「大学入学共通テスト」から始まる情報科目に向き合わないといけません。
なので、少しでも家庭でプログラミングを体験しておくことはありです。
理由②:学校のプログラミング教育を受け入れやすくなるから
プログラミングの概念を理解するには個人差があります。
なので、いきなり学校のプログラミング授業を受けると理解に時間がかかるかもです。
そうならないためにも、家庭でプログラミングを体験しておくことは大いにありです。
家庭でできる簡単なプログラミング学習方法
結論は、プログラミングおもちゃを使う方法です。
理由は初めてプログラミングに触れるお子さんでも楽しくプログラミングを学べるように作ってあるからです。
例えば、「レゴブースト クリエイティブ・ボックス」が有名ですね。
「レゴブースト クリエイティブ・ボックス」はビジュアルプログラミングソフトでプログラミングするレゴブロックのプログラミングおもちゃです。
レゴブロックでロボットを組み立てたあとは、こんな感じでタブレット上で命令アイコンを1つ1つ並べながらプログラミングします。
それに、レゴブロックなのでこんな感じで自由に組み換えできます。
詳しく知りたい方はこちらのレビュー記事をご覧くださいm(_ _)m
【注意点有】レゴでプログラミング!レゴブーストの口コミ・レビュー
親御さんがプログラミング経験無くても問題ない話
とはいえ、「プログラミング経験者じゃない私が教えられるかな」と思われるかもです。
ですが、安心してください。親御さんがプログラミングを教える必要はありません。
プログラミングおもちゃは初心者にもわかりやすいようにできていますし、わからなければ一緒に勉強すればいいです。仕事でもプログラミングの感覚を持っていると役に立ちますからね。
これを機にプログラミングに挑戦しよう!
というわけで、家庭でもプログラミングを学習する方法は色々あるのでぜひ挑戦してみてください。
また、レゴブーストのようなロボット教材をプログラミング教育で使うメリットとデメリットもあわせてご確認ください。
プログラミング教育の教材にロボットを使うメリットとデメリット
お子さんが大きくなるのはあっという間です。
「チャンスを活かせる者は決してチャンスを逃さない」ですよ。