よく読まれる記事

小学校で必修化される”プログラミング教育”について解説【特別なことなし】

2020年度から必修化される「プログラミング教育」って何?
具体的に何を子どもたちに学ばせるの?

「プログラミング教育」が必修化されるけど、
何をどう子どもたちに教えるのだろう?

今回のテーマは「プログラミング教育」についてです。

このブログを見れば、あらゆるプログラミング教育の全貌が分かります。

どこよりも分かりやすく解説をしていきます。

この記事で得られること
  • 小学校でプログラミング教育が必修化された理由が分かる
  • プログラミング教育って一体何をするのかが分かる
  • プログラミング的思考とはどういう考え方なのかが分かる
  • 具体的に学校でどんな教育がなされるのかが分かる

それでは行ってみましょう・w・

なぜプログラミングが重要?

コードが書かれたパソコンの絵

文部科学省「小学校プログラミング教育の手引(第二版)」より引用。

長いので要約します。

なぜ小学校にプログラミング教育を導入するの?
  • 現在、コンピューターは必要不可欠な時代
  • これからはコンピューターで問題を解決していくことが当たり前
  • それなら、コンピューターの仕組みを知らないとダメ
  • コンピューターの仕組み = プログラミング

 

コンピューターの仕組みを理解して、
問題の解決方法を学んでいく
、ってことやね。

 

プログラミング教育って一体何をするの?

まず大前提の話をすると、コードは書きません。

コードって言うのは、プログラミングで思い浮かべる

プログラミングのコードがたくさん書かれた絵

こういうのです、これは小学校でやりません・w・

 

コードは書かない

理由は単純で、教えられる先生がいません。

小学校で行っていくプログラミング教育は、

コンピューターを使って問題解決をすることではない

というところをあらかじめ理解しておくことが重要です。

 

伸ばしたい3つの力

文部科学省「小学校段階におけるプログラミング教育の在り方について」より引用。

プログラミング教育を行う上で、伸ばしたい3つの力があるそうです。

伸ばしたい3つの力
  • 知識・技能
  • 思考力・判断力・表現力等
  • 学びに向かう力・人間性等

それぞれ深掘りしていきましょう。

 

知識・技能

  • 自分の身の回りには、コンピューターが使われていることを知る
  • 問題解決には必要な手順があることを知る

まず、あらゆる電化製品や環境に、

コンピューターが使われていることを教えていきます。

 

例えば、自動車。

自動車は「ハンドルを左に切る」ことで、

「前輪(後輪)が左に傾く」とプログラムされています。

 

普段何気なく見てきたものにも、

こうしたコンピューターが使われていることを知ることがスタート地点です。

身近なものへの気付きを与える、という意味で重要ですね。

 

思考力・判断力・表現力等

  • プログラミング的思考を養う

プログラミング的思考については後ほど後述します。

「論理的思考と同義」だとも述べられています。

 

学びに向かう力・人間性等

  • 身近な問題の発見・解決に、コンピュータの働きを生かそうとする態度を育む
  • コンピュータ等を上手に活用し、より良い社会を築いていこうとする態度を育む

せっかくのプログラミング能力を、

悪いことに使わないようにしよう、ということですね。

 

プログラミング的思考って何?

パソコンの上にメガネが置かれている絵

前述したプログラミング的思考について解説します。

文部科学省によると、以下のように定義されています。

自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力

文部科学省「小学校段階におけるプログラミング教育の在り方について」より引用

端的に内容を要約します。

  • 目的の達成のために、物事を順序立てて考える力

これこそが「プログラミング的思考」です。

少し具体例を混ぜて解説します。

 

プログラミング的思考の具体例① 〜社会人編〜

プロジェクトメンバーの会議をもっと生産的にしたい。。。

という目的があったとします。

目的達成のために、個人の役割を明確にすることを決めました。

役割を以下のように決めます。(この処理を”分解“と言います。)

  • 会議の進行役
  • タイムキーパー
  • 書記

