世界でもっとも賢い遊び道具は?

 みなさんが楽しんでいるプログラミングやスクラッチの世界には、コンピュータサイエンスの歴史と知識が埋め込まれています。
 わたしたちがふだん使っている自然言語を体系化したものが、いわゆる「文法」です。しかし、あくまで自然言語が先であり、文法が後ですから、わたしたちは文法どおりに話しているわけではありません。
 ところが、プログラミングでは、人工言語・形式言語であるプログラミング言語を使用し、いわゆる「文法」にしたがわなければ、プロジェクトはつくれません。
 たとえば、「ごはんはなにがいい?」「ぼくは魚!」という会話は、日本語の自然言語の世界では通用しますが、もし英語で「What’s good for your lunch?」「I am fish」といったら、意味が通じません。「I am fish」といえるのは、たぶん人間では、さかなクンだけでしょう。
 スクラッチは、世界中の言葉でプレイされますが、ベースはプログラミング言語ですから、世界中で共通です。
 さて、スクラッチの開発責任者であるレズニック博士は、レゴ・カンパニーの開発協力者でもあります。ですから、スクラッチは、レゴ・ブロックと多くの共通点をもっています。
 右の画像は、スクラッチのブロック・パレットです。青い部分が、それぞれのスクリプト・ブロックです。スクリプトという言葉は、語源的には「書かれたもの」「手書き」という意味ですが、スクラッチにおけるスクリプトは「言語記述されたもの」です。ですから、各スクリプト・ブロックには文字が書かれています。
 レゴ・ブロックであれば、それぞれのパーツにあたります。
 ところで、みなさんは、レゴ・ブロックを組み立てたことがありますか?
 最終的につくりあげたい作品のことをプロジェクトといいます。
 自分でつくるスクラッチの作品もプロジェクトです。プロジェクトは、日本語に直しにくい言葉の一つ。語源的には、projectのproは「前方に」jectは「投げる」ですから、プロジェクトは「前に投げたもの」です。つまり、レゴ・ブロックでも、スクラッチでも、君が「こういうものをつくりたいなあ」と思い描いているものがプロジェクトです。その思い描いたものをレゴ・ブロックのパーツでつくりあげていくのがレゴの世界です。
 『ソフィーの世界』で、ヨースタイン・ゴルデルは、「レゴは、世界でもっとも賢い遊び道具だ」と書いています。レゴは哲学的経験で、レゴの謎が解ければ、哲学のプロジェクトが理解できるだろうといいます。各ブロックが原子であるとすれば、原子は「不変」。でも、各ブロックで組み立てられたものは、つくりかえることも、バラバラにすることもできますから、いくらでも「変化」できます。なるほど、レゴは、哲学的経験です。
 スクラッチは、レゴにおとらず、世界でもっとも賢い遊び道具ではないでしょうか。

学院長 筒井 保明

プログラミング的思考は
教科書でどのように取り上げられているか④

第4回は、社会ではどのように扱われているのかについてみていきます。
教科書をよく見ていくと、生徒自ら「調べて、考えたくなる」ように工夫を凝らしています。大まかな学習内容や問題点をつかみ、自分で調べ、考え、まとめて、活かすというような構成です。さらに国語と同じように「主体的・対話的で深い学び」を実現できるように、発展的な内容まで踏み込んでいる部分もあります。プログラミングと考えるとどうしてもパソコンやタブレットを使って、コーディングに近い内容と捉えがちですが、問題を「発見し、どのように解決」するのかという点、また社会という一教科でなく色々な部分で活かせる「まとめる」というところにも重きを置いているといえます。
一例として下の図のように、フローチャートを活用して、ゴミの分別(小4内容)を可視化して、思考を整理したり改善したりしやすくするように子どもたちを指導している先生もいるようです。可視化することで、複数の子どもたちが同じ形式のものを見比べることができ、話し合いが容易になり、多様な意見が出されることで、よりよい手順に改善することができると考えられます。
いろいろある解決が難しそうな大きな問題は、沢山の問題が複雑に絡み合っているから解決が難しいといえます。問題の一つ一つを小さな解決可能な問題としてわけて、その問題を解決できるように何ができるのかを見つけて、どの順番でやるとより簡単に解決できるのかを学べるのが、プログラミングの学習です。
QUREOでは毎回課題が出されますので、どのようにしていったらよいか、命令ブロックをつなげて、課題解決をしてくれています。ゲームと思われるかもしれませんが、れっきとした学習なのです。

答えを見る