プログラミングとはなんだ! – 執筆の裏舞台01

昨年末(ほぼ今年)発刊された教科書の執筆に参加した。

副題にあるように教育工学と教育心理学の分野の執筆陣によって生まれた教職コアカリキュラムに対応した教職課程向けテキストである。想定読者は大学院生や現職教員も含んでいるので、内容は歯ごたえのあるものになっている。

私は、第14章を担当した。

当初受け取った依頼は「プログラミング的思考の育成を考える」という章題だった。

プログラミング的思考…私の嫌いな用語だ。(Inspired by リュグナー)

最初は引き受けるべきかどうかも少し悩んだ。嫌いだと公言しておきながら、その言葉を使わざるを得ない原稿を引き受けることは、主義主張に反していないか。

とはいえ、教科書執筆に参加できることは栄誉なことでもある。声をかけてくれたなら「こいつならできるだろう」という期待もちょっとはあっただろう。応えられるあてはないにしても引き受けない選択肢もない。

私は「プログラミング的思考」と真正面から闘うことにした。

まずは類似の試みを参照し、この手の原稿に求められているものをどう設定しているのか理解することから始めることにした。少し好戦的な言葉だが「敵情視察」というヤツである。

その当時、教職コアカリキュラムへの対応をうたったテキストとして次のようなものが発刊されていた。

プログラミング教育について単独の章を立てているのは、この2冊であった。前者は、石塚丈晴「第13章 プログラミング教育」。後者は、板垣翔大「第17章 プログラミング教育で育てる資質・能力」である。

先達が心血注いだ仕事をまな板の上に載せるのは本位ではないが、これらの成果を乗り越える気概をもって取りかかろうとすることは大事だろう。両原稿がどこまで到達したのかは見極めなければならない。

2019年発刊の石塚原稿は、執筆時期的には小学校へのプログラミング体験の導入が決まってしばらくの頃だったこともあるだろう、プログラミング教育導入の経緯と、諸外国の事例としてイングランドの教科Computingについて具体的に紹介をする流れを取っている。後半は学習指導要領におけるプログラミングの位置付けについて「プログラミング的思考」に触れつつ、「小学校プログラミング教育の手引 第二版」を参照しながら第5学年算数における例や低学年向けの活動案などを示したものになっている。

2021年発刊の板垣原稿は、限られた紙数の中でまとめる困難さもあっただろう。コンパクトにまとめるため、プログラミング教育の必要性から始めて、「小学校プログラミング教育の手引 第三版」を参照して、「プログラミング的思考」やA〜Fに分類されたプログラミングに関する学習活動を紹介しつつ、第5学年算数の例を示している。後半は駆け足でプログラミング言語と「プログラミングの3要素」として順次、反復、分岐の考えを図で示し、最後に中学校・高等学校のプログラミング教育とのつながりで情報活用能力を意識させている。

両原稿とも、時節における状況を的確に反映した内容だと思う。

なにより、この手の原稿のひな型が無い、ゼロの状態の中で形を作り上げられた点は敬意を表せざるを得ない。おかげで後続の私たちは、乗り越えるべきものを手にすることができているのだから。感謝感謝。

さて、私はどんなアプローチをとるべきだろう。

先達を参照したのち、私は再び「プログラミング的思考」の扱いをどうするか考え始めた。

私はすでに「アブダクション習得としてのプログラミング教育の検討」という研究報告の中で、プログラミング的思考の育成なるものと格闘していた。その経験をベースに、何かうまい扱い方はないものか考えつづけた。

一方で、コンピュテーショナルシンキング(Computational Thinking)を原稿の中で扱うことは決めていたわけで、このままだと、プログラミング的思考とコンピュテーショナルシンキングが同じ原稿で同居しているにもかかわらず、両者の関係性を明確にするロジックが無いままになっしまう。

最初のうちは「プログラミング的思考」という文言を排除しようかとさえ考えていた。しかし、教科書である手前、それをするのは非現実的だ。とはいえ、論理的思考の角度から考えた先の論考をもとに「プログラミング的思考とはアブダクティブな思考のことだ」と唱えるのも、プログラミングが捨象されてしまう。

執筆の素材となる断片を集める作業と並行して、プログラミング的思考とコンピュテーショナルシンキングとの折り合いをつけるための枠組みと表現を模索しつづけていた、ある時、開き直りが降りてきた。

小学校段階は、プログラミング教育ではなくプログラミング体験をさせるといった語られ方もされるし、また、論理的思考という従前から重視されてきたものを今日的な社会課題のもとプログラミング的思考という言葉を使って再認識させたがっている。

こうした一連の言説が捕らわれているものは何か。逆に言えば、何を語るにしてもそこに捕らわれることによって今日的な議論の俎上に載せていることになるに過ぎないものとは何か。

それさえまぶせば、それなりであるもの。かつ、それをまぶすことに意味があること。

それは「プログラミング」ではないのか。

プログラミング?!…なんという堂々巡りだろう。そんなことはあらためて言うまでもないことではないか。私の心の中にだって、そう嘲り笑う影がいる。

けれども、そういうことなのだ。私はこの表現を中心に据えることにした。

プログラミングを視座とする思考/思考力

『学びを育む 教育の方法・技術とICT活用』195頁

斯くして、第14章は「プログラミングを視座とする思考力の育成を考える」という章題にすることを決めた。この言葉さえ掴まえておけば、あとは素材を揃えて、どう料理するかを考えればいい。

先達はプログラミング教育の導入経緯や必要を説くことから始めたが、私たちはそこから一歩前に進めて、プログラミングというものの重要性を認識することからスタートすべきだろうと考えた。

そうなのだ。プログラミング的思考やコンピュテーショナルシンキングが注目されていることを強調する言説は溢れているものの、そもそもプログラミングとは何かを考える機会はほとんどない。

私とて、プログラミングのささやかな経験はあるが、その言葉を深掘りしたことがあるほどプロパーではない。ここから「プログラミングとは何ぞや」という問いを抱きながら文献を漁り始める日々が始まった。

学びを育む 教育の方法・技術とICT活用』(北大路書房)は全国の書店からも注文できますし、オンライン書店でもご購入いただけます。

第14章の執筆にまつわる裏話の続きは、またそのうち。