小学校のプログラミング教育って何するの?
そんな疑問にお答えします!
2020年度から学校におけるICT教育が始まり、プログラミングもその一つです。
いったい何をしているのか気になりますよね。
本記事ではこちらを解説!
- そもそもプログラムとは?
- なぜ、今プログラミングを学ぶのか?
- 小学校におけるプログラミング教育のねらい
- プログラミング思考をどう学ぶか?
私は大学でプログラミングを学び、研究テーマのシミュレーションプログラムを作っていました。
また、エンジニアとしてWebシステムのプログラムを作成していた経験もあります。
スキルとしてもってると便利なプログラミングスキル。
いまの子どもたちに教育としてどう授けられていくのか、深掘りしていきます。
文科省におけるプログラミング教育の定義
文部科学省は「教育の情報化に関する手引」において、以下のように、プログラミング教育を定めています。
プログラミング教育とは
文部科学省「教育の情報化に関する手引」
「子供たちに、コンピュータに意図した処理を行うように指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育成するもの」
ここから読み解くに「プログラミング的思考」を育成することが、プログラミング教育の目的といえます。
そもそも「プログラム」とは?
そもそも「プログラム」とは何なのでしょう?
用語から整理していきましょう。
プログラム関連用語の整理
「プログラム」とは、コンピュータにしてもらいたいことを、コンピュータが理解できる言葉を用いて指示する「指示書」のことです。
その「指示書」を作る行為を「プログラミング」と呼んでいます。
「プログラム」は、最終的にコンピュータが理解できる電気信号におきかわりますが、人間は「プログラミング言語」を使うことで、電気信号を意識することなく指示をだせます。
異国の方と会話するのに言語を選択して話すように、「プログラミング言語」もコンピュータの環境や、やりたいことによって、状況におうじた適当な言語を選択します。
スマホの場合、AndroidとiPhoneで異なる言語で開発しなければならないので、両方のスマートフォンで同じアプリでも「プログラムをかく」部分は2倍の労力がかかることになります。
プログラムに関する「そもそも論」をきちんと身に付けたい方に、こちらの本がおすすめです!
現実社会に置き換えて考えると?
現実社会におきかえて考えてみましょう。
ご家庭に「漢字の読める小学生」と「ひらがなも読めない幼児」がいたとします。
例えば、2人に冷蔵庫から牛乳をとってきてもらうことを考えてみて、伝え方の違いについて考えてみます。
こうした伝え方の違いが、プログラミングの世界では、プログラミング言語の違いになります。
以上がプログラムの概要です。
なぜ、今、プログラミングを学ぶのか?
なぜ、いま、子供たちはプログラミングを学ぶことになったのでしょう?
その答えはこちらです。
社会の変革に対応していくため
1つは社会の変革に対応していくためです。
現代は、私の子ども時代に比べ、あらゆるところでプログラムが動作しています。
- スマートフォン
- スマートスピーカー
- お掃除ロボット
- AI
これからは、すべての家電により高度なプログラムが組みこまれ、生活とプログラムが切っても切れない「高度情報化社会」がやってきます。
こうした社会への変革をになう
- 仕組みがわかる!
- 作れる!
人材を育てるために、プログラミング教育をしようということになったのです。
やりたいことを実現するためのスキル
もう一つには、やりたいことを実現するためのスキルとして身に着けようということです。
プログラミングは、ゲームやロボット制作だけではなく、作曲をしたり、絵を描いたり、表現の手段としても使える時代になっています。
これは、我が家のこどもたちがやっているワンダーボックス のプログラミングアプリで作曲をしたところです。
こんなふうに、自分を表現するツールとしてプログラミングを使いこなせると楽しいですよね!
一流のミュージシャンも「音楽をやりたいならパソコンを買うといい」と言う時代。
読み書きそろばんに加えての、スキルとしてのプログラミングを身に着ければ、より自分のために楽しい世界を広げることができます。
小学校におけるプログラミング教育のねらい
小学校での「プログラミング教育のねらい」はこちらです。
ここからもわかるように、決して「プログラミング言語を習得すること」が目的ではありません。
ここで書かれている1点目の「プログラミング的思考」とは何なのでしょうか?
「プログラミング的思考」とは「段取り」力のこと!
プログラミング的思考 4つの要素
文部科学省「小学校プログラミング教育の手引(第三版)」には以下のように定義されています。
プログラミング的思考とは、自分が意図する一連の活動を実現するために、どのような動きの組み合わせが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組み合わせをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
文部科学省「小学校プログラミング教育の手引(第三版)」
言い換えると、
- 【想像】じぶんのやりたいことの明確化
- 【分解】準備すべきもの、行動を洗い出す
- 【組み合わせ】ものや行動を組みあわせる順序を考える
- 【分析・評価】改善点がないかみなおす
ですね。
よりシンプルに言うと「段取りをたて、より洗練された方法を目指す」ということになります。
日常生活にあるプログラミング的思考
こうした思考、じつは日常的によくやっています。
例えば、「調理」!
例として「焼きそばを作る」を考えてみましょう。
- 【想像】じぶんのやりたいことの明確化
→やきそばをつくるぞ! - 【分解】準備すべきもの、行動を洗い出す
→器具:コンロ、フライパン、はし 材料:野菜、肉、油 …… - 【組み合わせ】ものや行動を組みあわせる順序を考える
→野菜を切って、肉をきって、フライパンをコンロにおいて、……
- 【分析・評価】改善点がないかみなおす
→切ってある野菜を買ってくる など
ざっくり野菜とまとめましたが、人参とキャベツと……ともっと細かく考えるでしょう。
このように「段取りをたてていくことを考える」のが【プログラミング的思考】です。
小学校では【プログラミング的思考】をどう学ぶ?
小学校では「プログラミング的思考」を育むことを、教科横断的に行います。
それに加え、学習指導要領では、何時間かは実際に「プログラミング」を体験させることも求めています。
これはプログラミング言語を覚えたり、技能を習得したりすることが目的ではありません。
楽しさ、面白さ、達成感を味わわせ、コンピュータをもっと活用したいという「意欲」を引き出すことを目標にしています。
今は子どもでもプログラミングを体験させやすい「ビジュアル言語」が出ています。(よい時代になったものです)
MITメディアラボが開発したプログラミング言語学習環境Scratchが無料で使えて、体験しやすいですね。
Scratchはプログラミング言語とオンラインのコミュニティです。対話的な物語やゲームやアニメを作成でき、世界中の人とあなたの作品を共有できる場所です。子供たちは、Scratchプロジェクトをデザインし、プログラミングする過程で、創造的に考え、体系的に議論し、皆と共同で取り組むことを学びます。ScratchはScratch財団がMITメディアラボのライフロング・キンダーガーテン・グループの協力により開発しているプロジェクトです。 https://scratch.mit.edu で無料で利用することができます。
ここまで「プログラミング的思考」についてお話してきました。
言葉は難しいですが、「段取りをたて、より洗練された方法を目指す」なら日常的にもできそうな気がしませんか?
たとえば子どもにお手伝いのタスクを与えて、
- どうすれば短い時間でできるか?
- スムーズに調理を終えるには?
- 誰かと協力してやるには?
を考えてもらうということも、十分プログラミング的思考を育むことにつながります。
身近にある情報技術への気づきと技術を活用する態度を育む
残りのねらいである、
「社会がコンピュータ技術によって支えられていることを気づかせる」
「情報技術を上手に活用して、身近な問題を解決したり、よりよい社会を築いたりしようとする態度を育むこと」
という項目についても考えてみましょう。
オンライン授業こそ課題解決の経験
2020年4~5月、新型コロナウイルスによる緊急事態宣言で休校中の対応として、オンライン授業になった学校もありましたね。
パソコンやタブレットを使い、「ZOOM」や「Google Classroom」を使うというのも、「社会がコンピュータ技術に支えられている」や「情報技術の活用」というよい例になっていると思います。
実際「密集状態を避けて授業を行うには?」という課題に対する、ひとつの解決策となっていますよね。
ただ使うだけでなくて、どういった技術が使われているか親子で調べてみたりすると、さらに気づきにつながると思います。
ICTを使うことで生まれる新たな課題を考える
一方で、コンピュータに不得意なものは何かを考えるきっかけにもなると思います。
私もオンライン会議・飲み会などを実際にやってみて思ったのですが、5人以上になると話す順番がぐちゃぐちゃになったりしました。
また、一緒の場にいると、誰かが話し出す雰囲気や、理解度をつかめますがそれが分からない。
こうした現在の技術ではできない部分に対して、こうしたらみんなに喜ばれるかもという解決方法を考える機会をもつのも大事ですね。
そうしたことが、よりよい社会を築くための情報技術を活用していく態度を育むことにもつながると思います。
とここまで述べてきましたが、身近な家電でさえ、私もどんな仕組みで動いているのか知らないことが多いです(汗)
まずは自分からやってみませんと……ですね。
ですのでこの機会に、子供と一緒に勉強したいと思っています。
もののしくみをしれる図鑑が1冊あると、興味もひろがりやすいです!
まとめ 小学校におけるプログラミング教育はこうだった!
以上、小学校で実施されるプログラミング教育についてお話してきました。
日常的に、動作をこまかくして順序を考えてみたり、スマホやタブレットを使って物事を検索してみたり、機械の仕組みを考えてみたりすることも、プログラミング教育につながっています。
他にも、誕生日会などのイベント計画を立てるとか、調理の手順を考えるというのも「プログラミング的思考」を伸ばすことができます。
パソコンで実際にプログラミングをさせてみたらハマったというお子さんには、ドンドン薦めていきましょう。作れるようになると面白いのですよね。
私は、ひとまずは、子供たちに『段取り』を考えてもらう工夫をしていきたいと思っています!
以上、小学校におけるプログラミング教育についての解説でした。