プログラミング教育が注目される中、その教え方にはいまだ多くの課題が残っている。この状況を変え、4歳からプログラミングに触れる機会を作ろうとしているのが「プログラぶっく」だ。代表取締役CTOの飛坐賢一氏、取締役CEOの大木章氏にプログラミング的思考とはなんなのか伺ってみたい。
未就学児でも学べるプログラム学習とは?
IoTやAIなどの先端技術を活用して社会課題を解決していくスマート社会"Society5.0"に向け、いま子どもたちがプログラミング的思考を身につけることの重要性が説かれている。文部科学省はGIGAスクール構想によって学校ICT環境の整備を進めており、2020年度から小学校で、2021年度から中学校で、2022年度からは高校でプログラミング教育が必修化された。
そんな現代の教育現場に向けて、未就学児でも分かりやすいプログラミング学習として提供されているのが「プログラぶっく」だ。同社のWebページからは体験用の課題やカードがダウンロードできる。
この「プログラぶっく」を作っているのは、飛坐賢一氏や橋下友茂氏を初めとした、テレビゲーム創成期から活躍しているレジェンドプログラマー。両氏は数々の有名ゲームの開発に携わってきたほか、プログラマー教育でも第一線で活躍しており、一人前に育てた人材は数百名に及ぶという。指導論理から技術までを網羅できる、数少ないプログラム教育のプロと言える。
アナログでデジタルを学ぶ「プログラぶっく」
「プログラぶっく」の大きな特長は、あえてアナログなカードを用いていること。「プログラぶっく」は、問題のテキストとカード型プログラムで構成されている。テキストに書かれた問題を解決するためにカード型プログラムを並べ、それをスマートフォンやタブレットなどのカメラで読み込み、結果を確認する、という流れでプログラムの基礎を学ぶことができる。
「アナログなカード型を採用した理由は、まず発達段階の子どもたちの目に優しいことです。また友達のプログラムを覗いてディスカッションしながら楽しむことができます。パソコンなどの教材から始めると簡単にリトライできてしまい、総当たりが容易になります。これではプログラムを理解できません」(飛坐氏)。
この発想は、昔のコンピュータのプログラミングから生まれたという。当時は手書きのプログラムをカードに転記し、それをコンピュータに読み取らせていた。
「実は私が最初にプログラミングを学んだのが、このカード方式でした。またプログラミングを学ぶというと、分厚い本を覚えなければいけないイメージがあるんじゃないかと思います。でもそれは全然意味がないんです。多くのプログラマーは調べながらプログラミングをしているんです。プログラミングは、覚えることが重要なのではなく、考えることが重要なんですね。考えてもらうために、わざと面倒くさいアナログなカード型にしました」(飛坐氏)。
飛坐氏と大木氏は「『プログラミングって簡単! 』と思ってもらうことがなによりも重要」と力説する。
「人は当たり前の様に言葉を話しますが、それは幼少期から言葉を聞いて育ってきているから特に意識することなく話ができます。それと同じ様にプログラミングも幼少期から触れることにより、意識せず理解できるようになると良いなと考えています。今は保護者の方や先生方、そして世間一般で“プログラミングとは難しいものだ”と思われています。しかしこれからIT社会で生きていく子どもたちには、プログラミングというものに苦手意識を持たせたくないんです。子どもたちに楽しんでもらって、『プログラミングなんて簡単じゃん!? 』と感じてもらえることが一番です」(飛坐氏)。
「プログラミングは目的を達成するための手段・方法であって、それは簡単であった方が良いのです。それこそ映画『アイアンマン』では腕を動かしてプログラミングしていますよね。あれこそ将来のあるべきプログラミング風景だと思います」(大木氏)。
だれもが学べ、教えられるプログラミング学習を
現在、子ども向けプログラミング教育の中心的な役割を担っているのは、ビジュアルプログラミング言語「Scratch (スクラッチ)」だ。これは画面上にある命令ブロックをつなぎ合わせてプログラムを作るというもので、小学生でも直感的にわかりやすい。
だがScratchを使ってプログラミング学習を進めて行くには、プログラミング以外の多くのことを同時に学ばなければならない。それは、プログラムの基本となる3大処理構造「順次処理」「繰り返し選択処理」「分岐処理」や、PCの基本操作を理解しなければならないこと。大木氏は、現在のプログラミング教育への疑問を次のように語る。
「PCの操作やプログラミングの基本構造を覚えてから学習するのはナンセンスです。子どもたちにとっては、いきなり自転車に乗せられるようなもの。三輪車に乗れるようになってから自転車に乗るように、未就学児でも学べる入門教材を作らなければならないと思いました」(大木氏)。
プログラミング教育の必修化は進んでいるものの、現在、多くの学校の先生たちはプログラミングを正式に学んだことがない。年配の先生の中には、PCを使うことすら苦手とする方もいることだろう。そんな先生方がプログラミングを教えるのは難しく、これも課題のひとつになっている。
「『だれもが学べ、だれもが教えられるプログラミング学習』がいま求められています。ですが一方で、プログラミングを学んだ方は難しくしてしまいがちなんです。『プログラミングはすごいものだ! 』とやりすぎてしまうんですね」(大木氏)。
さらに、プログラミング教育はこれまで確立したカリキュラムを用意できていなかったことも、大きな問題といえる。これに対してプログラぶっくでは、2年分のカリキュラムを用意している。また一人の教師が大人数の生徒に教える双方向型オンラインシステムも備えており、IDカードでオンライン授業に参加できる。生徒が作ったプログラムの蓄積も行え、成績指標に落とし込むことが可能だ。
「小学校では、プログラミングの理論と基礎構造さえ覚えれば良いと私たちは思っています。それを理解した上で中学校でコンテンツを作っていくのです。プログラミングは言語であり、そのうえに物理や数学があります。『プログラミングなんて簡単』と、ある意味バカにされるくらいでちょうど良いのです」(大木氏)。
プログラミング的思考は未来を生き抜く力になる
プログラミング教育に新しい風を吹き込むべく尽力している、プログラぶっく。同社はプログラミング学習によって、子どもたちに問題解決のための力を付けて欲しいと考えているそうだ。
「我々は子どもたち全員をプログラマーにしようとしているわけではなく、考え方を教えたいわけです。ではプログラミングでなにが学べるかというと、それは論理的思考、プログラミング的思考ですね。物事を分解し、構成と順番を考えて問題を解決に導くことです。これが未来を生き抜く力になると思っています」(飛坐氏)。
「僕はよく『問題解決アルゴリズムを身につけましょう』と言っています。さまざまな問題に対して成功モデルを探していくことは、プログラムの構造と一緒。そういう脳を作りましょうということです。これから先、AIにまかせられることはどんどん増えていくでしょう。人間は人間にしかできない仕事をしなければなりません。それは0から1を作ることです。そのためにプログラミング的思考が必要となるのです」(大木氏)。
プログラミング教育によって学べることは他にもいくつかあるという。1つ目は、コミュニケーション力。ちゃんと伝えないと動かないコンピュータとコミュニケーションを取ること、そして作ったプログラムを使ってもらうために、使う人のことを考えること。そしてチームでプログラムを作ること。まさにプログラミングはコミュニケーションの塊だ。
2つ目は、段取り力。昔の子どもたちは、原っぱや家の中で友達と工夫をして遊び、段取り力を身につけてきた。しかしいまの子どもたちはその機会が少ない。例えばコンピューターゲームは、誰かが作った「答えのある謎解き」と言える。だが、そのコンピューターゲームはプログラムでできている。プログラミングは自分で段取りをつける手段といえる。
3つ目は、克服力。間違いに打ち勝つ力だ。プログラミングには“バグ”がつきもので、経験豊富な飛坐氏自身も大きなプログラムであれば、一回で間違いなくプログラムを作れたことは少ないという。そこから「ではどうしたら間違いを修正できるんだろう? 」と試行錯誤していくことこそ重要であり、リカバリーの大切さを理解することこそ克服力だろう。
プログラミングは楽しいものなんだ
最後に、これからプログラミングを学ぶ子どもたち、そしてその親や教師に向けてお二人からメッセージを頂戴した。
「これからプログラミングという授業をやっていくにあたっては、国語・算数・理科・社会という既存の教科と同じレイヤーに置かないで欲しいです。プログラミングは、国語ではなく読解力、英語ではなく英会話。教科の下のベースになる学びだと僕は考えています」(大木氏)。
「私はゲームクリエイター、おもちゃ職人ですから、なによりも『プログラミングは楽しいものなんだよ』と子どもたちに伝えていきたいと思います。保護者のみなさんには、そういう楽しさに触れる道を作ってあげて欲しいですね」(飛坐氏)。