本を食べる。

若手教員の読書ブログ 兼 教材研究とか

文系教員がプログラミング教育について自販機とカレーで説明する。

プログラミング教育スタート!

2020年、小学校でもプログラミング教育がスタートします。

各学校でも対応に追われ(あるいは手も付けられず・・・)忙しいのではないでしょうか。

 

お子さんのいるご家庭では

外国語に引き続き、プログラミングかよ

 

と困惑される方も多いでしょう。

 

プログラミング教育とは何か。

 

学校で何が始まろうとしているのか。

 

「自販機」と「カレー」で解説します。 

子どもにプログラミングを学ばせるべき6つの理由 「21世紀型スキル」で社会を生き抜く (できるビジネス)

子どもにプログラミングを学ばせるべき6つの理由 「21世紀型スキル」で社会を生き抜く (できるビジネス)

 

 

なぜ学ぶのか・何を学ぶのか

近い将来、人間の仕事は3種類に分けられると言われています。

  1. 「機械の指示を受けて働く人」
  2. 「機械と競争する人」
  3. 「機械に指示を出す人」

の3種類です。

 

これは決して優劣があるわけではありません。

例えば、「機械が判断した悪性腫瘍を医者が取り除く」も1になります。

プログラミング教育は、3の「指示を出す人」にもなれるように、土台を作ることが一つの目的になります。

 

一方で

小学校のプログラミング教育はプログラミング言語を習得するためのものではありません

 

プログラミングを通して学ぶ

 

それがプログラミング教育です。

 

何を学ぶのかというと

プログラミング的思考です。

 

What プログラミング的思考!?

プログラミングには基本になる3つの処理があります。これを自販機で缶ジュースを買う場面を想定して説明します。

 

①「順次」

 お金を入れる

 ↓

 ボタンを押す

 ↓

 商品を取り出す

②「反復」

 お金を入れるーー

 ↓        |  

 ボタンを押す  |これを5回繰り返す  

 ↓                          |

 商品を取り出す ー   

③「分岐」

 お金を入れる

 ↓150円なら  ↓120円なら    

 「ペットボトル」「缶ジュース」

 

 プログラミング的思考とは、こうした処理を頭の中で組み立てられる思考力のことを言います。

 さらに言えば

 どのように組み合わせれば最適か

 

をトライ&エラーで考える力を身に着けることがプログラミング教育です。

 

最適って?

カレーを作る場面で考えてみましょう。

プログラミングをするとき

「材料を切って煮込んでルーを入れる」

では動きません。

 

パソコンが理解できる単位で(記号で)命令する必要があります。

 

例えば「材料を切って」は

人参を切る

玉ねぎを切る

ジャガイモを切る

というふうに、動作を細分化していかなくてはなりません。

プログラミング教育の一つの意義として、

課題を達成するために必要な手順を適切に把握する力を身に着けることが挙げられます。

 

さらには、切り方も指定するとなると

 

人参を乱切り

玉ねぎをみじん切り

ジャガイモを乱切り

 

となるかもしれません。

このとき、乱切りという命令は重複しているので

 

人参ジャガイモを乱切り

玉ねぎをみじん切り

 

とすればすっきりしますね。

課題解決のための手順をできるだけ簡潔にすること

これが最適化です。

 

どうやって教えるの?

ここまで自販機やカレーで説明してきましたが、

プログラミング教育だから全てパソコン上で行うわけではありません。

学校の実践例として

  • ナップサックの作り方を考える
  • 修学旅行の日程を考える

などを考える際、「順次」、「反復」、「分岐」を用います。

こうしたパソコンを使わないプログラミング教育(アンプラグド)も行われています。

そのため、プログラミング教育は

全学年の全教科で利用すること

が推奨されています。

 

一年生から、こうした論理的な思考の訓練をするわけです。

 

とはいえ、パソコンを使わなくてもいい、というわけではなく、積極的な利用が呼びかけられています。

scratch.mit.edu

「スクラッチ」や「プログラミン」のようなビジュアルプログラミング言語も普及してきました。

各学校では、こうした無料のプログラミングツールや、プログラミング的思考を生かした授業づくりが今後行われていきます。

 

未来を生きる子供たち

 これまでの教科学習とちがい、プログラミング教育の良さは

「間違っても大丈夫」

な点にあります。

 

宿題をしている子どもを想像してみても、間違った所を指摘すると泣きながら消しゴムで消す子もいると思います。

 

しかし、プログラミングは「間違うことを前提」としています。

 

やってみる

どこが違うか見つける

修正する

 

この繰り返し(トライ&エラー)の中で最適解を見つけることが大切だからです。

失敗を恐れずに挑戦する子を育てる

そうした意味でも、プログラミング教育は今後、重要になってくるでしょう。