こどもとIT
プログラミングツール開発者が伝える、プログラミング教育のエッセンス
――Schoo「指導者がプログラミング教育を成功させる鍵」レポート
2019年5月23日 06:00
2019年4月10日、オンライン動画学習サービス「Schoo」で「指導者がプログラミング教育を成功させる鍵」と題したオンライン生講義が放送された。講師を務めたのはビジュアルプログラミング言語 Viscuit(ビスケット)を開発する合同会社デジタルポケットの原田康徳氏と、iOS向けビジュアルプログラミングアプリ Springin’(スプリンギン)を開発する株式会社しくみデザインの中村俊介氏。二人に共通するのはプログラマーであること、そして日本国内でオリジナルなプログラミング教育ツールを開発していること。講義ではViscuitやSpringin’の設計思想を紐解きながら、プログラミング教育のゆくえ、そして指導者の立場からどのようにプログラミング教育に臨むべきかなど、具体的なテーマで対談が行われた。
この記事は、対談のエッセンスを抽出して再構成したレポートとしてお届けする。内容を文字起こしではなく、話の流れに応じて発言の順序を変えたり、言い回しを変えていることをあらかじめお断りしておく。実際の対談はSchooで公開されているアーカイブ動画をご覧いただきたい。
講義はまずViscuitとSpringin’のそれぞれについて、開発者である原田氏と中村氏からのデモからスタートした。ViscuitもSpringin’も子どもが絵を描いて、その絵をどう動かすかを設計することを通じてプログラミングを学ぶという点については共通している。ただしその「どう動かすか」を設定するところに設計思想の違いがある。
ViscuitとSpringin’、同じところと違うところ
互いのデモが終わったところで、Schoo受講者代表で今回の講義のモデレーターを務める徳田葵氏から、それぞれのツールについての感想が問われたところから対談はスタート。原田氏も中村氏も互いのツールに感じる共通点は「単純な原理を組み合わせることで応用的なプログラムを実現する」ことにあった。
原田 :Springin’もViscuitも単純なものをいかに組み合わせるかを考えてプログラミングするところが共通ですよね。たくさんある選択肢の中から実現したい機能を探すのではなく、自分が作りたいものをゼロから構築していくところがプログラミング的思考につながります。そのプロセスで自分が最初に思ったものと違ったものができたとしても、それでいいんです。最初から複雑な機能を教材に準備しておくと、その機能を探すことがプログラミングの勉強ということになってしまって、それが「何となくわかった感じ」につながってしまうんです。
プログラミング言語やプログラミングツールって、それを作った人のプログラミング感や問題意識が色濃く反映されるんですよね。Springin’は絵と絵の関係性を定義することでプログラムしますが、これは開発者の中村さんがプログラミングとは関係性を定義することだ、って考えているからなんですよね。対して私はプログラミングとはシンプルなルールを組み合わせることだと考えていて、そしてこれは私がプログラミング教育を通じて伝えたいコンピュータの原理そのものなんですね。だから私は「コンピュータとはなにか」ということを伝えるためであれば、Viscuitでできることが減ってしまってもいいとすら思っています。
中村 :Springin’は「作れるものを極力増やしたい」という思想で作っていますね。単純なしくみを組み合わせることでできることが広がり、その結果すごいものが作れるようになるってことを伝えたいんです。Springin’に物理演算を組み込んでいる理由もこれです。そもそもViscuitとSpringin’は居場所が違うものなんですよ。だからどちらが優れているかという論点はちょっと違います。
今のプログラミング教育はコンピュータと戦おうとしている
まず取り上げられたのは「プログラミング」という言葉について。今プログラミングを学ぼうとしているのは子どもたちだけではない。大人向けのプログラミングスクールやオンライン講座が巷に溢れており、そして少なくない大人たちが挫折している。そのような状況では「プログラミングは難しい」というイメージを先生たちから払拭することは難しい。そのイメージを脱却するにはどんなアプローチがあるのだろうか。二人はプログラミングそのもののイメージのアップデートが必要だと語る。
原田 :コンピュータって聞いたときに思い浮かべるものって人や世代によって差があるんですよ。僕らがコンピュータに初めて触れたとき、それは黒い画面にキーボードがつながっているものでした。そしてご存知の通りカラーディスプレイにマウスがつながっていて、グラフィカルに操作できるようなものになりました。そして今はタブレット型になってタッチ操作するものですよね。プログラムが動くコンピュータは技術革新によって進化しているんです。でもプログラミングって未だに昔の黒い画面のイメージのままなんですよ。ViscuitやSpringin’みたいなプログラミングツールもたくさん出てきているのに、未だに黒い画面のことをやろうとしている人がプログラミング教育に関わる人にも多いですよね。
中村 :プログラミングって言葉は昔から使われているので、誤解が生まれているんじゃないかなぁと思っています。こんなものがあると面白いんじゃないかとか、不便なものを便利に解決しようとか、そういうものを生み出す力が今求められているものですよね。そしてプログラミングは今や表現や問題解決のための手段や方法なんですよ。
例えば、写真や映像を撮ってちょこっと編集することって、今や誰もがやるようになったことじゃないですか。でも10年前を振り返ってみてください。写真や映像の撮影や編集って特殊な技能を持った人だけのもので、みんながやることではなかった。プログラミングも同じ流れなんです。みんなが写真を撮ったり映像を編集したりするようになったように、プログラミングも創造力やクリエイティビティを実現する手段や方法なんですよ。
原田 :僕たちはコンピュータが好きだったからプログラミングを学んで、そのすごさに気づきました。そしてそのすごさを伝えるために、ViscuitやSpringin’を作ったんです。コンピュータの面白いところだけ残して、面倒くさいところは全部取り去った。これはプログラミングツールに限らず、あらゆるコンピュータツールがそのように進化しています。
大事なことはそのような面倒くさいところを一番得意とするのがコンピュータだってことなんですよ。今のプログラミング教育の間違いはコンピュータと戦おうとしていること。コンピュータが得意なところを人間が得意になろうとしてどうするんですか?
小学校でのプログラミング教育は職業プログラミングを教えることはありません。例えばカレーを作るには香辛料から作る必要はなくて、ルーから作ればいいでしょう。これくらいだったらみんながカレーを作れるようになる。ViscuitやSpringin’はプログラミングの世界のそういうツールです。
中村 :古いイメージに惑わされずに、プログラミングは何かを作る手段だと考えてほしいですね。プログラミングって複雑に感じるかもしれませんが、そのギミックは単純なしくみを組み合わせることなんです。
そしてプログラミングを通じて学べることは、複雑なものを分解して考えられるようになること。プログラミング教育を学校に取り入れる意味は、その過程を通じて自分の得意なこと、あるいは苦手なことに気づくきっかけになることだと思っています。
現代のプログラミングってコードを書くことだけではありません。ロジックを考えることはもちろん、キャラクターを描いたり、音を作ったりすることも含まれます。そしてそのすべてを得意になる必要はないでしょう? 実際に社会はみんなの得意を組み合わせる分業で成り立っています。
プログラミングを「プログラミング」として教えるべきか
プログラミングはいわゆるコーディングだけではない。情報環境の進化に合わせた「生み出す力」のための手段であり、プログラミング教育の目指す姿もそこにある。しかし学校教育でプログラミングと言う言葉を使うべきか、具体的にはもっとラフに「ゲームを作ってみよう!」というような導入をすべきかという点には二人の意見が分かれた。
中村 :僕は実際にゲームを作ろうって言っていますね。授業やワークショップで、ゲームはやるより作るほうがおもしろいよっていう話をしています。そうすると自分でゲームを作ることはもちろん、そのゲームを友だちに見せたり、実際にやらせてみせることのほうが、人が作ったゲームをやることより面白いって思う子どもたちが出てくるんですよ。単に「プログラミングをやりなさい」というと、これまでの教科学習と同じ「何の役に立つんだよ」って反応になってしまう可能性があります。
原田 :私は逆ですね。プログラミングはプログラミングとして教えるべきです。なぜかというと、ゲームといった瞬間にプログラミングが学校教育から外されてしまうんですよ。家庭でも親が禁止してしまう。大事なのはプログラミングを学ぶことが重要で、それを学校で教えてもらっていることがありがたいことだということを大人に説得することです。子ども向けのアピールをそのままやっていては続かないということに気づいて、4年くらい前からこのように方針を変えました。本当はこんなふうには言いたくないんですけどね。
学校でのプログラミング教育を成功させる鍵は?
対談も終盤に差し掛かり、最後は今回のテーマである「指導者がプログラミング教育を成功させる鍵」の話題に。中村氏は「プログラミングを教えようとしないことだ」と述べ、その真意を次のように続けた。
中村 :現在は先生がプログラミングのすべてを理解して、それを子どもに教えるということになっています。でもこれって先生にとってすごく酷なことだと思うんですよ。僕ですらプログラミングのすべてを知っているわけではありません。
大切なのは教えることではなく、プログラミングを学べるツールや環境を整えてあげること。そうすれば子どもたちは楽しみながら自分で進んでいきます。そして子どもたちが困ったときは相談に乗って、一緒に考えながら支援してあげること。プログラミングに限らず、学べる環境をいかに整備できるかということが今後先生に求められるようになると思いますね。
原田 :日本では学校教育の内容が国民の最低限の能力を定めることになっています。つまり学校が最終的な日本人の能力の防波堤になっているということです。だからこそプログラミング教育は先生方が嫌々やるものではなく、先生方が「これはいいね!」と思った上で、一緒にやりましょうと思えるようなカリキュラムが必要です。
『ピッケのつくるえほん』というお話づくりのためのiPadアプリがあって、それを作っているクリエイターの朝倉民枝さんが「これからの子どもたちはコンピュータやインターネットと生涯つきあっていくだろうから、その最初の出会いを幸せなものにしたい」とインタビューでおっしゃっていました。僕もこれにすごく共感するんです。小学校でのプログラミング教育が子どもたちとコンピュータの幸せな出会いになってほしいですね。
プログラミングが好きでたまらない二人の開発者が作ったViscuitとSpringin’には、ともにプログラミング教育向けのカリキュラムも整備されている。両アプリとも無料で利用できるので、ぜひ使ってみてそれぞれの「違うところ」と「同じところ」を実際に体験してほしい。デジタルポケットとしくみデザインは引き続き「子どもたちとコンピュータの幸せな出会い」のために協力していくので、今後の活動にもぜひ注目していただきたい。