2020年春から小学校でもプログラミング教育が必修化されたようですね。知りませんでした。私もpythonというプログラミング言語を使ったり、Rという統計プログラミング言語を使うことも多いのですが、それを知った時、ついこう思いました。(心の中なので、表現が汚いです。)
「プログラミング的思考は確かに重要かもしれないけど、小学生からプログラミングを教えても言語も進化するし、大丈夫かな?」
と。
そこで、文科省の小学校におけるプログラミング教育の在り方について(議論まとめ)を読んでみました。
そこでの内容は割愛します。当初思ったようなプログラミング自体を教えることを目指したものではないということはよくわかりましたが、率直にいって、「コンピューターとかプログラミングあんまり関係ないな」と思いました。
文科省が目指しているプログラミング教育というのは、「情報を集めて、自ら活用・思考・判断・表現することで、よりよい社会をつくっていけるようになる」ことなんだと思います。
でも、ここで目指すべき人間性を教育しえる教師なら、なんの教科でもできる内容じゃないかなと思います。なんなら総合学習の時間の充実を図ってPDCAの考え方を教えるという方が、まだ現実的かと思います。まぁ、コンピューターとかプログラミングが直接関係ないことのために全児童にタブレットを配布して、通信環境を整えることを目指していたからこそ、コロナ禍でリモート授業ができるようになったことは、よかったかと思います。(リモート授業ができるなら、通常授業内容はオンデマンドにして、理解が乏しい箇所を教員が穴埋めしてあげればいいんじゃないかとは思いますが、現実的ではないのでしょうか)
そこで、個人的な経験からプログラミング的思考を教えるにはどうしたらいいかなと考えてみました。
プログラミングを組む時にしていることを書きだすと、
- 課題を見つける、あるいは作りたい最終形を定める
- 課題をいくつかの要素に分ける
- 課題を解決するため、意図した動作になるための方法を挙げる
- 上記の方法の有効性について評価し組み合わせを考え実行する
- 実行した結果を分析し、再度課題を挙げる→1に戻る
最初から完璧にデザインできるわけじゃなくて、やりながら、修正され続けて、出来上がっていきます。いきなりコーディングすることはなくて、そのプロセスを紙に書き出してみて、要素ごとのプログラムを作ってから、組み合わせてみるようなことも多くやります。感覚的にはジグソーパズルで、微妙に違うピースを順番に当てはめていくような感じで、うまく動いた時は本当にうれしい気持ちになります。
でも、小学生にこれを教えるために、構文がブロック化されたツールを用いたとして、プログラミングのためのプログラミング思考にならないか心配です。空手もそうですが、複雑な動きを習得するためには基本的な動作が染みついている必要があり、いきなり高難度の技や形を練習して、うまくいったとしても応用が効かないのです。
プログラミング的思考でも科学的思考でもいいのですが、大切なことは幼少のころからの声かけによる意識づけかと思います。
- おいしい料理のレシピを考える
- 家庭菜園で育ち方を工夫する
- スポーツで勝つための方法を見つけようとする
- 予算の範囲で家族旅行の計画をする
- etc…
お子様と一緒に考えてあげることで、普通の生活の中でも、十分に身につきます。
なにも特別なことではありませんし、なんなら夏休みの宿題を終わらすための計画でもできます。
文科省のプログラミング教育の目指すべき人物像には共感しますし、絶対的に必要だと思いますが、なにか問題を難しくしてしまっているようにも感じます。
それと、これはちょっと言うか迷いますが、プログラミング教育の是非の前に、その教育的効果の観測はされたのでしょうか?プログラミング思考ができると他の学力も上がることが「期待」されるとして、
「じゃあ、文科省の勧める教育の方針で本当にプログラミング思考を身に着けさせることができるのか?学力なりが上がったのか?」
このあたりが、なあなあのまま全国展開されていないか心配です。一部の特別区で社会実験してから、よかったら横展開する方法のほうが良いように思うのですが、、、
いかがでしたか?プログラミング教育に対する率直な意見を述べさせていただきました。プログラミング能力や外国語のスキルはとても重要だと認識していますが、他にも必要な能力はたくさんあるので、子供たちが必要に応じてそのスキルを身に着けられるための準備をしてあげたいなと考えています。
結論としては、「特別なことはない。教育は家庭でもできる。」です。
関連記事
「AI時代を生きるための処方箋」
「目的・目標管理していますか?」