見出し画像

コーディングはやらないのか【プログラミング教育について④】

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

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


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

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

プログラミング的思考について以下の記事で書いています。

今回は「プログラミングを学ぶわけではない。プログラミング的思考を学ぶんだ!」について、さらに深堀りして考えていきたい。


【「プログラミングを学ぶわけじゃない」の真意を考える】

”何事も引用とかエビデンスから示すとある程度の信憑性を確保できる”が自論なので、まずは引用から。

文科省発信の「小学校のプログラミング教育の手引(第二版)」からの引用文章です。この手引きはなかなか読みやすく助かっています。


(引用)~プログラミングに取り組むことを通じて、児童がおのずとプログラミング言語を覚えたり、プログラミングの技能を習得したりするといったことは考えられますが、それ自体をねらいとしているのではないということを、まずは押さえておいてください。~

「プログラミングそのものをやるわけじゃない。プログラミング的思考をやるんだ。」という話は上記引用から来ているものだと思われます。

プログラミングそのものをやるわけじゃない」というのは、プログラミング言語を利用してコードを書くことと言えます。つまり、C言語とか、Ruby,Pythonなどをちゃんと勉強することを意味すると思います。これらをコーディング(コードを書くこと)と言います。
でも、それをやるわけじゃないんですね。

「なぜプログラミングを強制しないのか」を真面目に3つ理由を考えてみました。

【(私見)コーディングを強制しない3つの理由】
① プログラミング嫌いをつくらないため
② プログラミング言語は進化しまくるため
③ 実施する教員側を安心させるため

この3つ、全部真剣に考えると超長くなります。私は「②プログラミング言語は進化しまくるため」が本質だと考えています。ただ、「③教員側を安心させるため」は最重要事項ではないですが、根が深い課題だと思っています。


【①プログラミング嫌いをつくらないため】

嫌いになったらもうプログラミングに触れることはないでしょう。モチベーションは学習者にとって1番重要です。

例えば、コーディングを授業で全員に対して扱うとどうなるか。簡単に予想できるのは、理系離れとか数学嫌いとかと同じ現象を起こすと思います。

今、プログラミングを私も学んでいますが、結構きついです。特に独学で本を片手に行うのは集中力がいる。さらにはプログラミングの入門書ってどれも分厚い。数学が分かるから、関数もifもループも基本概念は分かりますが、それでもまあまあきついです。

もちろんプログラミングはおもしろいけど、なぜ面白いかというと「数学で得た概念」と「コーディングに登場する概念」がリンクするからです。これが本当に面白い。
でも、これは私が数学に詳しいから面白さを感じているだけですね。

数学が分かっている人や数学が好きな人は、原理原則、アルゴリズム、統一感、論理性に対して「おぉ!⤴⤴」ってなります。だからプログラミングは楽しい。

しかし、一般の人はそんな論理性とかに「おぉ!⤴⤴」ってなりません。
そこに対して、「手順をひとつでも間違えるとエラーがおこる」プログラミングはかなりキツイです。しかもそれが些細なことすぎて、全体としてはどうでもいいことでエラーが起こる。これはキツイです。

細かい作業がはじめから終わりまで求められるコーディングは、モチベーションを削ぐのにもってこいの内容です。


また、プログラミングは満足いくアウトプットまでの道のりが長いことも原因です。「ゲームを創りたいからプログラミングをしよう!」という動機に対してコーディングからスタートすると、挫折する人が多いと思います。ゲームを一人で創れるようになるまでかなり大変です。

すぐ動いたり、すぐビジュアルにしてくれるわけではありません。これがコーディングが面白くないと思われる原因でしょう。


【プログラミングの良さを知ることからはじめる】

以下、引用です。こちらも前述の「小学校プログラミング教育の手引」から。

そして何より、教師が自らプログラミングを体験することが重要です。「プ
ログラミングは難しそうだ」という印象がもたれがちですが、今日、教育用
に開発されたビジュアル型プログラミング言語 などの発展・普及により、
児童も含めて多くの人々が容易に体験したり活用したりすることができるよ
うになっています。
教師が自ら実際に体験することによって、プログラミングはそれほど難し
いものではなく、むしろ面白いものだということが実感でき、さらに、授業
でこんな使い方ができそうだというアイディアも湧いてくるものと思われま
す。

ビジュアル型プログラミング言語っていうのはscrachとかマインクラフトのmakeCodeとか、LEGOマインドストームとかのやつです。
言語を直に書くのではなく、ブロックを組み合わせるやつです。

それで、上記引用から読み取れることは、簡単に言うと「やってみなきゃ分からない説」です。教員がまずはやってみる。そこから良し悪しを考え、授業で実践していく。私は経験主義なので、こういう「やってみなきゃ分からない説」は、私は大好きです。


ここでざっくりと意見を以下にまとめます。

「よし、やってみよう。」と行動を起こす教員はコーディングを始める。コーディングを一回でもいいからやってみて、プログラミングを体験する。プログラミングの可能性を実感する。体験が学習になって、授業に落とし込める。子どもの可能性を広げる授業になる。
このような流れでしか、良いプログラミング教育ってできない。これが私の意見です。


【教える側はコーディングやったほうがいい。じゃあ子どもは??】

現状、中学生以降でコーディングをやったほうがいいと思います。

しかし、プログラミングの言語は日々進化しています。先述の「LEGOマインドストーム」とか「スクラッチ」のような「ビジュアル型プログラミング言語」は、コーディングをしなくても十分なプログラムが描けます。

今後、もっとプログラミング言語が扱いやすくなるかもしれない。だから、そのころにはコーディングは必要なくなるかもしれない。


でも、現状では、コーディングができると選択肢が大きく広がります。また、コーディングってどういうものかをある程度知っていることで(自分はコードが書けなくても)、どう世の中に生きるのか考えることができます。
「これはコードが書ける人に依頼すれば解決できる問題なんだ」ということを理解しているかしていないかは大きな問題ですね。


だから、現状ではコーディングに触れることが重要だと思っています。

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