デジタルな思考ツールを使って新しい学びを体験しようとして、シニア年齢になって挑戦してきたScratchやmicro-bitなどの、小学生の高学年が新しく学び始めるプログラム・ツールを学び始めました。実は進展は芳しくないといっていいでしょう。始めて直ぐに、考えているコトがプログラム表現するには極端な制約下に置かれているコトで、ある種の戸惑いとして沸き上がってきます。プログラムの中で使える言語種が極端に少ないという特徴が、逆に思考力のデグレ―ションを起こしてしまい、プログラム学習の目的だった「思考の表出化」が実は困難になっているというものです。
2020年の学校教育でも取り上げられるというコトで、各地でプログラム教室が盛んに行われています。でも体験した多くの小学生は、一度の体験で十分だと感じてしまっています。「やったことがあるから、もういいよ」という評価を度々聞くことに成ったのです。これは親御さんにあっても、実務でプログラミング体験している大人にあっても、概 説の知識があれば、そこから先にはなかなか進展しては行きません。
ここには重要な問題点が潜んでいるコトは明らかです。
考えを表現するツール側に、言語種が用意されていない訳ですから、表現したい事象をツールに合わせて細分化して、再び組み立て直していくという行為を強いていくコトに成ります。よく例題として出てくる「落ちてくる球を受け取る」の表現を、1ステップ毎に命令セットを並べていく作業は、プログラミング教育が目指している本質を突いてはいません。高級言語が使えるプログラム・ツールが数多ある中で貧弱な言語に慣れ親しむことは、実は危険だと思っています。
私も1980年代に親しんだ、CPUの固有構造が活かされるよう組み立てたOS上で、命令細則に従って制御手順を書き連ねたコードリストを作る作業を、プログラミングだと理解していました。その後、高級言語化された命令セットは自然言語処理に限りなく近づいており、より上位設計である要件定義やアルゴリズム設計などへ移行してきとのだと理解しています。こうした環境にあってプログラミングという行為に、今、何故光が当たっているのか、その本質的な目的志向を見失わないようにしたいものです。
プログラミングは「思考の表出化」をする工学的な手段です。
だとすると、その手段を用いて、アウトプットである目的を実現させていくコトに成るのですが、その目的とは一体どのようなコトでしょうか。人類が永く親しんできた表出化のツールに、絵画や文字といった手段が使われてきま した。考えたことを伝えるツールとしてプログラミングを選択した場合、今後どのような可能性が広がっていくのか、そこが教育としてのフィールドではないでしょうか。
ロジカルシンキングとしてのデジタルツールは、超速の勢いで進化しています。しかし人類の思考力の中で答え合わせが可能なロジカルな一部のファンクションが出来ているに過ぎませんが、これらの仕組みを理解し使いこなしていく能力が、社会からの強い要請なのではないでしょうか。
ホテルのフロントや回転すし受付のロボットは、明らかにその職種を人類から奪ってしまいましたが、そのロボットのプログラムは一つであり、外見としても目は乾燥しきっており、涙も充血もしてはいないでしょう。人が人と違っているように、ロボット個体が固有のプログラムで動き、且つ間違いを生み出す力が備わったとき、正にコミュニケーションが成立する社会に近づいているのではないでしょうか。
人は、正解も間違いもある不確実な状態を、コミュニケーションによって、すり合わせていける「ココロ」を当たり前のように備えている。この「思考の表出化」という能力を手に入れ使いこなしていく訓練が、プログラミング教育だと考えています。 ※まだまだ不十分な思考展開ですが、途上結果を表出しておきたい。