「Tech Kids Grand Prix 2020」決勝大会レポート~機械学習やアジャイル開発…小学生が開発したプロ顔負けのアプリを紹介

「Tech Kids Grand Prix 2020」決勝大会レポート~機械学習やアジャイル開発…小学生が開発したプロ顔負けのアプリを紹介

12月6日、東京・渋谷ストリームホールにて、「Tech Kids Grand Prix 2020(テックキッズグランプリ2020)」決勝大会が開催された。

「Tech Kids Grand Prix」は、小学生向けプログラミング教育事業を運営する株式会社CA Tech Kids主催の、小学生のためのプログラミングコンテスト。2018年から毎年開催され、今大会で3回目。

今大会は、前回大会の1.5倍を上回る2,189件の参加応募が全国各地より寄せられ、決勝大会では1次、2次、3次審査を通過して選出された10名の小学生たちが登壇。

ファイナリストである小学生たちが、コンピュータプログラミングを用いて開発されたオリジナル作品を、作品に込められたテーマとともに紹介するプレゼンテーションを披露した。

いずれの作品も高いプログラミングスキルと表現力を備えており、大会審査員をはじめ、多くの大人を驚愕させる作品を披露していた。

Tech Kids Grand Prixは、「21世紀を創るのは、君たちだ。」をスローガンに掲げ、全21の企業や団体が協賛。
株式会社Cygames、ヤフー株式会社、東急株式会社、一般財団法人LINEみらい財団、株式会社サイバーエージェントは、決勝大会の審査員も務めた。

決勝大会の結果やファイナリストたちのプレゼンは、上記プレスリリースやYouTubeでのアーカイブ動画からも確認できるので、ぜひチェックしてみてほしい。

当記事では、今大会トップ3を受賞した小学生たちの作品とプレゼンの模様を伝え、その高いプログラミングスキルと表現力について紹介したい。

重力と運動の楽しさを伝えるゲームアプリ「GRAVITY TRAVEL」

まず、第3位を受賞したのは齋藤之理(さいとう・ゆきまさ)さん、東京都の5年生。

右:齋藤之理(さいとう・ゆきまさ)さん。(左:審査員を務めた株式会社Cygames CTO室 Technical Director 永谷真澄氏)

第1回大会から3連続出場で、これまで素数を判定するゲーム「素数の世界」や、フラクタル図形を森に見立てて森の中を探検するゲーム「フラクタルの森」など、数学や科学をテーマにした作品を発表してきた。

今大会では、重力と運動をモチーフに、宇宙船を周回軌道に乗せるゲームアプリ「GRAVITY TRAVEL」(グラビティトラベル)を披露した。

イギリスの理論物理学者スティーヴン・ホーキングが生前発言した「人類はあと100年ほどの間に、宇宙に移住先となる星を見つける必要がある」という警告に従い、100年のタイムリミット(ゲーム内では400秒に設定)の内に、宇宙の星を調査して移住先を見つけるためのゲームだ。

高校レベルの物理の知識を応用したアプリ開発

ゲームのメイン画面

ゲームのメイン画面では、宇宙船の発射位置から星までの軌道を確認できる点線の予測線が表示される。
予測線は星からの万有引力(重力)により、宇宙船はまっすぐに進まないことがわかる。

操作はすべてマウスで行い、初速と角度を決めて発射ボタンを押したら、周回軌道に乗るように減速/加速をしていく。

ステージ2では目標の星以外にも星が現れ、星の重力により宇宙船の軌道がさらに曲がり難易度が上がる。

目標になる星の周りは、うっすらと白く光り、ここが目標ゾーンとなる。

この目標ゾーンに一定時間宇宙船を周回させられると、自動的に「周回軌道」に乗ったと判断され、星の調査が完了しステージクリアとなる。

「周回軌道」とは、ある天体を中心としてその周囲を回る軌道のことで、これを再現する「重力井戸」と呼ばれる図と数式がある。

ボールなど摩擦が起きにくいものを転がすとその軌道を描く「重力井戸」の図と数式。齋藤さんは博物館で「重力井戸」の模型を見て、重力井戸の動きを三次元で再現したいと思ったことがきっかけで、今回のアプリを開発した。

宇宙船は星からの万有引力を受けて、楕円や双曲線などの軌道を描き、初速は早ければ早いほど軌道は大きくなる特徴がある。

