プログラミング的思考 -4

今年度も残りわずかになってきました。この時期はあれこれ催事が開かれますが、プログラミング教育関係をテーマにしたものも多いです。(カレンダー

20180223-24「こどものプログラミング教育を考える2018 ~2020年度を見据えた地域の教育実践例~」(オープンソースカンファレンス)
20180224「第3回こどもプログラミング・サミット2018 in Tokyo
20180224「Microsoft Education Day 2018 〜2040年に生きる子どものための学びのニューモデル〜
20180227「Webの未来を語ろう 2018 プログラミング教育編
20180227「セミナー「ICT活用を教える現職教員の対応力強化策」
20180303-04「Raspberry Jam Big Birthday Weekend 2018 in TOKYO
20180303「教育工学会研究会 プログラミング教育・LA/一般
20180308「プログラミング教育とICT利活用人材
20180308「総務省「若年層に対するプログラミング教育の普及推進」事業 成果発表会
20180308「Bett報告会 ブリティッシュパブでイギリス発教育サミットbettを語る夜
20180310「新学習指導要領でのプログラミング教育の実現に向けて 教育工学の立場からプログラミング教育を考える
20180312「「プログラミング教育が変える子どもの未来」出版記念セミナーイベントin東京〜プログラミング教育の名の下に世界で何が起きているのか、未来は本当に見通せているのか?〜
20180313「子ども達に,いま必要なマナビ:プログラミング的思考や読解力の必要性と教育のあり方は? 〜データなどの確かな根拠に裏付けされた実態と展望〜」(情報処理学会全国大会)
20180313「次世代の教育情報化推進事業「情報教育の推進等に関する調査研究」成果報告会」(文部科学省)
20180325「第4回 お茶の水女子大学附属学校園ICTフォーラム「プログラミング教育の現状と課題」

これだけの機会、プログラミング教育やプログラミング的思考なるものについて情報が交わされるわけです。なかなか興味深い展開ですが、これらの内容を知ることも、議論を接合することも、重複参加しているような人々でないと難しいのが困ったところです。

いまは、それぞれのテリトリーで課題に対する解決策を追いかけることで精一杯であり、それらをオープンにすることやコネクトしていくことにエネルギーを割いている余裕がないというのが実際のところだと思います。

「プログラミング的思考」に関してこれまで、「有識者会議の定義」「様々な論者の記述」「英訳を考える」といったアプローチで描写してきました。

その後、海外の文献なども取り寄せながら様子を見ていたのですが、ある論文に「Algorithmic Thinking」という言葉が用いられていることを見つけて、これが「プログラミング的思考」という言葉を使いたい人たちの考えに近い英訳ではないかと思えたのです。(論文「Algorithmic Thinking: The Key for Understanding Computer Science」)

あとからいろいろ調べてみると、すでに『コンピュテーショナル・シンキング』という本で、「アルゴリズミック・シンキング」という言葉が20世紀中庸に用いられていたことが紹介されており、そのことを指摘した論文「Beyond Computational thinking」が『Communication to the ACM』誌に掲載されていると書かれていました。

あえて古い言葉「アルゴリズミック・シンキング」の方が「プログラミング的思考」の英訳として適していると感じるのは、有識者会議の議論のまとめが、コンピュータでのコーディングよりも論理的思考の方に重きを置いたような印象を与えるからです。海外の人たちへ紹介するときの英訳としても、その方が理解や納得を得やすいのかなと想像していますが、これは実際に使ってみないとわかりません。

学習指導要領が本格実施されるときのプログラミング体験・学習が、どのような姿に落ち着いているのかは、今のところまだわかりません。

ScratchやViscuit等を用いるスタイルはもちろん生き残るとして、プログラマブルロボットやmicro:bitのような工作・メイカーキットの活用が加速するのか、あるいはアンプラグドと呼ばれる取り組みが教科との多様な連携を見せるのか。正解がない以上は、あれこれ試してみてはダメ出しや改善をしながら切磋琢磨して紡ぎ出すしかないと思います。

たとえば、Webデザイン(情報デザイン)やゲームデザイン、AIシナリオデザインといったものも、プログラミング体験や学習の範疇に取り入れる可能性についても、「あえて」取り組んでみる必要があるかもしれません。そうしたときに教科の横断や連携といった試みも必要性のもとに浮かび上がるかもしれません。

以前「プログラマー「を」育てる教育を」という雑文を書きました。

プログラマーを「特定の職業ではなく、数理系に偏るものではなく、高度な情報活用能力の体現者」という風に考えてみてはどうだろうか、というのが雑文の趣旨でした。

正直なところ、いま起こっている物事の全てが、「プログラミング」という言葉を所与のものとして前提したまま展開していることが、このややこしさの出発点だと思っています。そのうえ、学習指導要領には長い年月積み残した宿題(問題)が放置されたままであり、私たちはその上に新しいことを継ぎ足そうとしていることも、事を難しくしています。

「プログラマーを」育てるという言い方は、もちろん、多少の釣り要素が込められた言い方ですが、それがいまいち腑に落ちないのであれば、「能動的なユーザーを」育てると言ってもいいし、「情報時代に生きる市民を」育てると言ってもよいと思います。

この時期、あちこちの催事で語られるプログラミング教育やプログラミング的思考なるものに関する議論で、それらがどのように描かれていくのか。議論する私たちも、もっとたくさん学ばなければならないのだと思います。