こんにちは。
エンジニア兼芸人のカニササレアヤコです。
普段芸人として活動しながら、ロボットエンジニアとしてPepper君の開発に関わっています。
去年から小学校でプログラミングが必修化されたみたいですね。
私は成人してから独学で身に付けましたが、小学生がどんな風にプログラミングに取り組んでいるのかとても気になります。
そこで今回、小学生のプログラミングコンテスト『Tech Kids Grand Prix 2020』のファイナリスト3名にインタビューをしました!(全国から寄せられた2,189件の応募数の中からTOP10に選出された3名)
業界の先輩としてアドバイスをしようと思っていましたが、大人顔負けのプロ意識に圧倒されっぱなし! 天才キッズプログラマーの活躍をぜひご覧ください!
『Tech Kids Grand Prix(テックキッズグランプリ) 』は、『Tech Kids School 』が主催、
国内外の大手IT企業など21団体が賛同する、21世紀というこれからの時代を担っていくすべての小学生に向けたプログラミングコンテスト。
川口 明莉(かわぐち あかり)さん
愛知県在住、小学4年生。Tech Kids Grand Prix 2020 優勝。
水留 駿(みずとめ しゅん)さん
東京都在住、小学6年生。Tech Kids Grand Prix 2020ファイナリスト。
筈谷 将大(はずたに まさひろ)さん
和歌山県在住、小学6年生。Tech Kids Grand Prix 2020ファイナリスト。
カニササレアヤコさん
1994年埼玉県生まれ。ロボットエンジニアとしてPepper君のアプリ開発に携わりながら、芸人としても活躍。「R-1ぐらんぷり2018」ファイナリスト。https://twitter.com/Catfish_nama/
僕たち、私たち、キッズプログラマー
カニササレアヤコ(以下、カニササレ):今日はみんなとプログラミングの話ができることを楽しみにしていました。よろしくお願いします! まず、みんなはいつからプログラミングをやっているの?
川口 明莉さん(以下、川口さん):私は、7歳からプログラミングをやっています。友達がプログラミングのTV番組のことを教えてくれて、それを見たことがきっかけで、Scratch(ビジュアルを用いたプログラミング言語)でプログラミングを始めました。
水留 駿さん(以下、水留さん):僕は小学1年生の時からプログラミングをやっています。最初はScratchを使ってやっていたけれど、今はスマホアプリの開発をやっています。学校の友達にプログラミングが上手な子がいて、その子のようにうまくなりたいと思って始めました。
筈谷 将大さん(以下、筈谷さん):僕は、2年生ぐらいから始めました。図書館でScratchの本を見たことがきっかけです。
カニササレ:はやいっ!? 最初は難しくなかった?
川口さん:全部が初めてで何もわからなかったけれど、自分のアイデアをカタチにできてすごいおもしろかったし、できることも増えて楽しくなっていきました。
水留さん:最初はScratchのネコを動かすことから始めたのですが、やればやるほど高度なことができるようになっていって楽しくなっていきました。
筈谷さん:ちょっと難しそうだなって感じたけれど、慣れてくると楽しくなりました。
カニササレ:そのポジティブさ、見習わないと……
みんなはプログラミングのどんなところが楽しいって感じる?
川口さん:プログラミングは、考えているゲームやアプリがどんどん形になっていくことが楽しい! みんなに遊んでもらって、コメントとかgoodボタンをもらえることが面白いです。
水留さん:僕が楽しいと思うのは、アプリストアとかになくても、自分で「こういうことをしてみたい」って思ったものを作れるところです。
筈谷さん:僕は、自分のアイデアを思い通りに作ったり、動かしたりできるところ。あとエラーが出た時試行錯誤して、いろいろ試すのも楽しいです。
エラーと向き合うキッズたち
カニササレ:そうそう、自分が思いついたことをイチから作れるのは醍醐味だよね。みんなはこれまでプログラミングをやってきて、自分が上達したり成長したなぁって感じる瞬間はある?
川口さん:去年までは、ずっとScratchを使っていて、テキストプログラミングに挑戦したことはなかったんです。でも、2019年のテックキッズグランプリで私と同じ小学生のみんながテキストプログラミングを使っていて、すごいなぁって思って、私も本を読んで、Unity(3Dゲームなどを開発できる言語)に挑戦するようになりました。
カニササレ:ほんと、テキストプログラミングになると一気に難しくなるよね。やっていて嫌になったりしないの?
川口さん:最初はどうやって勉強したら良いかわからなかったけれど、お父さんとか友達に聞いてみて、ちょっとずつ理解できるようになりました。Scratchと違ってエラーが出たりするけれど、直せた時は嬉しいし、3Dを使えたり、できることが増えて楽しいです。
水留さん:僕は、今までプログラミングのコンテストに出ることはなくて、成果が見えることがなかったんです。でもテックキッズグランプリに応募して全国TOP10に選ばれたり、嬉しいことが重なって、もっと自分のプログラミング力をあげたいなって思いました。
カニササレ:いやー、その前向きさがほしい……
難しいところはないの?
水留さん:エラーが出てくるところが大変で、出ないようにするにはどうしたらいいか悩みます。それでも出だ場合には、エラーが何を言いたいのか読み取って、どこを直すべきが探っていきます。
筈谷さん:僕もUnityを使うようになって、テキストを大文字小文字を間違えなく入力しなければいけなくなって、エラーがよく出ることもありました。プログラミングを難しいなって感じるようになったけれど、エラーを見ていろいろ試すようになって上達してきたように感じます。
カニササレ:わかる! 私もテキストプログラミングを始めた頃はエラーがある度になんでだろうってずっと考えてたなぁ。
筈谷さん:エラーメッセージは英語で出てくるので、メッセージが何を意味しているのかを調べないと直せないので、とっても難しいです。
カニササレ:おぉ……プログラミングはエラーとの戦いの連続だし、根気強くやり抜くのはえらい!
キッズプログラマーの日常
カニササレ:ところで、みんなは普段どれぐらいプログラミングをやっているの?
川口さん:平日は、朝に1時間ぐらい、休日は1時間ぐらいやっています。いいアイデアが思い付くと、すぐにやりたくなっちゃいます。
カニササレ:プログラミングのことはいつも考えているの?
川口さん:プログラミングは、まずどういう作品を作るかっていうのが大切なので、ずっと作品のことを考えています。学校でも完成した作品の想像をして、ワクワクしながら考えています。あと、ランニングをしているとパッとアイデアが思い付くこともあります。
カニササレ:ストイックだなぁ、小学生とは思えない。でもアイデアが思い浮かばないことはない?
川口さん:学校の友達からこういうゲームをやってみたいって言われたのを参考にしたり、あと弟は大のゲーム好きで、いろんなゲームを誰よりもたくさんやっているので、いろんなアイデアを出してくれます。
カニササレ:おぉ……しっかりとマーケティングしている……
水留さん:僕は、休日は土日合わせて3時間ぐらいやっていて、平日はプログラミングをほとんどせず、どういうゲームやアプリを作ったら良いか、アイデアを考えています。
カニササレ:そうそう、ほんとアイデアありきだもんね。アイデアが浮かばない時はない?
水留さん:他のアプリを見ながら、こんな機能を付けてみたらおもしろいんじゃないかって考えたりします。自分の好きなゲーム、便利なアプリを使ってみて、ここがおもしろいから流行っているんじゃないかって参考にしています。
筈谷さん:僕は、長い時間プログラミングをやる日もあれば、まったくやらない時もあります。アイデアが思いつかない時は本を読んだり、他のゲーム・アプリを考えてみます。
カニササレ:リサーチもマーケティングもアイデア出しとか、会社でアプリを作るのと変わらないことやっているなぁ。みんな、今はどんなPCを使っているの?
川口さん:WindowsとMacを使っています。どういうアプリにするか、作るものによってパソコンを使い分けています。
水留さん:Mac bookを使っています。僕はiPhoneアプリの開発をしているのでXcode(appleのアプリ開発ツール)という開発環境と、Windows対応のUnityの両方が使えるこの機種を使っています。
筈谷さん:僕もMacを使っています。 UnityでiPhoneのアプリをビルドする時って、Xcodeを使わないといけないので。
カニササレ:え!? Unityでビルドするって……
もう大人と変わらないなぁ。
小学生がこんなもの作ってみました!
カニササレ:ここからはみんながコンテストに出品した作品のことを聞いていきますね。まず、川口さんのSDGsをテーマにしたこのアプリはどういうきっかけで生まれたの?
川口さん:この作品を作ったきっかけは学校でSDGsのことを習ったり、マークを集めるゲームをしたことです。ベルマークなどの身近にあるマークがSDGsと関わりがあることを知り、組み合わせることでSDGsを知るきっかけになればと思い作りました。いろんな本を読んでいるうちに、SDGsはみんなでやることが大切なんだなって思って私にできることを探して、休みの1カ月間で作りました。
カニササレ:すごっ!! SDGsを自分ごととして考えて、アプリを作るなんて……これ機械学習を取り入れているみたいだけれど、どうやってやったの?
川口さん:最初はAIのことを知らなかったけれど、YouTubeの動画で『Teachable Machine 』を使えば機械学習ができることを知り、参考にやってみました。
※Teachable Machine…AI(人工知能)の機械学習ツール。プログラミングをしなくても、画像や音声、身体の姿勢(ポーズ)などを学習させてそれらを判別するモデルを作成できる。
カニササレ:なるほど、AIを使いこなしていることにびっくり! こだわったポイントは?
川口さん:キャラクターデザインや喋る言葉を工夫したり、セーブとロードで続きから楽しめるようにして、みんなにやってもらえるよう工夫しました。
カニササレ:いろんなキャラクターで多様性を表現しているよね。どんなところが苦労したの?
川口さん:画像認識が大変でした。初めは、同じ写真を何枚も撮ってやっていたけれど、AIが感知してくれなくて……でも、いろんな角度で撮ってみたらうまく行きました。あと、機械学習は認識率っていう変数を持たせていて、認識率が高いとマークをうまく判定してくれないけれど、低いと他のマークと区別が付かなくなってしまうのでそのバランスの調整が難しかったです。
カニササレ:すごいな!! でも、機械学習って認識をさせて学習させていく“素材”も重要になってくると思うんだけど……その素材はどうやって用意したの?
川口さん:素材は、スマホで調べていろんなマークを取り込んだり、自分の身の回りで集めて撮ったりしました。アプリのイラストは『イッツ・ア・スモールワールド』という本があって、その絵を参考に自分で描きました。
カニササレ:え、自分で描いたの? あれはプロが描いたものかと思ってた……絵を描いたり、デザインすることも好きなの?
川口さん:最初は、Scratchにあるキャラクターを使っていたけれど、自分で絵を描いて動かせることを知って、もっとプログラミングが楽しくなりました。最近はBlender(3DCGアニメーションを作成するためのアプリケーション)を使って3Dの絵にも挑戦しています。
カニササレ:自分の思い通りなものになったり、自由なものができるようになるよね。コンテストに参加するときはプレゼンテーションの練習もしたの?
川口さん:1日に何回も練習をして、お父さんに審査員役になってもらって質疑応答を繰り返したり。今までは緊張して人前で話すことが苦手だったけれど、プレゼンの練習をすることでうまく話せるようになってきて、自分のためになりました。あと、みんなに伝わりやすいように問いかける話し方にしたり、普段プレゼンテーションを聞かないおじいちゃん、おばあちゃんに聞いてもらったりもしました。
カニササレ:プレゼンテーションがストーリー仕立てでおもしろかった。この作品を作ってどんな力が付いた?
川口さん:機械学習に取り組むのは初めてだったので、新しいことに挑戦して、技術力があがったので自分のためになりました。
カニササレ:次は水留さん。
カニササレ:withコロナにおけるソーシャルディスタンスを取り入れたこのアプリを作ろうと思ったきっかけは?
水留さん:ニュースでソーシャルディスタンスって言われているけれど、具体的にどれぐらいの距離か分からなくて。簡単に可視化できたらわかりやすくて、距離を保ちやすくなるかなって思って作りました。新型コロナウイルスの感染拡大状況が一番大きくなった時に、約1カ月ぐらいで作りました。
カニササレ:もう、ビジネスするのと変わらないぐらいのスピード感!! このアプリを作るときに参考にしたものはある?
水留さん:他のアプリを見ていたときに、自分の背を測るっていうARアプリがあったんです。これは何かに使えるんじゃないかって参考にしました。
カニササレ:背を計る機能を応用!? すばらしい! こだわったところは?
水留さん:XCodeで3D対応のアプリを作れることは知らなくて、ARを使うことで3Dにできました。あと、オブジェクトの色などもこだわりました。
※AR…実在する風景にバーチャルの視覚情報を重ねて表示することで、目の前にある世界を仮想的に拡張すること。
カニササレ:なるほど、難しかったところは?
水留さん:距離を計ることが難しかったです。最初は正しい距離が表示されなかったんですが、解決方法をWebで調べて試したら、正確になっていきました。
カニササレ:いやー、解決方法を探っていくって簡単なようで難しいんだよね。水留さんもプレゼンデーションはたくさん練習したの?
水留さん:毎日数回の練習をすること、質疑応答を書き出してやっていました。その時、できるだけはっきり喋ろうってことは意識しました。
カニササレ:そう、やっぱりエンジニアは、人に伝える力も大切で。作ったものをアピールできなければ伝わらないし、説明できれば、より広がっていくもんね。このアプリを作って自分が成長したなって感じるところはある?
水留さん:ARが使えるようになりました!
カニササレ:おぉ! ARが使える小学生って……
今コロナ状況下ではいろんなアプリが注目されているけれど、水留さんは世の中にあるアプリをどう思う?
水留さん:オンラインの位置情報で、密を避ける仕組みが作れたらなぁって思います。あと、どれだけすごいアプリを作っても使ってくれる人がいなければ意味がないと思うんです。みんなが使ってくれた方がより早く収束にも繋がると思うんです。
カニササレ:まさにそう! でも使ってもらうところまで、なかなか考えがいかないんだよね。
カニササレ:最後は筈谷さん。
蚊をテーマにした作品で、私もカニササレアヤコなので勝手に親近感を感じていて。このアプリを作ったきっかけは?
筈谷さん:蚊を退治するアプリなんですが、僕はよく蚊に刺されることがあって、その時にこれをゲームにしたらおもしろいんじゃないかって思って作りました。前はScratchで作っていて、今回のコンテストではUnityで作ってスマホでできるようにしました。1カ月ぐらいで作りました。
カニササレ:そうそう、私も蚊に刺されやすいからわかる……蚊の絵は自分で描いたの?
筈谷さん:はい、Blenderで描きました。Webや本で実物の写真を見て参考にしました。
カニササレ:蚊が羽ばたく瞬間とか、落ちる瞬間が、可愛らしさがすごくいいなって! 作る上で参考にしたものは?
筈谷さん:UnityとかBlenderの本とか。
カニササレ:え、これ大人でも読みきれない本だよ……
こだわったところは?
筈谷さん:画面がきれいに見えるようにしたり、ライトの明るさが自然になるよう調節しました。あとルールをシンプルにして、すぐにプレイできるようにしました。
カニササレ:いやー、ユーザビリティをしっかり考えている! 苦労したところは?
筈谷さん:蚊の移動の動きを、iPhoneの傾きで反応するようにプログラムを書くのに苦労しました。あと、このアプリをアップストアにリリースしていて、その文章を考えるのも大変でした。(リリースされた作品はこちら)
カニササレ:ほんと蚊が近づいたり遠のいたりする表現がすごいなって思ってた。しかも、アプリをリリースしてるなんて! プレゼンテーションでは、どんな練習をしたの?
筈谷さん:プレゼンのスライドを何度も確認したり、説明文の表現もわかりやすくなるよう意識しました。声を大きくして、特に、重要な点は強調するように言い方を気をつけました。
カニササレ:(私も見習わなきゃ……)このアプリを作ってどんな力がついた?
筈谷さん:イラストやプログラム、ライティングの調整など、いろんなことに挑戦して、効率よく作れるようになりました。
プログラミングでこんな世界をつくりたい!
カニササレ:みんなは今後どんなことをやっていきたい?
川口さん:私は『マークみっけ for SDGs』に、マークを追加できる機能を付けたりして、みんなが遊びやすいようにし、アプリ化することを考えています。 そして、将来はプログラミングを駆使した小児科医になりたいです! 未来をつくる子供たちを助けてあげたいし、みんなに感謝される仕事をしたいです!
水留さん:僕はまだあまり人と繋がれるものを作ったことがないので、ネットを使って他の人と繋がるアプリを作ってみたいです!将来は、自分でプログラミング関係の会社をやりたいです。
筈谷さん:僕は今まで挑戦したことがないゲームやみんなの役に立つアプリを作っていきたいです。将来は好きなことがしたいし、人が楽しむもの・役に立つものを作りたいです。
カニササレ:世界がこんな風になっていったらいいなって思うことある?
川口さん:SDGsの目標は2030年までのものですが、学校のみんなはまだ知らないことが多くて、SDGsは1人でできることだけれど、世界にも繋がることなので、1人1人の力で世界が変わっていったらいいなって思います。あと、プログラミングは私には身近にあるけれど、周りは知らない友達が多くて、みんなが当たり前にやっている時代がきてほしいです!
水留さん:プログラミングとかアプリとかを作る人はまだまだ少ないので、やりたいアプリやゲームがなかったらまず自分で作ってみるっていう世界になったらおもしろいと思います!
カニササレ:たしかに自分で作ろうって思う人は少ないよね。
筈谷さん:いろんなアプリが進化して便利になってほしいです。プログラミングがもっと普及して誰でも使えるような世界になってほしいです!
カニササレ:みんなが使えると、技術も進化して、より楽しい世界になっていくよね。今日はとっても良い刺激になりました。みんな、ありがとうざいました!
取材を終えて、現役エンジニアが感じたこと
みんな社会のことも考えていて、未来が明るいなって思いました。社会問題を自分ごととして取り組む川口さん、別のアプリの機能を応用して自分のアプリを作る水留さん、楽しいものを作りたいというまっすぐな気持ちを高いレベルで表現する筈谷さん、それぞれが自分のやり方でプログラミングに取り組んでいる姿勢にただただ驚きました。
プログラミングをするにも、ちゃんとリサーチして、周りの人に聞いてマーケティングをして、どうやって使ってもらうかを考えて開発しているのは現役エンジニアと変わらないですね。プログラミングをやっていると、作ることだけにハマってしまって、使う人のことまで考えられないエンジニアも多い中で、先を考えているのは本当にすごいです!
私も、みんなに追い抜かれないように頑張ります!!
取材協力:Tech Kids School
撮影:橋本 千尋