コラム
COLUMN
COLUMN
コラム
 | 
2018.5.14
2018.5.14

「的思考」ってなんやねん。

2020年、小学校でプログラミング教育が必修化するらしい。
意識低い系であるぼくはなんにも知らなかった。
知らなかっただけじゃなく、知った後もしばらくはピンとこなかった。

この場所に集まる意識高い系の皆さんからすると、
「今さら?」「もうその話題よくない?」って感じもあるでしょうが
知らなかったものはしょうがない。

もう聞き飽きている話かもしれませんが、
どうかお付き合いいただければ幸いです。

たとえば、意識低い系の我々でも、

小学校でダンス必修化!

・・・って言われれば、
「えっ!?うちの子、学校で踊るの!?」って驚いたりもするけど、
プログラミングはよくわからない。

たぶんないですけど、もし万が一、
小学校でDJ必修化!

・・・とかなったら、
「そうなるとDJ KOOは公務員になれるなぁ。ていうかKOO務員かぁ。」
とかサブいシャレも出てくるけど、プログラミングはよくわからない。

他にも、もし万が一、
小学校で合コン必修化!

・・・とかなったら、
「意外と役に立つ科目かもなぁ。でもチャラいやつはいかんぞ!娘!」
とか警戒心も出てくるけど、プログラミングはよくわからない。

あるいは、もし万が一、
小学校で広島カープ必修化!

・・・となれば、
「うちの子、エルドレッドの打率とか覚えなきゃなんだー」とか、
「衣笠は何回かコンバートされてるからポジション問題は要注意」とか、
「やっぱ黒田の名著『クオリティ・ピッチング』が教科書なのかな?」とか、
いろいろ思うし、口も挟みたくもなるけど、
プログラミングはよくわからない。

※ちなみに黒田選手の名著『決めて断つ』は、人生の教科書といっても過言ではないと思っています。
黒田選手だけじゃありません。広島カープの歴史には、人生の教訓の全てが詰まっています。
必修化、考えてもいいんじゃないでしょうか(キリッ)。

・・・話を戻します。

「プログラミング必修化」って言われてもやっぱりよくわからない。
牧田の球筋くらい初見じゃわからない。

・・・ということで調べてみると、
下記のような内容の解説が出てきました。

————————————————————————————————–
小学校のプログラミング教育はプログラミングの習得を目的としていません。
————————————————————————————————–

んっ?教えるのはプログラミングじゃないのか?

————————————————————————————————–
小学校で学ぶのはプログラミングではなく、プログラミング的思考です。
————————————————————————————————–

的思考!?的思考って何!?

————————————————————————————————–
プログラミング的思考とは、物事には手順があり、その通りにすると
思い描いた結果が得られる論理的な力のことです。
————————————————————————————————–

論理的な・・・?それってプログラミングと関係あるの?
論理って国語の領域じゃないの?

もうやだ。さっぱりわからない。世界はぼくにやさしくない。

・・・ということで、社内にいて、ぼくにやさしくて、
筋金入りのプロフェッショナルである
テクニカルアーキテクト柴田さんに聞いてみました。

ぼく「柴田さんすいません。プログラミングとプログラミング的思考って何が違うんですか?」

柴田さん「どうしたんですかいきなり?」

ぼく「実は(内容省略)。・・・で、プログラミングとプログラミング的思考の違いがわかんなくて。電波少年的懸賞生活みたいな感じですか?でもあれは別に「的」なくても成立するじゃないですか。「的」がなくたってあれは立派に電波少年じゃないですか。」

柴田さん「電波少年はちょっとわかんないですけど(笑)。プログラミング的思考っていうのは、コンピューターに解決してほしいことをやってもらうために、一番いい解き方を考えることですかね。」

ぼく「???? ガクガクブルブル・・・」

柴田さん「あ、すいません。えーと、じゃあ、西畠さんにわかりやすいように
広島カープでたとえましょうか。」

ぼく「広島カープ!」

