小学生にプログラミング︎教育って何?
現役エンジニアが分かりやすく解説します!
「小学生にプログラミングって必要なの?」
「どんなことを学習してるの?どう教えれば良いの?」
「プログラミング教室に通わせた方が良いの?」
この記事を見ていただいてるということは、現在こういった悩みや不安をお持ちなのではないでしょうか?
身近に、小学生のプログラミング教育について詳しい方もいない。
ネットでの情報は、たくさん出回っていてどれが正しいのか分からなかったりしますよね?
そこで、本記事では実際に小中学校でプログラミングを教え、プログラミング教室も経営していた現役Webエンジニアが、現在の小学生のプログラミング教育について分りやすく解説します!
最後まで読んで頂ければ、小学生のプログラミング教育について理解できます。
是非参考にしてくださいね!
【著者プロフィール】
フリーWebエンジニア
2021年4月〜2023年10月 | GIGAスクール構想の導入を機に、小中学校でのプログラミング教育に興味をもち、ICT支援員として某自治体にてプログラミング教育に従事 |
2022年3月〜2023年10月 | 学校でのプログラミング教育だけでは不十分であると考え、プログラミング教室を開業 |
現在は、フリーランスとしてWebサイト構築やWebアプリ開発をしている。
[IT関連取得資格]
基本情報技術者 |
Webクリエイター能力認定試験エキスパート |
PHP8技術者認定初級試験 |
Python 3 エンジニア認定基礎試験 |
Java™プログラミング能力認定試験3級 |
なぜ今、小学生のプログラミング教育が重要なのか
情報技術が加速度的に進化し、私たちの暮らしや働き方が日々変わり続けています。
そんな現代において、未来を担う子どもたちに、デジタル時代に対応できる力を育むことはますます重要です。
特に小学生からのプログラミング教育は、今後の社会で必要とされる基礎的なスキルを身につける貴重な機会と考えられています。
予測できない時代の変化に対応し、より良い社会と幸福な人生の創り手となる力を育てる!
これがプログラミング教育が導入された目的です。
2020年から小学校でプログラミング教育が必修化された背景には、次のような要因があります。
今では当たり前のように耳にする生成AI。
2022年11月にOpenAI社が対話型生成AIのChatGPTをリリースしたことで、一気に普及しました。
それまでは、ここまで急速に生成AIが普及することを予測できたでしょうか?
この2年でガラッと変わったように、子どもたちが社会人となる頃の予測は困難です。
予想を遥かに超えた情報技術の時代となっているかもしれません。
2013年にオックスフォード大学准教授マイケル・オズボーン氏が発表した論文では、「今後10〜20年程度で、半数近くの仕事が自動化される可能性が高い」とされています。
私自身の経験でも、行っている仕事の内の30〜40%をAIに任せている状況でもあり、今後はその割合が増えるであろうと考えます。
そんな社会や生活の変化に、主体的に向き合い・関わり合い、自らの可能性を発揮し、よりよい社会と幸福な人生の創り手となるための力を子どもたちに育む学校教育の実現。
これが小学生のプログラミング教育が重要な理由です!
小学生向けプログラミング学習の特徴
文科省が取りまとめた「小学校段階におけるプログラミング教育の在り方について」では、小学校で行うプログラミング教育とは、子供たちに、コンピュータに意図した処理を行うように指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育成するものとされています。
小学校でのプログラミング教育では上記の3つを柱として教育を進めます。
- 身近な生活でコンピュータが活用されていることに気づく
- コンピュータを使って、より良い人生や社会作りを考えるようになる
- プログラミング的思考を育成する
では詳細をご説明いたします。
1.身近な生活でコンピュータが活用されていることに気づく
いま私たちの周りには、家電や自動車をはじめ身の回りの多くのものにコンピュータが使われ、生活を便利で豊かにしています。
それは子どもたちからしてみれば、どんな仕組みで動いているのかわからない「魔法の箱」のようなものです。
「魔法の箱」はコンピュータであり、そのコンピュータはプログラムによって動いていると理解することから学習が始まります。
子供たちがこれからの社会を生きていくためには、コンピュータをより適切で効果的に主体性をもって活用していかなくてはなりません。
2.コンピュータを使って、より良い人生や社会作りを考えるようになる
児童の身近にある問題の発見や解決にプログラミングを活用してみたり、プログラミングを活用してより良い社会の仕組みを作れないかなどの学習を行います。
例えば、以前行った信号機の仕組みを学習するプログラミング授業のまとめの際に、「赤になった直後に歩行者用の押しボタンを押しても、すぐに青にならないのは何故か?」という質問がありました。
その子にとっては、すぐに青になって渡れた方が便利だと思ったのでしょう。
私は「横断歩道を渡りたい〇〇君たちは、すぐに青になると便利だろうけど、横断歩道の手前で待ってる自動車の運転手さんはどうかな?青になってやっと進めると思った途端にまた赤になったら…」と問いました。
プログラムとは、利用する全ての人が便利だと思えるものでなくてはならない。
プログラミングは、全ての人が便利で安全に利用できるように作らなければならない。
色々な方向や立場などを考えてプログラミングすることを学習します。
3.プログラミング的思考を育成する
プログラミング的思考とは、プログラミングを行う際の考え方です。
自分の意図した動きを実現するには、必要なパーツを選び、順番や組み合わせを考えて最も効率よく最短で実現できるのかを論理的に考えることです。
プログラミング的思考は、プログラミングだけでなく他の教科での理解を深めたり、これからの時代を生きていく中で必要な考え方です。
ここからは、よくプログラミングと似ていると言われる「カレー作り」に例えて解説します。
分解する力
カレーを作ると決めたら、必要な野菜や肉は牛肉なのか鶏肉なのかなど具材を洗い出す必要があります。
また、野菜を切ることや炒める順番などの手順があります。
「カレーを作る」という目的を達成するために、必要な材料や手順を細かく分解する力が身につきます。
プログラミング学習では、スタートからゴールまでの一連の流れを一つ一つ分けて考えて作る必要があり、意図した動きと変わった場合にその部分のプログラムを見つけることで学習します。
組み合わせる力
美味しく作るためには、分解した材料と手順を順序よく並べて組み合わせる必要があります。
プログラミング学習では、プログラムのブロックを組み合わせて動かすことで分解された動作を正しく組み合わせることで学習します。
シミュレーションする力
自分で考えた手順が正しいのか頭の中でイメージしてみることがシミュレーションです。
手順が間違っていれば手順を考え直し、問題なければ調理を始めます。
実行する前にシミュレーションすることで、間違った場合は要因に気付きやすくなり、正しければ次に作る時は分解や組み合わせを考えることなく実行に移せるようになります。
プログラミング学習では、実行結果から正しい点や間違った点を分析することを繰り返して学習します。
抽象化する力
抽象化とは、共通する要素を抜き出し、物事の本質を捉える思考法です。
「ジャガイモと人参を切る大きさや乱切りって同じだよね!」
「使ってる野菜ってシチューと似てるからこの作り方でシチューも作れる?」
など、抽象化の思考法が身に付くと理解力や発想力、応用力が高まると期待できます。
プログラミング学習では、同じ動作を繰り返すプログラムを見つけたら、一つのプログラムにまとめるように学習します。
一般化する力
一般化とは、課題を達成するための手順を整理し、誰でもできるようにすることです。
美味しいカレーを作る手順を誰かに教えたり、レシピにまとめたりすることです。
プログラミング学習では、考え方を教えあったり、何故そうなるのかを説明してもらうことで学習します。
以上のように、小学校でのプログラミング教育では、
- 便利な仕組みはコンピュータをプログラミングすることによってできていると知ること
- プログラミングで実現できる便利な仕組みを考えること
- プログラミングの考え方を身につけること
を目的としています。
小学校のプログラミング教育とは基本的に考え方を学ぶものです。
「コーディングなどのプログラミングスキルを身につけるものではない」ということを理解しましょう。
家庭でのプログラミング学習で注意すること
プログラミングスキルを身につけるものではないのなら、何をどう教えれば良いのでしょうか。
ここでは、ご家庭でプログラミング学習する際に注意すべきことを解説します。
- トライ&エラーを繰り返すことに意味があります
- 答えではなく、考え方を教えます
- 分からないままで終わらない
現代の子どもたちは間違うことを嫌います。
間違えることで考えを修正し、正しい答えに辿り着くことで問題解決力が身につきます。
なので、まずは「間違ってもいいんだよ!」と教えてあげてください。
ただし、答えが分からないまま終わってしまうと、つまらなく感じたり、嫌いになってしまったりします。
そんな時は、答えに辿り着くように考え方や間違いの見つけ方などを教えて、正しい答えへ導いてあげてください。
また、子どもに任せて一人で学習させてはいけません。
遊んでしまうのは至極当然のことです。
まとめ
- プログラミング教育は情報社会に対応するために始まった
- プログラミング教育はコンピュータの役割や子どもに必要な考え方を学ぶもの
- 家庭でのプログラミング学習は、保護者のサポートが必要
今回は、小学生のプログラミング教育についてまとめてみました。
実際に教えていた経験から「プログラミングスキルも一緒に教えた方が、考え方の理解も深まるのに…」と感じていました。
そのことを踏まえて、「プログラミング学習おすすめ教材」や「プログラミング学習の教え方」などは、他の記事で詳しくお伝えいたします。
そちらも含めてご覧いただき、ご参考にしていただければ幸いです。
[文科省/小学校プログラミング教育の概要1」https://www.mext.go.jp/component/a_menu/education/micro_detail/__icsFiles/afieldfile/2019/05/21/1417094_003.pdf
[文科省/小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ)」https://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/053/siryo/__icsFiles/afieldfile/2016/07/08/1373901_12.pdf
コメント