こどもとIT
正解のない現代、プログラミング教育で自分だけの答えが出せる子に
――プログラミング教室TENTO代表 竹林暁氏 緊急寄稿
2020年3月19日 12:00
この春、小学校でのプログラミング教育がスタートする。しかし、昨年末突如として「GIGAスクール構想」による小中学校に1人1台の端末整備が閣議決定され、コロナウイルス対策として臨時休校による学びの停滞が現在進行形で懸念される状況にあり、おそらく学校現場も家庭もプログラミング教育について考える余裕はなくなっているのではないだろうか。
そこで本稿では、「できるキッズ 子どもと学ぶ Scratch3 プログラミング入門」(インプレス刊)の共著者であるプログラミング教室TENTO代表 竹林暁氏に、改めてプログラミングが日本の教育にもたらす意義について緊急寄稿いただいた。
新型コロナウィルスが世界中で猛威をふるっています。このままでいくと、2020年は世界史的なウィルス流行の年として人々の記憶に刻まれるでしょう。しかし、2020年が日本の小学校でプログラミング教育が必修化される画期的な年でもあるということを、我々は忘れてはいけません。
プログラミングの学びは、硬直的だと言われてきた日本の教育を変える可能性があります。本稿では、その可能性のうち2つの要素に注目して、これからプログラミング教育をどうやって始めたらいいかについて考えていきます。
正解主義からの脱却と、子ども同士の学びの促進
従来の日本の教育は、「正解主義」であると言われてきました。正解主義とは、「ものごとには正しい解答があって、子どもがそれを答えられるようにするのが学習のゴール」という考え方です。しかし、これだけ変化が激しい現代では、我々が直面する問題には必ずしも正解があるとは限りません。現代では、むしろいたずらに正解を求めるのではなく、柔軟な取り組み方で問題に対応するということのほうが重要になってきています。
その点、プログラミングは試行錯誤によって作品を生みだすクリエイティブな行為です。言い換えれば、間違えることによって新しいものを生み出していくのです。プログラミングでなにか作品を作るうちに、子どもたちは問題への取り組み方そのものを学習していくようになります。
もうひとつ、日本の教育では教師が一方的に子どもに知識を与え、子どもはそれを鵜呑みにするやりかたが主流でした。これだけネットに情報がある現代においては、子どものほうが詳しいことはいくらでもあり、このような上意下達のやり方は時代遅れと言わざるを得ません。教師から子どもに知識を伝えるだけではなく、子どもが教師にも知識を伝え、また子ども同士でも教え合うやり方が望ましいのです。多チャンネルから学べば、批判的精神の涵養にも役立つはずです。
この点プログラミングにおいては、先生が一方的に子どもに知識を与えるという状況にはなりにくいと考えます。なぜなら、プログラミングはPCに触ってたくさん学習すればするほど上達しますから、先生よりも生徒のほうが優れた発想や解法を導き出すということが容易に起こり得るからです。子ども同士での教え合いも自然に発生し、自ずと教師も「学習者」として生徒と同じ立場に立つことになるのです。
このように日本の硬直化した教育に対し、学びの革命とも言えるインパクトを与える可能性を持つプログラミング教育に、我々はどんなツールを使うと良いのでしょうか。その候補としてまっさきに上がるのが「Scratch」です。
Scratchは、アメリカのMITメディアラボのミッチェル・レズニック氏によって作られ、プログラミングツールとしての歴史は十数年です。しかし、Scratchがお手本としたアラン・ケイのSqueak Etoys、さらにシーモア・パパートのLOGOへとさかのぼっていけば、その源流は20世紀の発達心理学の大家ジャン・ピアジェまで行き着きます。
ピアジェは、「子どもは大人から知識をそのまま受け取るのではなく、自分で仮説を組み立てながら物事を理解していくのだ」という考え方を提唱しました。つまり、子どもは自ら学ぶ存在だということです。この考え方をもとにパパートは、「子どもはコンピュータという道具を使って理解を作り上げていくことができる」と拡張しました。
こうした考え方に基づいているScratchは、まさにこれから変わりゆく日本の教育にうってつけのプログラミング教育ツールと言えるでしょう。
学びのプロセスを重視するScratch
「正解主義」ではなく学びのプロセスを重視するという面において、Scratchは「プロジェクト作成型」のツールであり、子どもが自由に作品を作ることを学習の起点にしています。ドリル形式でプログラミングを学ぶツールでは、必ずしも子どもが自由にプロジェクトを作ることができない場合があります。
Scratchのようなツールを使って学ぶとき、適切に設計された授業ならば、子どもたちは自分の興味のあるゲームを題材にしたり好きなキャラクターを使ったりして、それぞれ違った「プロジェクト」を進めていきます。このとき、各自で違うプログラムになりますから、それぞれ違うところで試行錯誤することになります。先生のお手本と同じ数値を入れても動くことはありません。子どもたちはプログラミングの原理を理解して、その原理に沿った数値を入れてはじめて先に進むことができます。こうして、とても自然な形でいろんな原理を理解していきます。
もちろんドリル形式のプログラミングツールの場合でも、子どもたちが原理を理解できるような構成にすることは可能です。たとえば、「その子どもができない種類の問題をくり返し解かせる」といったアプローチです。現在、AIを用いて「学習の個別化」をうたう教材の多くが、このようなアプローチを採っています。
一見すると「プロジェクト作成型」の教材と同じ効果が得られるように見えるかもしれませんが、子どもの心理面では大きな違いがあります。
自分が選んだキャラクター、自分が作りたい物語をプロジェクトとして進めた場合と、ドリルを解く場合では、「子どもが自分で選んだかどうか」が決定的に違います。ドリルのような、だれかに与えられた問題の場合は、子どもは正解主義のにおいを嗅ぎ取って、そこに「求められるべき正解があること」を前提に解きます。正解があるのが大前提ですから、彼らの試行錯誤の幅は狭いものになります。
しかし、自分のプロジェクトを作っているときに出てくる問題は、そんな狭いものではありません。単純にスペルを間違えて動かない場合もあれば、そもそも作りたい機能の設定が矛盾していて作れないものもあるでしょう。または、まだ習っていない正弦定理を理解しないと解けないものかもしれません。つまり、子どもたちはまずどうやって問題に対処するかの戦略を立てなければならないのです。
子どもたちは、自分で選んだ課題だからこそ自らの学びについて意識的になるのです。とくにScratchは、自分で絵を書いたり、また音楽をつけたり、画像を取り込んだり、メディア系の操作が非常に柔軟にできます。これが「自分の」プロジェクトを作る上で大きな貢献をしていることは間違いありません。
水平の学びを進めるScratch
子ども同士が学び合うという面については、Scratchは独自のアプローチをしています。Scratchにアカウント登録すると、自動的にScratchのSNSに参加することになります。このSNSでは、子どもたちは自分の作品を公開して他の人に見てもらったり、人の作品にコメントをつけたりすることができます。公開した作品に良い評価を貰えれば、子どもたちはさらに意欲をましてもっと良いものを作ろうとします。また、ほかの人のコメントがヒントになって新しい機能を作ることもあるでしょう。
子どもたちがSNSに参加することについては、懐疑的な目で見る人もいるかもしれません。一般的に、SNSには個人情報をさらしてしまうというリスクがあります。また、SNSやメッセージツールがいじめの温床になっているというニュースはみなさんも聞いたことがあるでしょう。
しかし、Scratchの場合、アカウント登録時のルール(実名で登録しない)や規約、またまわりの大人の努力によりあまり問題が発生していないように見えます。子どもたちの自治の精神もよく働いているようです。
きっと、自分の作品を発表し合うというScratchのSNSの特徴が、そこに参加する子どもたちを良い方向に向かわせているのではないか、と私は考えています。作品をけなされたり悪口を言われたりしたら辛い、ということは自分の作品を出すからこそ理解できるのだと思うのです。
そして、ScratchのSNSには「リミックス」というものがあります。これは、公開された作品を作り変えて新しい作品を作る機能です。この機能のおかげで、だれかがなにかおもしろい作品を作ると、それに刺激を受けた人たちがどんどん改良していって、しまいにはものすごい完成度の作品ができあがる、ということが起こります。
もともと人類は、今まで作り上げられた技術や科学の成果の上にどんどん新しいものを付け加えてきました。ITの時代になって、この傾向はますます顕著になってきています。プログラミングでは、ライブラリなどの形で他人のプログラムを使用することが簡単にできます。ゼロから作るのではなく、“巨人の肩の上”に乗って作るのが当たり前なのです。これが、機械と違ってソフトウェアがあっという間に進化していく、という理由のひとつなのです。リミックスはまさに現代的な学びと言えるでしょう。
いま改めてScratchでプログラミング教育を始める
今まで述べたように、Scratchによって、自然な学びのプロセスと、子ども同士の水平の学びを実現することができます。これらの実現のために、これからScratchを使ってプログラミング教育を始める方には、ぜひ以下の2点に注意してもらいたいと思います。
・子どもたちが自分の好きなテーマでプロジェクトを作れる環境を与える
・子どもたちにはひとりひとつのアカウントを与え、リミックスを推奨する
新型コロナウィルス感染症で日本がどうなるかわからない現在は、もしかしたら良い方向への変化が受け入れられやすい時期かもしれません。日本の教育が変わっていく契機としてプログラミングが用いられることを願います。