プログラミングに向いているのはどんな子?
前回は、一般にプログラミングで大切といわれる「論理的思考」が、実際にソフトウェアを作るときにはあまり重要ではないと書きました。どんな人がプログラミングに向くか? についても少し誤解されている部分があると思います。
ひょっとしたら、学校のプログラミングの授業では、これから述べるような結論にはならいのかもしれません。元グーグル会長のエリック・シュット氏も、テック企業で重要な人材について大きな間違いを犯したと書いています。グーグルは、優秀で感じのいい「潤滑油」のような人物、課題を分析して解決に導く優等生タイプを採用し続けた。ところが、何年かしてみるとその基準で採用した人材はたいして成果を出していなかった。
これについては、今回、私がこのコラムで紹介したいと思っていたことが、その答えを知るとてもよい題材になっていると思います。
太陽系シミュレーションゲーム
2月28日、私が実行委員会のメンバーとして関わっている《第5回 全国小中学生プログラミング大会》の最終審査会と表彰式が行われました。785作品という過去最高の応募作品の中から一次・二次選考を勝ち抜いた11作品について作者である小中学生がオラインで参加。プレゼンテーションと審査員との質疑応答をへて、グランプリ・総務大臣賞ほかが選ばれました。
グランプリ・総務大臣賞を受賞したのは、東京都小平市立小平第二小学校5年生、尾崎玄羽さんの「太陽系シミュレーションゲーム」でした。起動エレベーターから宇宙船に移って太陽系を旅するゲーム仕立てのシミュレータです。私たちのコンテストでは、応募時にもアピールポイントを聞いています。このゲームに関して言えば、太陽系の惑星、それぞれの衛星、彗星などの1つ1つが、その半径や、自転・公転スピード、引力などを実際の数値にしたことだそうです。

第5回 全国小中学生プログラミング大会のグランプリ・総務大臣賞となった尾崎玄羽くん(小5)の「太陽系シミュレーター」。

同大会の審査基準である「発想力」「表現力」「技術力」のどれを取ってもバランスのとれた作品だった。審査員から「癒される」というコメントも出ていた。
うまく宇宙船をあやつれば、たとえば月の周回軌道にのることもできるそうです。天体や宇宙船の絵柄や動きが美しく、またフワリとした宇宙空間ならではの感覚が楽しめます。審査員の「プレイした人がなにを勉強したり気づいてほしいですか?」という質問に、尾崎くんは「星々の遠さです」と答えていました。これには、見ていた関係者も少し息をのむような雰囲気がありました。やった人にしかわからないシミュレーションそのものといえるものです。たぶん今までの理科の授業では教えられてなかった。
もちろん、引力や加速度などの計算式はプログラムの中には組み込まれているはずです。小学5年生で、三角関数や継承の概念まで利用したというのはなかなか凄いことなのだと思います。そこは苦労したと思います。しかし、彼のアピールポイントはその計算式をプログラミングにした、そのためにIF-THENやWHILEといった論理構造を書いたことではかならずしもない。やはり、実際の天体の大きさや動きを再現したことがいちばん大きいのだと思います。
Color Overlap
準グランプリは、東京都杉並区立東原中学校1年生、宇枝礼央さんで「Color Overlap」という作品でした。光の三原色である「RGB」(R=Red、G=Green、B=Blue)の3つを重ねて合わせて白にして消していくパズルゲーム。いちどScratchで作ったものを新たにストーリーをつけるなど内容も一新してUnityで作りなおしたとのこと。ちょうど市販のソフトウェアが大幅にバージョンアップして、新たに登場したような感じではないでしょうか? いかにもこだわりぬいた、深みのある絵本のようなグラフィックや家の中の音などを加工して作ったというサウンドが印象的でした。

準グランプリとなった宇枝礼央くん(中1)のプレゼン画面より。Scratchでいちど作ったゲームをUnityで大幅バージョンアップ。これからプログラミングを学ぶ人の参考になるやり方かもしれない。

マルチメディア的な部分もすべて自分で作り込んだプロデュース的要素も強い作品。
その他の受賞作品
グランプリ、準グランプリのほかに、優秀賞として、中学校部門、小学校低学年・高学年部門の3つが授与されました。この中で、小学校高学年部門は、滋賀県守山市立速野小学校6年生、越智晃瑛さん「点体望遠鏡(てんたいぼうえんきょう)」でした。
これは、入力した文を《点字》に翻訳、3Dプリンターへの出力などができるソフト。越智くんは2年前の第3回大会でも《点字》を題材に準グランプリを獲得しています。3年間、点字の研究をしてきたのでしょうか? 彼は、いま日本でいちばん点字にくわしい日本人の1人かもしれません。企業や関係団体にも相談。実際に視覚障碍者に納得してもらえるところまでこぎつけたそうです。

優秀賞・中学生部門を受賞した水谷俊介くん(中1)のプレゼンの様子。作品の「Birds AI ぴーちゃん」は、AIを活用した自転車を安全に乗るための注意を喚起するアプリ。

道路標識や危険個所を2032枚のデータを学習させ、実際に自転車に取り付けて実験した映像もみせてくれた。全国小中学生プログラミング大会のエリアパートナーである信州未来アプリコンテスト0(ZERO)からの作品。
プログラミングに向いている人
表彰式後の総評で、実行委員長の河口洋一郎(東京大学名誉教授、アーティスト)さんは、「純粋に作品を作ることに没頭したことでおもしろい作品が出てきた。プログラミング作品にとりくむことで、努力したらそれが実を結ぶということをみんなが会得していることが伝わってきた。そういうところからこそ、すばらしい作品が出てきている」とコメント。
ほぼ同じことを、主催者でもあるNPO法人CANVAS代表の石戸奈々子さんも述べられました。時間をかけて改良をかさねた作品が、受賞につながったことがすばらしい。
大会実行委員長の稲見昌彦(東京大学 先端科学技術研究センター教授)さんは、「アラン・ケイという人が《コンピューターはアイデアを奏でる楽器だ》と言ったそうです。楽器は遊びと同じで英語では《プレイ》。プレイとは、内側からやってみたいという気持ち。人に言われてやるのは仕事で《プレイ》ではない。この気持ちを忘れず、ここからスタートだと思ってがんばってください」と子どもたちにエールを送っていました。
これら講評いただいた言葉が、ほとんどそのままプログラミングで必要なことはなにか? プログラミングに向く人とはどんな人か、という問いに対する答えになっていた気がします。
つまり、自分の興味テーマにとことんこだわって努力を惜しまない人。それのために、自分で自ら作りたいと思う《プレイ》する気持ちがあること。そして、その気持ちの中でもいちばん大切なのは、グランプリの尾崎くんが受賞後に「いろいろな人の役に立てるプログラムを作っていきたいと思います」と言っていたそのことではないでしょうか。だからこそ頑張れるし、自分からこんなことをやれたらと考えるのかもしれません。
グーグルの元会長ですら見誤ってしまった、どんな人がプログラミングに向く人、テック業界で成果を出せる人か。少なくとも、与えられた問題に対する「答え」を求めるというタイプの人ではないようです。