目標の星の周回軌道に乗せるには、まず「楕円軌道」で星に近づき、もっとも星に近づいた点で減速して「円軌道」に変更するのがコツで、ゲームはこのコツを利用すると攻略しやすくなるそうだ。

ゲーム攻略のカギとなる楕円軌道と円軌道。この楕円軌道と円軌道の応用は、本物の宇宙船でも採用されていて、今回の作品ではこの軌道の重要性が伝わるよう意識して開発したそうだ。

ステージは全部で4つあり、ステージごとに重力源が増えて(星の数が増えて)難易度が変わる。

ステージ2では二連星(2つの連なる星)が、ステージ3ではブラックホールと赤色巨星が、互いに重力で引き合いながら運動して、宇宙船の軌道を妨げる。

予測線を動かして、目標ゾーンに目掛けて、宇宙船を飛ばし、ゲームクリアを目指す。

ブラックホールは重力が強く、近づくとすぐに飲み込まれてしまう。

高い知識だけではなく、物理の楽しさを伝えるためのプログラミングスキルと表現力

齋藤さんはプレゼンで紹介した重力と運動に関する数式や図などについて解説しながらも、今回の作品では、そのような知識がない人にも物理の楽しさが伝わるように、わかりやすさを追求して開発したそうだ。

最後には「新型コロナウイルス感染拡大を防止しようと世界中の科学者、技術者が試行錯誤する姿を見て、自分も好きなこと、得意なことで社会に貢献できる道を探していきたいです」と将来の夢を語った。

齋藤さんは物理好きということだが、今回の作品には高校レベルの物理の知識が応用されており、齋藤さんは小学生とは思えないほど高い知識を習得しているのが伝わってきた。

ただ、物理の知識を披露するだけでなく、その物理の楽しさを知らない人にも伝わるようにゲームで表現したそのプログラミングスキルと発想力の豊かさを、審査員たちは評価していた。

高いアクセシビリティとユーザビリティを備えるコミュニケーションアプリ「ぶらっしゅとーく」

続いて、第2位を受賞したのは平川晴茄(ひらかわ・はるな)さん、宮崎県の6年生。

平川晴茄(ひらかわ・はるな)さん。宮崎県からリモートでプレゼンを行った。

作品は、人と人が楽しく会話するために開発した、チャットとビデオ通話ができるタブレット用Webアプリ「ぶらっしゅとーく」。

アプリの主要機能は「文字盤」「スタンプ」「ビデオ通話」の3つ。
「文字盤」「スタンプ」は、かつて祖父が脳梗塞により会話ができなくなり、当時幼かった平川さんはまだ字が読めずコミュニケーションがうまくできなかった経験が心残りで、文字が書けない小さな子でもコミュニケーションが取れるように、という思いから追加した。
「ビデオ通話」は新型コロナウイルス感染拡大の影響により会えなくなった祖母と顔を見て話がしたかったので、追加したそうだ。

身近で体験したコミュニケーションの困りごとを解決するため、アプリには高いアクセシビリティとユーザビリティに配慮した工夫が施されている。

UIにこだわったアプリ開発

「ぶらっしゅとーく」は、Webサイトやアプリのフロントエンド開発において多用される「Vue.js」で開発され、ビデオ通話の部分はWebRTC(クライアント同士のWebブラウザ間でも、P2P通信によりチャット、ビデオ通話、ファイル共有などを実装できるようにするOSSプロジェクト)を導入して開発した。

「ぶらっしゅとーく」の構成。Vue.jsはJavaScriptフレームワークの1種。

「文字盤」は、「ひらがな」ボタンを押して入力し、「読む」ボタンを押して、合成音声を読み上げることができる。
また「スタンプ」は、タップするとスタンプに書かれている文字を読み上げる。

「文字盤」では、向かい合って会話できるモードがある。
「スタンプ」内の文字を読み上げてくれるので、文字が書けない小さな子でも使えるように工夫されている。

「ビデオ通話」は、高齢でスマートフォンなどデジタル機器が使えない祖母でも、ひらがなの合言葉で電話をかけられる設定を施した。また話ができない人のためにも、文字盤を使いながらチャットをする機能も備えている。

「ビデオ通話」で離れた場所でも顔を向かい合わせて会話が楽しめる。

