プログラミング教育を知るためには「プログラミング的思考」を知れ
前回は、プログラミング教育=プログラミングではないこと、またプログラミング教育は「プログラミング的思考」を身につけるためのものであることに触れた。今回は「プログラミング的思考」について考えてみたい。
「プログラミング的思考」とは
自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力
ー文科省『小学校プログラミング教育の手引(第三版) 』
堅苦しいので、同文書からもう少し簡単な部分を引用すると、
情報技術を効果的に活用し ながら、論理的・創造的に思考し課題を発見・解決していくために、「プログラミング的思考」が必要
とある。
これは抽象的すぎるので、またまた別の箇所を引用すると、
①コンピュータにどのような動きをさせたいのかという自らの意図を明確にして
②コンピュータにどのような動きをどのような順序でさせればよいのかを考え
③コンピュータが理解できる命令(記号)に置き換え、自分が考える動作を実現できるかを考え
④これらの命令(記号)をどのように組み合わせれば自分が考える動作を実現できるかを考え
⑤その命令(記号)の組合せをどのように改善すれば自分が考える動作により近づいていくのかということも試行錯誤しながら考えていく
こととある。
わたしたちの日常生活に置きかえてみよう。
シチュエーション:あなたはABA携帯ショップの店長で、店員に新たなキャンペーンを周知させ、お客様に利用してもらう必要がある。
①意図:店員が来店した客にキャンペーンを正しく案内し、適切に対応する
↓
②順序:客が来店したことを知る→客にキャンペーンをやっていることを伝える→キャンペーンの内容を案内する→(興味がありそうなら)キャンペーン適用の手段をとる
↓
③記号化:役割ごとの対応マニュアル(ブース誘導係、キャンペーン説明係、技術対応係)
↓
④組合せ:客がブースに来たら説明マニュアルを実施し、客に興味がありそうだったら技術対応マニュアルへ移行する
↓
⑤分析:キャンペーン開始後、店員が適切に対応できていなかった事例を把握し、それぞれについて原因を探り、改善する
<②順序>のところで、行動の配置を間違え、お客様が来店していないのにキャンペーンを読み上げたり、対応が終わったお客様にキャンペーンの説明をいちから始めたら変なことになる。
<④組合せ>がきちんと条件づけられていないと、キャンペーンの概要説明を始めて、お客様が「大丈夫です、必要ありません」と言ったにもかかわらず説明を最後まで続けてしまうかもしれない。
実際にはあなたが指示を与える店員は人間だから(今のところは)、「こんなの当たり前だよ」「わざわざ決めなくても常識でわかる」といったことが多いかもしれない。マニュアルも、多くの場合、日本語で対応できる。
しかし「プログラミング的思考」学習では、店長であるあなたが「学習者」、指示を受ける店員が「コンピュータ」となる。
コンピュータはある意味では非常に有能だが、人間と同じように「当たり前」が通用するわけではない。
「客の来店の有無」にしても「誘導」にしても、一つ一つの動作に細かな指示が必要となったり、マニュアルを日本語で書いてもそれを理解してその通りに行動してくれない。
「プログラミング的思考」はこれからの時代を生きる子どもたちに必須のスキル
わたしたちの生活を見渡すと、家電、移動手段、仕事の道具まですでにコンピュータが関わるものばかりだが、これからますますあらゆるものがコンピュータによって動かされるようになる。
(AI技術がどのように進歩していくかという問題はさておき)
そのコンピュータを、わたしたちが意図するように動かすプログラムを組むのは人間。
そのためには、
意図 → 順序 → 記号化 → 組合せ → 分析
といった作業に、あらゆる可能性を考慮して細かいところに気を配りながら、根気強く取り組める能力が必要になってくるのだ。
指示を出す相手が人間であればともかく、基本的にコンピュータ、という時代になると、そのような能力は従来の「国語」「算数」「生活科」といった教科の枠組みの中では、特別に意図しないかぎり身につけることは難しそうだ。
「プログラミング的思考」は、プログラミングに携わる職業を 目指す子供たちだけではなく、どのような進路を選択しどのような職業に就くとして も、これからの時代において共通に求められる力であると言える。
ー文科省『小学校プログラミング教育の手引(第三版) 』
もっと詳しく、そして具体的に知りたい方はこちらがおすすめ ↓
ベネッセ 教育情報サイト『図で解説「プログラミング的思考」とは』
参照資料:
文科省『小学校プログラミング教育の手引(第三版) 』
この記事が気に入ったらサポートをしてみませんか?