これをプロジェクトのメンバーに割り当てた上で会議を実行します。

この発想も「プログラミング的思考」です。

 

プログラミング的思考の具体例① 〜ママ編〜

家族全員に温かいご飯を食べさせてあげよう。

という目的があったとします。

冷蔵庫の中身の情報から、献立の内容が決まりました。

  • ご飯
  • 味噌汁
  • 肉じゃが
  • ほうれん草のおひたし

温かいご飯を食べさせることが目的なので、

パパと子ども達が帰るタイミングを逆算して考えます。

次のように作る順序を決めました。(この処理を”組合せ“と言います。)

  1. 肉じゃが
  2. ほうれん草のおひたし
  3. ご飯
  4. 味噌汁

このように目的のためにどの順番で料理を作るか、

を考えることも正しく「プログラミング的思考」です。

 

特別なことは何もない

僕たち大人が普段から意識していることです。

繰り返しになりますが、プログラミング的思考とは

「物事を順序立てて考える力」のことです。

「何を、どの順番で実行するかを考える力」とも言えます。

 

コンピューターは物事の順序さえ指示されれば、

それ通りに勝手に動いてくれます。

コンピューターへの指示を考えることがプログラミング的思考なんですね。

 

【余談】僕たち人間に求められること

プログラミング教育が実行されていくことで、

僕たちに人間に求められているのは、以下の2つです。

  • 何の目的を達成するべきか
  • どうコンピューターに指示を出すか

すなわち、「ゴール設定」「論理的思考力」です。

個人的に、0歳〜10歳くらいまでの子どもには

まず「ゴール設定」について習慣付けたいところですね。

 

学校で具体的にどう授業するの?

キーボードをタイプしている人の絵

プログラミング教育についての全貌は理解できましたでしょうか。

ここでは、学校の授業がどう行われるかを見ていきましょう。

 

算数(正多角形を作図するプログラミング)

学生にまず下記の課題を与えます。

正三角形を書くように、コンピューターに指示を出してください。

一見難しいですが、以下のようなプログラムを組みます。

正三角形を正しくかくためのプログラム例
(画像は文部科学省より引用させていただきました。)

数字部分を入れ替えれば、正多角形がいくつも書けそうですね。

「120度曲がる」の部分を「180 – {180 × (n回-2) ÷ n回}」という

数式にすれば、n回の部分だけ変えれば済むので無限にかけそうですね・w・

 

実際にコンピューター画面が指示通りに行動するので、

子ども達も面白いと感じてくれるのではないか、と思います。

 

理科(通電を制御するプログラミング)

同じように学生に課題を与えます。

電気を無駄なく効率的に使えるように、人感センサーを用いて指示を出してください。

こちらも一見難しいですね。

以下のようにプログラムを組んでいくと上手くいきます。

(画像は文部科学省より引用させていただきました。)

自動ドアや人が入ると便座が上がるトイレなどで

こういったプログラムが施されています。

身近なものにプログラミングが使われているのだな、と感じることで

子ども達に興味と関心を引き出しやすくなっているところも良いですね。

 

プログラミングに興味を持たせる

子どもはなんだかんだでゲームが大好きです。

今ではスマホゲームでプログラミング的思考を養えるものがあります。

下記にまとめてあるので、ぜひ参考にしてみてください・w・

 

 

「プログラミング」が時間割に入るわけではない

前述した算数・理科だけでなく、図工や音楽などにも応用されるそうです。

「プログラミング」という授業ができるわけではなく、

主要な科目に「プログラミング的思考を取り入れる」ということを

僕たちも念頭に置いておく必要がありそうですね。

 

まとめます。

 

本日はここまでです。

プログラミングの授業についての知識を得られた上で、

学校から帰ってきたお子さんと一緒に話をしてみると、

より一層どんな授業を学校がしているのかが分かるかと思います。

皆さんのお役に立てれれば幸いです。