昨日遅くまで働いたので疲れが抜けないので、普段とは違うことをやって気分転換。
最近、話題になっているプログラミング教育ですが、恥ずかしながら自分はあまり詳しくないのです。Excelでマクロを少しくらい組むことは出来ますが、アプリを作るなどは全然無理です。
「小学校で」導入となっているけど、将来的には中高でもプログラミング教育を受けた子どもたちがやってくるのだから、どんな能力なのかを知る必要は高いよね、と思う。
国語科とプログラミング教育は距離が遠いように思われているけど……頑張る。
そんなことを思っていたら、ちくまプリマ―から読みやすく、分かりやすい本がありました。
プログラミングができることではなくプログラミング的思考
まずは文科省の議論のまとめをちゃんと参照しましょう。
小学校段階におけるプログラミング教育の在り方について(議論の取りまとめ):文部科学省
この内容を読むと、一番最初に世の中が完全に陥っている勘違いを否定する一文がある。
- 小学校段階におけるプログラミング教育については、学校と民間が連携した意欲的な取組が広がりつつある一方で、コーディング(プログラミング言語を用いた記述方法)を覚えることがプログラミング教育の目的であるとの誤解が広がりつつあるのではないかとの指摘もある。“小さいうちにコーディングを覚えさせないと子供が将来苦労するのではないか”といった保護者の心理からの過熱ぶりや、反対に“コーディングは時代によって変わるから、プログラミング教育に時間をかけることは全くの無駄ではないか”といった反応も、こうした誤解に基づくものではないかと考えられる。
- プログラミング教育とは、子供たちに、コンピュータに意図した処理を行うよう指示することができるということを体験させながら、将来どのような職業に就くとしても、時代を超えて普遍的に求められる力としての「プログラミング的思考」などを育むことであり、コーディングを覚えることが目的ではない。
世間一般が考える「プログラミング教育」って、コーディングができる、つまりはプログラムが書けて、何かアプリが作れるようなことのイメージだ。でも、少しでもHTMLやExcelのマクロをいじったことのある人なら、いや、そうでなかったとしても普通の人は「文字列」が延々と並ぶプログラムを書くことに対して、非常にハードルの高いことだと思っているはずだ。
そもそも、タップで簡単に操作できるタブレット端末すらもびっくりするほどアレルギー反応を起こす教員たちが、「ぜひ、プログラミング教育をやろう」とはならないのも頷ける。
しかし、上の説明を読むと、どうやら「プログラムを書くこと」に目的があるわけではないらしいと、理解できる。では、どのようなことを目的にしているのかと言えば
【知識・技能】
(小)身近な生活でコンピュータが活用されていることや、問題の解決には必要な手順があることに気付くこと。
(中)社会におけるコンピュータの役割や影響を理解するとともに、簡単なプログラムを作成できるようにすること。
(高)コンピュータの働きを科学的に理解するとともに、実際の問題解決にコンピュータを活用できるようにすること。
【思考力・判断力・表現力等】
・ 発達の段階に即して、「プログラミング的思考」(自分が意図する一連の活動を実現するために、どのような動きの組合せが必要であり、一つ一つの動きに対応した記号を、どのように組み合わせたらいいのか、記号の組合せをどのように改善していけば、より意図した活動に近づくのか、といったことを論理的に考えていく力)を育成すること。
【学びに向かう力・人間性等】
・ 発達の段階に即して、コンピュータの働きを、よりよい人生や社会づくりに生かそうとする態度を涵養すること。(下線強調は引用者)
とあるように、「プログラムを書くこと」ではなく、「プログラミングをする」という活動を通して、「問題解決の手順」に対する思考力やコンピューターの社会での役割や影響などを理解していくことに意図があると言える。
このまとめ自体が「資質・能力」について議論していることなどからも分かるように、結局は「プログラミング」というコンテンツを教えることに目的があるのではなく、プログラミングを通して、現代社会に必要な資質・能力を育てることに意図があるのだ。
とはいえ、プログラミング的思考とは分かりにくい?
偉そうに言ったものの、プログラミングの素養がない自分では、このあたりの議論が一体何をいっているのかについて手応えがほとんどない。
たぶん、そのような人は少なからずいると感じる。一体、プログラミング的思考ってなにか、どんな活動をするからどのような思考をして、どのような力を身に付けられるのか……やったことがないからさっぱりわからない。そんな感じの人にお勧めしたいのが、この『世界が変わるプログラム入門 』なのだ。
本書の巻頭言には次のような説明がある。
仮に自分でプログラムを作らなくても、プログラムの考え方が分かるとよいこともあります。プログラムとは、問題解決の方法です。複数の要素を組み合わせて、ある問題を解決する手順を組み立てるのです。それだけに、プログラムの方法を知っていると、日常生活や仕事で物事をうまくこなすのに役立つ発想やものの見方が得られます。プログラムとは、ものごとが生じる前にあらかじめいろいろ考えをめぐらせて計画をすることでもあるからです。(P.8)
ね、文科省の資料の抽象的で小難しい話がとてもかみ砕いてわかりやすい表現になっているでしょう?
本書では「三目並べ」のゲームを作ることを目標にして、「アイデアメモ」を出していくことやアイデアを「虫の目鳥の目」で見直して吟味していくことなどの過程や、プログラムを進めていくことでモンダイが起きたときに、どうやって考えていくのかという思考の過程の説明……などなど、特定の言語を使ってプログラムを書くことを指南する本ではなく、まさに「プログラミング的思考」の過程を解説してくれている本なのです。
だから、「プログラミング教育ってなんだよ…」と思わず、小難しさに及び腰になっている人にとっては、この一冊を読むと、細かい「書き方」だとかの話は脇に置くとしても、どういう思考が刺激されるのかがよく分かる一冊になっている。
この一冊を読んで感じることは「なるほど、これは論理的な思考を鍛えるにはぜひやって方がいいかも」という前向きな気持ちだろうと思う。
プログラミングを通してやれる思考は、現状の教科の枠ではなかなか捉えにくい思考力のように感じるし、これからの社会で確かに必要になりそうだという感じがある。
しかし…忙しすぎるんですよ…
たった一冊を読んで分かったような気になるのもどうかとは思うけど、読まないよりはマシになりました。少なくとも前向きな気持ちでプログラミング教育を見られそう。
しかし、いいものだよなぁとわかると惜しく思ってくるのが、現場の教員にそれを学ぶだけの余裕が確保されていないことだ。
新学習指導要領は気前よく「内容を削減は行わない」と宣ったが、それはすなわち教員のやるべきことの量も減らないということだ。まあ……厳しいよね。そこに障碍者教育も必ずやりなさいなどのように、さらに色々なものがあとからあとから付け加えられてしまうと、もうにっちもさっちも…といった感じがする。もちろん、部活動も仕事としては余計だ。
忙しいから勉強できない……という人が、忙しくなくなっても勉強するかは自分の周りの人たちを見ると(自主規制)が、それでも時間が十分にあるということが、きちんと「どんな教育をしたいのか」を議論するために必要なのだとは思う。