大石 芽吹

小学校からプログラミングを始め、プログラミング歴10年以上。電子工作の分野にも造詣があり、LEDや電子基板を活用したハードウェアも製作しています。
東京大学の学生としてコンピューターの仕組みを学びつつ、N Code Labo新宿教室ではUnityコースとPythonコースを担当され、優しく親しみやすい人柄で幅広い年齢層の生徒を指導しています。
プログラミング歴10年以上!
作りたいものがあると長続きする
プログラミングはどういった経緯で始めたのですか?
大石:小学生の時に友達からscratchのことを聞いて触り始めたのが最初です。そこからしばらくはscratchだけをやっていましたが、だんだんテキストコーディングをやってみたいと思うようになり、本屋さんでC言語の入門書を買って勉強を始めました。
C言語を独学で始められたんですね。苦労はなかったですか?
大石:プログラミングを始めるには、最初にパソコンの環境構築をする必要がありますが、そのやり方が分からなくて苦労しました。あとはエラーが出た時に、原因をどうやって調べたらいいのか分からず苦労したこともあります。プログラミング言語そのものというよりも、周辺事項が大変だったように思います。
独学ならではの悩みですよね
大石:そうですね。頑張って調べながら進めるのはもちろん力になりますが、そこで折れてしまう人もいると思います。そういう時はスクールに通うのも良いと思います。
大石さんはプログラミング歴が長いですが、長続きする秘訣を教えてください。
大石:僕の場合、プログラミングをする時はメリハリを付けて取り組んでいました。詰めてやっていた時はそのときどきで作りたいものがありましたね。昔は乱数を生成するプログラムを作り、最近はPythonを使って、自動車教習所の予約の空き状況を知らせてくれるプログラムを書いていました。1分ごとに自動で教習所の予約サイトをチェックして空きがあれば通知してくれるというプログラムです。
すごく実用的なプログラムですね
大石:とても便利でした。作りたいものや目標があれば長続きしやすいですし、身に付いていきやすいと思います。


受験でもプログラミングでも結果を出す
勉強とプログラミングの両立について
プログラミングと学業はどのように両立してきましたか?
大石:僕の場合は勉強とプログラミングが競合することはなかったように思います。勉強しなきゃいけないときは勉強して、余裕があればプログラミングをやるみたいな感じだったので。
ではプログラミングが学業に生きる場面はあると思いますか?
大石:例えばUnityには速度や加速度などの物理演算の要素も出てきます。そういうものに馴染みがあると、物理の力学分野も理解しやすくなると思います。その他にも、細かなコードを組み合わせて大きなプログラムを組んでいく過程はかなり脳のトレーニングになると思います。
プログラミングは英語で書きますし、調べ物をした時も英語のサイトに行き着きますが、英語力アップにも効果があると思いますか?
大石:英語力アップまでいくかは分かりませんが、英語に対する苦手意識はなくなるかもしれませんね。
大石さんは電子工作もされていますね?
大石:そうですね。LEDキューブといって、LEDを立体的に組み合わせていろいろなパターンで光らせるものを作ってきました。他にもライフゲーム(※1)をハードウエア的に処理するものを作りたいと思い、1つ1つのマス目を電子基板で置き換えて、その基板を大量に繋げてライフゲームをシミュレートできる回路を作ったりしてきました。今は自作パソコンに興味があって、3進数のコンピュータを作りたいという夢があります。
普通2進数ですよね。3進数にするメリットはありますか?
大石:単純に面白そうだなというのが大きいですが、どの自然数でコンピュータを作ると1番効率が良いのかという研究もあります。それによると自然対数の底(※2)に近ければ近いほど効率が良いという計算結果になるんです。
自然対数の底は2.7くらいですから、3進数の方が2進数より効率が良いかもしれないですね。
大石:理論上はそうなりますが、3進数で作るのは技術的に難しいので、3進数のコンピュータが今のコンピュータと置き換わることはないと思います。一種のロマン枠ですね。昔から原理の分からないものを見るとその中身を知りたくなるんです。今はコンピュータの原理を全部知りたいと思って研究しています。


N Code Laboの講師として。プログラミングの面白さを伝えたい
N Code Laboの講師になろうと思ったのはどうしてですか?
大石:もともと家庭教師をしていたのですが、プログラミングを教える仕事をしてみたいという気持ちが大きくなってきたからです。
講師として嬉しい瞬間を教えてください。
大石:生徒がなかなか分からなかった問題を理解してもらえた時が1番嬉しいですね。自分が教えて分かってくれたというのもありますし、単純にプログラミングが好きなので、プログラミングの楽しさを伝えられたという点で嬉しいなって思います。あとは実際に作ったプロジェクトが完成した時に達成感がありますね。
これからプログラミングを始めようと思っている子どもたちにアドバイスをお願いします。
大石:自分の頭の中にしかなかったものが、実際にパソコンの中で動くというのがプログラミングの面白さだと思っています。今だとAIがコードを書いてくれますが、そのコードが正しいかどうか判断できる能力は必要ですし、そもそもどんなプログラムを作りたいかというアイデアがないとAIにも指示を出せないので、そういう部分が今後人間の仕事になっていくと思います。こういう設計力みたいなものは、自分でコードを書いて練習しないと身に付かないものですので、どんどんコードを書いてほしいですね。
では最後に、N Code Laboを検討している方にメッセージをお願いします。
大石:プログラミングを続けるにはプログラミングをやっている友達を作ったり、コミュニティに入ったりするのがいいと思います。N Code Laboでは定期的に発表会も行っていてモチベーションも保ちやすいと思いますので、ぜひ体験授業・説明会にお越しください。
(※1)生命の誕生や死を計算機上でシミュレーションするゲーム。マスの中の点が生命を表し、 生命は過疎や過密によって死ぬようにプログラミングされている。適当な条件で繁殖するようにルールを設定することで、さまざまなパターンが生まれる。
(※2)ネイピア数(= 2.718281828459‥‥)eで表される。