見出し画像

プログラミング的思考ってなに???【プログラミング教育について③】

2020年度から、すべての小学校でプログラミング教育が必修化される。
その内容と、私の意見をまとめていきます。

【私の基本スタンス】
プログラミング教育は絶対やったほうがいい。
しかも実際にコードを書いて、なにかを動かす程度までやったほうがいい。
また、本気でプログラミングをやるなら数学もいままで通りしっかりやったほうがいい。ITによって何ができるのかを知る必要があるから。
プログラミングを知っていれば選択肢と視野がものすごく広がる。
視野や選択肢を広げてあげることが学校の重要な役割。


【なぜプログラミング??】
「プログラミング教育必修化」を聞いて、予備知識やフィルター無しで考えたとき、自分は以下の目的があるんじゃないかと考えた。

現在の私の考え
①第2のSteve jobsを日本で生み出したい「ヒーロー育成計画」
②プログラミングで「何ができるのか?」を一般教養にしたい
③「プログラミング的思考」を身につけさせたい

今回は③「プログラミング的思考」について書いていく。

【プログラミング的思考の定義】
プログラミング的思考という言葉があるんですが、これは一体なんでしょうか?
とりあえず、以下のリンク「小学校段階におけるプログラミング教育の在り方について(議論のとりまとめ)」より引用する。こちらの資料はかなり見やすいです。
http://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/074/siryo/__icsFiles/afieldfile/2016/07/07/1373891_5_1_1.pdf

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

1行目に、「自分が意図する一連の活動を実現するために」とある。これは、素晴らしい文章だと思う。この一文だけで「ただ単にコードを書くわけじゃない。それ以上に自分が意図することを実現させたいんだ。」ということ。

目的意識があってはじめて成り立つ思考だってことですね。その目的に向かって、「論理的に考えろ」ということ。
論理的に考えるっていうのは、ここでは「分類」、「順番」、「改善」を行うことだそうです。そう私には読み取れますね。まったくその通りだと思います。


【プログラミング的思考はプログラミング教育以外でも十分鍛えられるという議論】

さて、プログラミング的思考の中身が「目的意識」、「分類」、「順番」、「改善」だとすると、これらのスキルは別にプログラミングでなくても鍛えることができるわけです。まずは、「プログラミングやんなくてもいいじゃんか!!!」という視点で考えてみます。

特に、「目的意識」というのはモチベーションだったり、「僕〇〇をやりたい!」という感情だったりするので、子どもからの自然発生に近いです。

「論理的に考える」ことは数学の最も得意とすることですね。もっというと数学では「分類」、「順番」、「改善」はもちろん、「演繹」、「帰納」、「アブダクション(仮説形成)」というもう少し難しい論理もあつかいますね。
※アブダクション(仮説形成)
結果から、条件を推論すること。例えば、「今日は晴なのに芝生が濡れている。昨晩、雨が降ったに違いない」という推論のことです。



それから「国語」でも論理は必要です。
順番や因果関係を考えずして文章はよみとれません。つまり読解力で補えるわけです。

さて、反論を完成させましょう。

反論
プログラミング的思考は、数学で養える「論理的思考」や国語で養える「読解力」で身に着けられる。よって、いまさらプログラミング的思考のためにプログラミング教育をやる必要はない。

こういう理屈に加えて、「小学校段階で実際にプログラミングを教えるわけではない」とまで言ってます。しかもそのことをメッチャ強調してくるわけです。「コードを書かせるわけじゃないよ!先生方安心してプログラミング教育やろうね!大丈夫だよ!」って感じです。
ということで、「プログラミング教育いらねー論」の完成です。

一応、私はプログラミング教育めっちゃ賛成派です。しかし、こういう導入の段階では反論なんて絶対くる。
ましてや、今の日本教育って世論の関心度が高いので文句や改革の嵐ですよね。ブラック、暴行、監獄、軍隊、セクハラ、パワハラ、いろいろ言われていますよ。議論が活発なのはいいことだと思います。

とりあえず、反論を真面目に考えることで、自分の中の「プログラミング教育」についての自分の意見を持てるわけですね。


【(私見)プログラミング教育は必要だよ!しかもコード書いたほうがいいよ!】

反論を完成させてしまったんですが、私個人の意見は逆で、プログラミングは教育現場に導入すべきです。もっというと、「プログラミング的思考」という言い方で誤魔化すんじゃなくて、プログラミングをやったほうがいいです。

先述の「プログラミング的思考の定義」の冒頭でもありましたけど、「自分の意図する一連の活動を実現」というのが重要です。プログラミングができることで「自分の意図」が大きく変わると思います。
プログラミングでなにができるかを知っていることで、「自分の意図」つまり、「僕〇〇やりたい!!」が変わるはずです。絶対に。

世の中のあらゆるものの支えにプログラミングがあることを知れば、世界の見え方も自分のやりたいことも変わる。これは、サイエンスの根本的な発想だと思います。おおざっぱな言い方だけども、サイエンスって根本をちゃんと知ろうとするものですよね。


【プログラミング的思考という言葉について危惧すること】

今、プログラミング教育を頑張ろうといろんなものが出てきています。
例えば、LEGOのマインドストーム。これは、PCとかipadでプログラムを創って、LEGOのロボットが動きますよ~ってやつです。ループとかifとかちゃんとプログラミングが勉強できてすごいんです。小学校だったらもってこいの教材だし、中高でやっても普通にいい授業になりそうです。

だけど、ロボット動かして「これがプログラミングだ」って言って終わりになってしまわないかが危惧していることです。

LEGOのロボットを一生懸命やって、プログラミングマスターになったらその先を見せてあげないといけない。
Webのページを創ったり、アプリを開発したりして、それが実際にお金に結び付いたり、人の役に立ったりするってところまで見せたい。

プログラミング教育をやる教員は、やっぱり「プログラミングが出来るとどんな仕事につながるか」をある程度わかってたほうがいい気がします。
教員が分かってないと表面的な活動になってしまう。じゃあどうすんのよって話ですね。

多くの教員には、もはや勉強する時間が残っていません。

プログラミング教育をやるうえで、本当に障壁になるのは別の次元の話だと思います。つまり、教育現場の全体的な改革が必須だということです。
表面的な施策にしたくないなら大真面目に働き方改革が必須です。


さて、そろそろ「じゃあどうすんのよ?」っていう解決策を考えなくてはいけません。それは今後の記事で。

この記事が気に入ったらサポートをしてみませんか?