柴田さん「西畠さんが仮にエルドレッドと話がしたいと思って球場に行ったとしますよね。」

ぼく「エルドレッド!話したいです!」

柴田さん「そこにロボットの受付がいたとします。」

ぼく「ロボット!」

柴田さん「その時にロボットが取る対応はいくつかあります。

①1つは「今、スタジアムにいるよ」とざっくりの居場所を教える。
②1つはロボット自身がしらみつぶしに探してくる。
③1つは球場の放送で呼びつける。
④1つは携帯電話で直接連絡する。

・・・その中で一番話ができる可能性が高いのってどれですかね?」

ぼく「話すだけで言ったら、携帯で直電した方が話せそうですよね。」

柴田さん「そうですね。それがプログラミング的思考です。」

ぼく「ん?どういうことですか?」

柴田さん「図解するとこうです。」

柴田さん「課題はエルドレッドと話すこと。それを解決する方法はざっくり4つありました。」

ぼく「はい」

柴田さん「複数の解決策の中から④の「携帯に電話して」という命令を選び出す思考がプログラミング的思考です。」

ぼく「それだけのこと?」

柴田さん「そうですね。実際は命令する言語はコードになるんですけど。命令が間違ってしまって、②のようにロボットが球場全体を探し出したりすると不毛じゃないですか。」

ぼく「話せるチャンスがいつ来るか不安になりますね。」

柴田さん「いつかは解決できるかもしれないけど、②のやり方だとやっぱり具合が悪い。コンピューターに効率を求める場合、プロセスが適切でないと逆に時間かかって
しまったりします。大きな球場の中をあてもなくさまようような命令の仕方だと
やっぱマズイですよね。」

ぼく「なるほどー」

柴田さん「わかりましたか?」

ぼく「はい、なんとなく。小学校のプログラミング教育は、命令のやり方ではなく、
命令を選ぶための思考法を学ぶことなんですね。」

柴田さん「おー。急に頭良くなった感じしますねー。」

ぼく(キリッ)

柴田さん「まあとにかく、プログラミングって難しいイメージがあるので、
いきなりコードから始めるんじゃなく、考え方のところから学び始めるのは
ハードルを下げるという意味では有効なのかもしれませんね。」

ぼく「なるほど。」

柴田さん「ただ、「これはなんの勉強だろう?」「何の役に立つんだろう?」
というところはちゃんと教えてあげた方がいいですよね。
なんだかよくわからないことを学ぶのは苦痛ですから。」

ぼく「じゃあ、最後に。小学校のプログラミング教育はもっとこうした方がいい
みたいな意見ありますか?」

柴田さん「そうですねー。やっぱりプログラミングまで教えることを視野に考えた方がいいんじゃないですかね。一番おもしろいところって結局そこですから。
ロボット動かせる!とか、アプリがつくれた!とか。
そこがないとオチがない漫才みたいでつまんないじゃないですか。」

ぼく「確かにそれはつまらない・・・。」

柴田さん「プログラミングを実践する過程で思考法の必要性は実感できるので。
「ああ、これってこうやって使うんだ」って、膝ポンする体験が楽しさに
つながるんだと思いますよ。」

ぼく「なるほど。ありがとうございました。」

柴田さん「いえいえ。」

本日のまとめ。
●小学校のプログラミング教育はコードを教えない。
●プログラミング的思考は、コンピューターが課題を解決するために、
最適なプロセス(命令)を選択するための思考のこと。
●小学校のプログラミング教育は、コードを学ばないまでも、プログラミングすることを視野に
入れて教えた方がいいのかも。
●膝ポンって表現・・・カワイイよね!

長い長い第1回は終わりです。
ありがとうございました。

第2回はAIコピーライターをテーマにしたいと思います。
興味がある人は読みに来てください。

最後に、広島カープ、そして日本のプロ野球に多大なる貢献をされた
鉄人、衣笠祥雄さんのご冥福を心よりお祈りいたします。

西畠勇氣