平川さんは「『ぶらっしゅとーく』は誰でも使えるようにするために、アクセシビリティとユーザビリティに配慮して開発しました」と語り、UIに施した工夫を解説した。

画面の色や文字ボタンの配置などに工夫を凝らして、ユーザビリティとアクセシビリティに配慮したUIになっている。

「ユーザーテストの実施」「アジャイル開発」プロ顔負けの開発手法

平川さんは開発時、1つの機能ができるたびにユーザーテストを繰り返し、いろいろな人から意見をもらい、使いやすい見た目になるように改善させた、という。

今回のアプリは、「PDCAサイクル」を意識して開発に取り組んだ。
またWebアプリは初めて作ったので、通信関連の技術なども含めていろいろなことを学習・検索しながら開発を進めていき、jQueryなど新しいフレームワークの知識も深められた。

1番苦労したチャットのコーディング。通信を接続する/接続される、文字を送る/文字を受け取るというイベントのコードが複雑で、平川さんはその仕組みを理解するためにjQueryについても勉強したという。

今回のアプリ開発では、「小さな機能を作り改善しながら大きな機能を作っていく手法」で開発を進めたが、アプリの完成後に、その手法が「アジャイル開発」であったと気付いたらしい。

審査員を務めたヤフー株式会社 SR推進統括本部 Yahoo!きっず企画 金澤亜矢子氏は「アジャイル開発はプロの現場でも使われている手法なので、それを小学生でできるというのはすばらしい」と評価した。

プレゼン後の質疑応答では、株式会社Cygames CTO室 Technical Director 永谷真澄氏から「WebRTCなど、通信に関する実装、コーディングが大変そうでしたが、技術的に難しいと感じたところと、どのように解決したのかについて、教えていただけますか?」という質問が投げかけられた。

平川さんはその質問に対して、「チャット部分の実装が難しかったです。とくに複雑に感じたのは、自分がボタンを押したら起こるイベントと、チャット・ビデオ通話の相手がボタン押したら起こるイベントのタイミングが違って、コードが順番通りに実行されないところでした。解決するために実際のコードの動きを調べて、図に描き起こしました。本来動かしたい動きとどう違うのかを比べて、jQueryなどの公式リファレンスを見ながら何度もコードを書き直しました」と回答した。

プロのITエンジニアと同じような段取りで、課題を見つけ改善を繰り返しながらアプリ開発を進めていたことがわかり、審査員たちは驚いていた。

機械学習モデルの画像認識機能を応用したマーク集めゲームアプリ「マークみっけ!for SDGs」

そして第1位、今大会のグランプリに輝いたのは、川口明莉(かわぐち・あかり)さん、愛知県の4年生。

身近にあるマークを機械学習(AI)による画像認識で識別してコレクションするタブレット用ゲームアプリ「マークみっけ!for SDGs」を披露した。

川口明莉(かわぐち・あかり)さん。前回大会では受賞を逃し悔しい思いをしたが、見事今大会で雪辱を果たした。

SDGsで提言されている社会課題や目標を楽しく学習する

この作品を作ったのは、学校でSDGsのことを習ったり、マーク集めゲームをしたりした経験がきっかけだ。

身近でよく見かけるマークがSDGsと関わりがあることを知り、マーク集めゲームと組み合わせることで、多くの人にSDGsを考えるきっかけになれば、という思いから開発した。

ゲームの舞台は、2030年の世界。
さまざまな問題で困っている子どもたちがトップ画面上に表示され、何で悩んでいるのか、子どもをタップすること確認できる。

タップした子どもは拡大表示され、悩んでいる様子が伝わる。子育てのことで悩んでいるようだ。

ゲームの流れはさまざまな困りごとを抱える子どもたちを助けるために、関連するSDGsのマークをカメラで撮影して集める、というものだ。

マタニティマークをカメラで撮影する。

アプリに備わった画像認識機能がマタニティマークを識別し、説明が表示されれば、子どもを助けることができる。

画像認識がうまくいき、画面上にマタニティマークの説明が表示される。

プレゼンではマタニティマーク以外に、ベルマークなど他のSDGsに関連したマークの認識の様子が紹介され、いずれも正確にマークを認識していた。

このゲームで認識できるマークは全45種類あり、カメラで認識できたマークが一覧表示され、SDGsの何の目標と関係しているのかがわかる。

認識したマークの一覧画面。アプリはロードとセーブの機能が付いているので、終わった後も続けてマークを集めることができる。

