TRUE VALUE
プログラミングの価値
世界は前例のない急速な変化に直面しています。不確実で予測困難な将来に対して、社会を変革し未来を作り上げるための「新たな価値を創造する力」が、生徒たちにとって必要とされています。それに貢献するのが、プログラミングであると考えています。
「OECD 学びの羅針盤 2030」が指摘していること
「OECDラーニング・コンパス(学びの羅針盤)2030」がリリースされています。このペーパーの目的は、2030年という近未来で生きる子ども達のために次の問いに答えることです。
・現代の子供たちが世界を切り拓いていくには、どのような知識やスキルが必要か
・知識やスキルを効果的に育成するには、学校や授業の仕組みはどうすればいいか
このペーパーでは、不安定・不確実性・複雑性が急速に進展する世界の中で、社会を変革し未来を作り上げるためには、「新たな価値を創造する力」が必要としています。
プログラミングを学ぶことによって、多くの能力を身につけることができますがその中でも最も大切なことは「新たな価値を創造する力」です。
Microsoft、Google、Facebookなど、世界を変えた多くの起業家たちの幼少時代が多くを物語っています。
「創造する力」は身につくか
創造する力は、芸術や、科学などの特定の分野だけのものでもなく、モーツアルトやアインシュタインたちの天才だけのものでもありません。また神から啓示を受けた時にだけ発揮できるものでもありません。世界は名もない人たちの創造によってつくられています。
創造する力は学ぶことができないと思われがちですが、イギリスやアメリカ、フィンランドなどの海外では小中学生に創造性教育を実施しています。たとえばイギリスでは創造性を育成するために、次のようなカリキュラムが授業に組み込まれています。
①いくつもの選択肢を試す ②アイデアで遊ぶ ③問題を解決し困難に打ち勝つ ④アイデアを適用・修正する ⑤アイデアを効果的に伝える ⑥アイデアと行動の評価をする
「創造性とは、問題を定義して、情報のギャップを見つけ出し、アイデアや仮説を形成し、それらの仮説を検証したり修正したりして、最終的に結果を人に伝達する過程である」(Torrance )と、創造性は定義されています。
創造する力は、カリキュラムが体系的に整備された学習環境があれば身につけることができます。「新たな価値を創造する力」は、決して手が届かない存在ではないのです。
「プログラミングでアイデアを形にする」は、簡単ではない
だけど楽しい
「プログラミングは自分のアイディアを形にできる」。これはキャッチコピーのようにしばしば使われるフレーズですが、アイデアを形にするということは2つの意味で簡単なことではありません。
個性的なアイデアを考え出すことは、思っているほど簡単ではありません
ソフトバンクの孫社長がカリフォルニア大学に留学していた時、毎日5分「アイデアバンク」と呼ばれるノートに発明を書き記し、そのアイデアの数は250以上になったといいます。 「これを一年間やったおかげで、大きな自信につながった」 と孫氏は言っています。これは極端な例ですが、普段からそのような考え方をする習慣がなければアイディアを生み出すことは簡単にできるものではありません。
プログラミングでアイディアを実現するには、多くの工夫が必要です
アイディアをプログラムにして動かすためには、自分のスキルを見極めることが大切になります。小説や絵画のスキルの差は上手・下手の評価につながるだけですが、プログラミングには、たとえばパイソンの神がいて、神のチェックを通らなくてはプログラムは動かずゴールには到達できないのです。
プログラミングの命令や文法の種類は比較的少なく、マスターするにはそれほど時間がかるわけではありません。プログラムを開発するには多くの部品を使います。自動車の部品数は3万、飛行機は400万といわれますが、パイソンも数値計算、画像処理、AIなど用途に応じて数え切れないほどの部品があります。そこから自分のアイデアをプログラミングするため、必要な部品を選択し、機能を理解し、テストをして使います。必要な作業とは言え、この面倒にも思える部品を使う作業は作品をつくる時には必ず壁となって立ち塞がります。
部品だけではなくアルゴリズムも同様です。アイディアを実現する時に、まだ習っていない例えば三角関数や集合の考え方が必要となる時があります。Googleの検索でヒットした記事を調べても難しくて歯が立たたなかったり、そこからさらに広く深く調べることが必要になることは頻繁にあります。
何故生徒たちはプログラミングから逃げ出さないのか
生徒たちは何故そこでギブアップしないのでしょうか。
それは自分のアイデアを実現するという目的のために、人から指示されるのではなく自ら進んで取り組んでいるからです。自分が作っているという実感や達成感があるからです。そして思い通り動くものを作る喜びがあるからでしょう。数学の好きな生徒が幾何の問題で1本の補助線を見つけるのに何日間も考え続ける気持ちと同じかもしれません。
そして重要なことは、知識やスキルを学ぶことを目的としていないことです。知識やスキルはアイデアを実現するために付随的に学んでいるのです。作品を作るために必要な知識やスキルを調査し理解していくのです。そしてステップアップした新たな目標に向かって、さらに調査をしながら、スパイラル的に学んでいくことが重要なのです。最高の学びの姿と言えます。自分のアイディアを実現するためには、困難な作業を苦労とは思わず、飽きることもなく、そして投げ出すこともなく、楽しく学び続けることができるのです。
「創造する力」といっしょに身につく大切なこと
プログラミングの文法を学んで与えられた課題を作成して楽しむだけでは、旧態依然とした問題・解答・採点という学習スタイルと変わりはありません。これでは創造する力は、到底身につけることができません。
プログラミングを通して自分が作りたいことに粘り強く取り組むことによって、アイディアを生み出す発想力やアイディアを形にする創造力が育ちます。
同時に、主体的に学習する習慣や、果敢に挑戦する精神、そして情報を収集し分析する力が育ちます。さらに問題解決の見通しがつかない状況でも、問題解決の意欲を維持し努力し続ける姿勢が身につきます。
これからの時代を生きるために
グローバル化の進展や技術の急速な進歩によって、世界は様々な分野において想像ができないほどの変化に直面しています。未来は不確実であり、予測することは困難ですが、将来の変化に対して準備をしなければなりません。
生徒たちが10年後社会人になる時は、現代では存在しない仕事に就いたり、想定されていない課題を解決することが必要となるでしょう。そのためには生徒たちに適切な教育をすることが何より大切になります。そういう教育に恵まれた生徒たちは将来素晴らしい機会をつかむことができるようになるでしょう。
それに貢献するのが、プログラミングであると考えています。