プログラミング学習に「創造性」が必要な理由
プログラミング教育を考える上で、「創造性」は切っても切れない関係にあります。
なぜ決まりきった教材のサンプルコードを写すのではなく、自分の作りたいものを作ることが重要なのでしょうか?
エラーこそが成長の源
答えは簡単です。
独自のものを作ろうとすると、必ずエラーに直面するからです。
教材にあるようなお手本をそのままプログラミングするのと、自分独自のアイデアで何かを作るのとでは、学習効果が全く違います。
自分だけのオリジナル作品を作ろうとすると、他の人が作ったものではないため、参考例がありません。
そのため、様々な壁にぶち当たり、エラーに遭遇することになります。
このエラーを解決していく過程こそが、プログラミング技術と考え方を身につける最も重要な部分なのです。
よくある例では本当の力は身につかない
もしTo-Doリストのような「よくある例」を作ったとしても、そういった一般的なアプリケーションについては既に多くの知見が蓄積されています。
Googleで検索すれば答えがすぐに見つかりますし、今ならAIに質問すればあっという間に完成してしまいます。
でも、それでは自分自身が間違えることもなく、AIに頼らざるを得ない場面に出会うこともありません。何でもスラスラできてしまうことが、必ずしも良いことではないのです。
だからこそ、自分独自のアイデアを持った独自の作品を作ることが、プログラミング学習において非常に大切なのです。
「創造力がない」は思い込み
このような話をすると、よくこんな声を聞きます:
「うちの子は特にやりたいこともないし、新しいことも思いつかない」
「私が新しいものを作るなんてとんでもない、そんな能力はありません」
でも、ここで考え方を変える必要があると思います。
多くの人が持っている考え方は、「想像力という特別な能力がある人だけが、新しいものを想像できる」というものです。
しかし、この考え方はあまり良くないと私は思っています。
子どもが教えてくれること
小さい子どもたちを見ていると分かるのですが、大抵の子は「自分が作りたいもの」を持っています。
それがどんなにおバカなものでも、とてつもなく下世話なものでも構わないのです。自分の欲望を素直に表現することができているのです。
それが大人になるにつれて、どんどんなくなっていく——いえ、正確には「なくなる」のではなく、自分で制限をかけていくのです。
例えば:
「世の中にあるものを作ろうとしたら恥ずかしい」
「似たようなものを作る人の中で、自分の方が大したものを作れない」
これらは、ただ単に自分でストップをかけているだけなのです。
創造性は「能力」ではなく「権利」
人が生きているということ自体、全員が同じ状況で生きることはありえません。
それぞれの人が全く違う状況にいるわけです。
そうすると、「こうしたい」「ああしたい」という考え方も絶対に違うはずです。
だから、新しいものを作る欲望や、新しいものを作ることは、誰にでもできることだと私は思っています。
そこに特別な能力は全く必要ありません。
大切なのは、新しいものを作りたい、人と違うものを作りたいという欲望に、どれだけ素直になれるかということです。
つまり、創造性は「能力」ではなく「権利」なのです。
それを「作っていい」と自分で思えているかどうかの問題だと考えています。
教育者としての役割
小さい子はまだ「自分が何をしちゃいけないか」という自意識があまりないので問題ありませんが、だんだんそういう自意識が芽生えてくると、子どもたちは「想像力がないんだ」と思ってしまいます。
言い換えると、「想像しちゃいけないんだ」と思ってしまっているのです。
子どもたちに想像力を持って何かを作ってほしいと思っている私たち大人は、この点を絶対に心がけなければなりません。
子どもが自分の思いを表出することを抑制しているものを、いかに取り払ってあげるかが、私たちの重要な役割だと考えています。
まとめ
想像力は誰もが持っているものです。「自分なりの何かを作りたい」という気持ちは、絶対にみんなが持っています。
それを表現することを「当たり前」と思えているか、「表現してもいい」と思えているか——その違いが、創造的にプログラミングに取り組めるかどうかを決めるのです。
プログラミング学習において創造性を育むということは、この「権利」を子どもたち一人ひとりに取り戻してもらうことなのかもしれません。
Q & A まとめ
Q1: なぜプログラミング学習にオリジナル作品作りが重要なのですか?
A: 自分独自のものを作ろうとすると必ずエラーに直面するからです。教材のサンプルコードや一般的な例では、既に解決策がネット上に豊富にあるため、自分で考える機会が少なくなります。オリジナル作品では参考例がないため、エラーを自分で解決していく過程でプログラミングの真の技術と考え方が身につきます。
Q2: 子どもが「作りたいものがない」と言います。創造力がないのでしょうか?
A: 創造力がないわけではありません。小さい頃は誰でも「作りたいもの」を持っていましたが、成長とともに「恥ずかしい」「自分には無理」といった制限を自分でかけてしまうのです。大切なのは、子どもが自分の思いを表現することを「当たり前」だと思えるような環境を作ってあげることです。
Q3: プログラミング教育で創造性を伸ばすために、大人はどうサポートすべきですか?
A: 子どもが自分なりのアイデアを表現することを抑制している壁を取り払ってあげることが重要です。「想像しちゃいけない」と思わせるのではなく、どんなアイデアでも「作ってもいい」という権利があることを伝え、自分の欲望や思いを素直に表現できる環境を整えてあげましょう。創造性は誰もが持っているものなのです。