機械学習を活用したアプリ開発

この作品で1番苦労したところは、マークを正確に認識させるための機械学習モデルの画像認識機能の実装だったという。

Teachable Machine」(Googleが提供するコーディングなしでも機械学習モデルを簡単に作成できるツール)を利用して、Scratchに取り込んだが、最初は全然うまく認識してくれなかった。

原因は、学習させた画像が似たような画像ばかりで、認識の精度を高められなかったことだったそうだ。

Teachable Machineでの画像認識モデル実装の様子。同じエコマークでも、色や大きさ、角度の違う画像を取り替え試行錯誤を繰り返し、認識精度を高めていった。

実装を進めていく中で、川口さんが学んだ画像の認識率の高低によるメリット・デメリットもまとめられた。

画像の認識率によるメリット・デメリット。画像の認識には、1つのマークに何十個も画像を取り込む必要があり、とても時間もかかり大変だったという。

認識率が高いと、他のマークと間違えることは少なくなるものの、マークの認識に失敗しやすくなる。
反対に、認識率が低いとマークの認識は失敗しにくくなるものの、似た他のマークと間違いやすくなる。

川口さんが、精度の高い機械学習モデルを構築するためには大量の学習データが必要、という機械学習の基礎を知っていることも驚きだが、画像認識機能を向上させるための学習データを改善しながら用意していった開発姿勢も驚きである。

審査員の一般財団法人LINEみらい財団 企画室 福岡俊弘氏は、マークの画像認識機能を見て「まさか機械学習を使った作品が出るとは想像していなかった」と驚愕していた。

機械学習、そしてSDGs、昨今のトレンドを作品にうまく取り入れ表現した高い開発力、表現力は、グランプリも納得の出来栄えであった。

川口さんはプレゼンの最後に、「この作品を通して、SDGsの目標を意識する人が増えていけば、10年後の2030年には、みんな笑顔の持続可能な社会になっているといいなと思います」と語った。

小学生とは思えない高いプログラミングスキルと表現力

以上、Tech Kids Grand Prix 2020 決勝大会、第3位から第1位までの受賞者たちの作品とプレゼンの模様をお伝えした。

当記事で紹介した3人以外も、高いプログラミングスキルを披露し、プログラミングの技術レベルにおいては、決勝に登壇した10人にそれほどの優劣はなかったように思える。

ただ、受賞結果の発表後、審査員を代表して永谷氏は「表現したいテーマがしっかり作品に落とし込めているか、プレゼンでもそのテーマが伝わってくるか、という点においては差を感じた」と今大会の順位の決め手を説明した。

株式会社Cygames CTO室 Technical Director 永谷真澄氏

永谷氏は、イベントの最後に「今大会、作品を発表してくれた皆さんの作品それぞれに見どころやこだわりがあり、順位をつけることは大変難しかったです。皆さんが持つこだわりを大切にしながら、プログラミングに限らず、さまざまなことに挑戦してくれたらよいと思います」と語り、大会の幕は閉じた。

今大会で披露された作品の開発には、小学生向けのビジュアルプログラミング言語のScratchだけではなく、現役のITエンジニアも取り扱うフレームワークや昨今話題を呼ぶ機械学習ツールなどが活用され、小学生とは思えない高いクオリティの作品が多かった。

ただ、「小学生とは思えない」という考えも大人が無意識に抱いてしまう先入観であって、子どもにプログラミングスキルさえ伝授すれば、あとは子どもたちの意欲次第で、身近な課題を解決・改善させるためのハイクオリティな作品を開発してくれるのかもしれない。

高いプログラミングスキルを持つ子どもたちが次回のTech Kids Grand Prixで、どのような作品を披露してくれるか、来年が楽しみになる大会であった。

(Visited 237 times, 1 visits today)

Related Post

Other Articles by 酒井啓悟

「TechAcademyジュニア」による渋谷区立長谷戸小学校でのプログラミング特別授業レポート

12月15日、東京都の渋谷区立長谷戸小学校にて、キラメックス株式会社が運営する小中高校生向けプログラ…

ミクシィが数学科でプログラミングを応用する特別授業支援を実施~渋谷区鉢山中学校での開催事例レポート

12月8日、株式会社ミクシィ(以下、ミクシィ)は、東京都渋谷区の鉢山中学校の全学年で、数学科において…