2020年、学習指導要領(学校でどんなことを教えるかを示しているもの)の改訂により、プログラミング教育がスタートした。それに合わせて、パソコンでプログラミングを教える教室、実際に自分が作ったプログラミングでロボットを動かすといった応用型の習い事なども生まれた。今現在、プログラミングについてやや停滞感があるのは気のせいではないかもしれないが、そもそも、プログラミングって何で、何のためにやっているのか?他の勉強もある中、それほど必要があるのか?など、いろいろ思うところがある。
プログラミングとは?
そもそも「プログラム」は「物事の手順」ということだ。運動会でも放送で「プログラム〇番、□年生、徒競走」などというアナウンスを聞いたことがある人も多いだろう。つまり、プログラミングというのは、『物事の手順を(コンピュータに)書き表すこと』と言える。今、あなたの身の回りにはプログラミングされたものであふれている。パソコンやスマホ、家電製品ももちろんそうだし、スマホの中に入っているアプリ(ゲームなども)もちろん。指示にしたがって規則正しく動いているものは全てそうだ。コンピュータは人間よりもはるかに情報を処理する速度が速く、しかも正確だ(感情がないから文句も言わないし)。コンピュータをプログラミングしてコントロールすることによって、人々は“効率的な暮らし”を手に入れてきた。
では、何のためにプログラミングをやっているのか?大きく2つあるのかなと思う。
一つ目は、コンピュータとの共存。上にも書いたように、今の社会、コンピュータが身の回りにあふれている。生活に欠かせないものである。プログラミングを学ぶことにより、大まかな“枠”としての仕組みを理解することは、その機器が持つ機能をできるだけ発揮するために役立つと感じる。例えば、ブルーレイレコーダー。その機器が持っている機能をリモコンを使って操作するよね。これもプログラミングされたものをそれなりに理解しながら使っている姿だ。また、その機能と生活をどう結び付けたらより快適に過ごせるかを考えることもできる(音声機能を使った方が早く検索できるなど、自分なりに環境を選択できる)。仕組みを知り、そして身の回りの機器を使いながら、自分の暮らし方にフィットさせていく。プログラミングを通して学んでいけるはずだ。
二つ目は、”プログラミング的思考”の獲得。特に小学校では、ここを狙っているようだ。このプログラミング的思考というのは“論理的に考えること”と一般的に言われている。「なぜその結果になるのか」や「なぜそのように考えるのか」などの意見を、道筋を立てて明確に伝えるというのは、これから生きていく上でとても必要な力だ。日本人は全体的にそこがあまり得意ではない。
例えばコロナ対策。今や世界的に見てもコロナ対策を徹底している国というと、日本と中国のみと言われている。世界的には、“ウィズ コロナ”として「コロナは消えないから上手く付き合っていこう」という流れであり、3年間のエビデンスを基にリスクを捉え、経済活動をコロナ以前と同じように始めている。中国は“ゼロ コロナ”を掲げており、陽性者への対応は一貫している。世界各国のスタンダードは「かかっても60歳未満の致死率は低い。もちろん、かからないように気をつけるけどね」といった感じだ。中国は一つの党が権力を握っている国だから、強権発動でその地域の住民を一斉に検査して“ゼロ・コロナ”を継続していくことは可能だ。しかし、日本は経済や社会生活を大切にする方向で舵を切っているものの、政策としてどっちつかずな感じが否めない。それはエビデンス(証拠)を上手く活用できていない、今回の記事に合わせて言うと“論理的に考えられていない”ということになるのだろうか。
そう考えると、日本が論理的な思考を獲得するためにプログラミングを学ぶことは、理にかなっていると言える。「スクラッチ」などのプログラミングソフトを使ったことがある人は多いと思う。同じ課題を授業で一斉に行った場合、“あること”に気付く。それは“正解が一つではないことがよくある”ということだ。例えば、「150m進む」という指示と、「100m進む」「そこからさらに50m進む」という指示では、特に結果に変わりはない。また、「30°右に回る」という指示も、「330°左に回る」という指示も、結果は変わらない。もちろん、指示は少なくてシンプルな方がよいので、そこまで求めると、正解は一つと言えるのかもしれないが。
「目的を果たすために、道筋はいくつもある」ということは、プログラミングに限った話ではない。そこで、タイトルの通り、家事とプログラミング的思考を掛け合わせることで、日常的にプログラミング的思考を獲得しよう!というのが私からの提案だ。ただ、話が長くなってしまった。続きは明日、PartⅡですることにしよう!



コメント