AtCoder Junior League 2023 ランキング上位校の強さの秘密に迫る(第1回:筑波大学附属駒場中・高等学校)
AtCoder株式会社(以下AtCoder)のコミュニティリーダー、kaede2020(以下かえで)です。コミュニティの運営もやっています。この連載では弊社代表取締役社長の高橋直大(以下直大)と私がAtCoder Junior League 2023(以下AJL)に参加しているランキング上位校の中高生に会いに行き、AJLや競技プログラミングにどのように取り組んでいるかを伺い、その様子をみなさんにお伝えしていきたいと思います。
https://atcoder.jp/contests/ajl2023
AJLは、今年5月より始めたAtCoderが主催する中高生向けの学校対抗長期リーグ戦です。参加登録を行った中高生に対して、AtCoderのプログラミングコンテストの参加結果をスコアとして算出し、学校別、学年別にスコアを集計し、中学部門、高校部門のランキング上位20校および各学年上位20名を表彰予定です。参加登録は無料で、2023年9月現在、全国41の都道府県の234校の中高生、約800名が参加してくれています。
私がAJLの構想を直大から伝えられたのは半年ほど前のことでした。まだ入社したばかりの私でしたが、入社する前からAtCoderで開催されるプログラミングコンテストを主として、4年近く競技プログラミングを続けていました。
「AtCoderのことをもっと早く知りたかった。」「AtCoderでがんばっていることを学校の先生に評価してもらえない。」入社前にもそのような参加者の声を聞くことがありましたので、AtCoderのことを多くの中高生に知ってもらうためにもぜひ実現したいと思いました。
AtCoderではコンテストへの参加も、解説や解説放送を見ることも全て無料です。コンテストに参加したときのドキドキ感、問題が解けたときの楽しさ、コミュニティの参加者どうしで切磋琢磨すること、それら全てを伝えていければと思っています。
AtCoderの登録者数は全世界で50万人を突破し、その頂点には世界ランカーが集います。「裾野が広がればトップ層がより厚くなる」、それが私の考えです。多くの人にAtCoderのことを知ってもらい参加者が増えること、それにより世界のトップレベルで戦える競技者がさらに増えていくことを願っています。
第1回はAJL2023の中学部門では現在暫定2位、高校部門では現在暫定トップである筑波大学附属駒場中・高等学校のパーソナルコンピュータ研究部(以下パ研)所属の部員11名、および顧問の渡邉先生、須藤先生に会いに行き、お話を伺いました。
部室として使われている技術室奥は出入り自由なコミュニティスペース
かえで:
パ研の現在の部員数を教えてください。
パ研部長の高1関口さん:
あんまり正確に把握していないところがあるのですが、大体中高合わせて40人くらいです。中学生と高校生、ちょうど半々ぐらいです。
かえで:
活動内容について教えてもらえますか。
関口さん:
基本的にはみんなが決まった曜日にここで活動しようみたいなものはなくて、平日の放課後に来たい人が来て、そこの技術室奥で作業とか活動しています。あとはオンラインで夜、いろいろな問題を解いたり、自分の好きなパソコンの色々をしています。だから放課後ここに来るのは6、7人くらいです。競プロをやっている人は家に帰ってからやるって人が多いですね。ここのパソコンは自分の環境じゃないっていうのもありますし、性能もそんなに良くないので。どちらかというとパ研は家での活動が大きめで、部室はコミュニティみたいなイメージです。そこに集まって、みんなでワイワイするみたいな感じです。
入部して最初に取り組むのが競技プログラミング
かえで:
AtCoderを知ったきっかけを教えてください。
中学部長の中3筧さん:
パ研に行ったときに、先輩たちにまずは競プロ、AtCoderっていうのを調べてやってみてって言われました。パ研では中1のうちは競技プログラミングでプログラミングに慣れることをすすめています。その上で中2になったら、たとえばCTFとかゲームの開発とか興味のある方面にいくという流れなのだと思いますが、大体は中2になってからもずっと競技プログラミングを続けている人が多数なので、パ研にいる人はほとんど競技プログラミングをやっています。
かえで:
AtCoderに参加することに対して抵抗はなかったのでしょうか。
筧さん:
小学生の時ほとんど受験勉強しかしていなかったので、例えばテニス部とか野球部とか卓球部とか色々とあって、どこに入ったとしても新しいものに触れなきゃいけないわけじゃないですか。AtCoderもそのうちのひとつだと思っていて、じゃあ1回頑張ってやってみてもいいかなって気持ちになってやりました。
かえで:
どのように始めたのでしょうか。
筧さん:
バーチャルコンテストを立ててA問題、B問題を解いてもらうということもやったんですけど、ある程度理解しておかないと解けないので、今は中1生にはAPG4b※を各自進めてもらっています。
※AtCoderで用意している『C++入門 AtCoder Programming Guide for beginners』のこと。
高1小熊さん:
自分たちの代は二つ上が72期なんですけど、問題リストを作ってもらいました。アルゴリズムについて例題を二つぐらいと、そのアルゴリズムについて先輩が教えてくれたのでよかったです。
関口さん:
バーチャルコンテストもほぼ毎日やっていました。そのときはオンラインで学校が休校だったので正直暇で。
競技プログラミングの目標は全員一致でIOI
直大:
競技プログラミングでいちばん目標としているものは何ですか。
パ研部員全員:
「僕はIOIです。」「僕もIOIです。」
部員のみなさんの頷く顔が見えました。私が「IOIを目標にしている人」とたずねると、全員の手が挙がりました。IOIは国際情報オリンピックのことで、JOI(日本情報オリンピック)の本選で日本代表選手候補として選ばれた上、さらに春合宿で好成績を修めて上位4名に入る必要があります。今日来てくださった部員の方たちの目標の高さが伺えます。
その次の目標としてはAtCoderのレッドコーダーを挙げる人が多くいました。AtCoderで開催しているプログラミングコンテストに参加すると、結果に応じてレートが付与されます。レッドコーダーはその最上位の色です。そこに到達するのは難しく、参加登録者が50万人を超えた今でも200名ほどしかいません。
また、「将来はIT関係の仕事に就きたいか」とたずねたときも多数の手が挙がり、中高生のうちからしっかりとした考えを持っていることを感じさせてくれました。
競技プログラミングのために授業でまだ習っていない分野の数学も自分で勉強するという姿勢
かえで:
競技プログラミングが勉強に役立つことはありますか。
中2井上さん:
数学を学ぶモチベーションになります。
かえで:
数学の勉強が進んでいないからAtCoderの問題が解けなかったということがありますか。
パ研部員:
「あります」と頷く声があちらこちらから聞こえてきました。
関口さん:
僕は中3のときに黄色だったのにABCのD問題の三角関数が全く解けないときがありました。
高1吉田さん:
当時わからなかったけど調べてわかったという記憶があります。なんとなくわからなくてもやっていくうちに数学の知識もついてくるので、競プロをやりながら学んだところがあります。
副部長の高1太田さん:
高校範囲も超えて行列の話とか難しい数学の話も出てくるんだけど、そこは自分で学ぶしかない。競プロの記事を見ながらやりました。
全ては生徒の自主性に任せている。顧問の役割は要所で組織を維持すること。
かえで:
顧問の先生はどのようなことをしているのでしょうか。
渡邉先生:
学校の風土もあるんですけど、彼らの自主性が全てです。今回の話を受けて、何か語れることがあるかなって考えてみたんですけど、基本ないんです。唯一言えるとすれば、部活なので要所要所で組織としての動きが生じていて、そこだけは顧問が必要な時があります。そこがひとつの存在価値だなって思っています。彼らの能力はどの学年をとっても高いんで、やりたいことを尊重しているといった感じです。
かえで:
参加を勧めるといったこともしていないのでしょうか。
渡邉先生:
すごいシンプルなんですけど、うちの学校の部活動への参加は、自由意志なんです。張り紙をそこに貼っているだけ。貼ってある情報を自分の考えで判断し、やるかやらないかを決めている。教師側もそのことを大事にしています。
人の出会いの場が大事。だから競技プログラミングも知ることができる。
かえで:
学校側がどの程度支援する必要があるのでしょうか。
須藤先生:
やっぱり人の出会いの場がいちばん大事ですよね。部活としてこうやって枠があるっていうのがとても大事です。私達は何も教員として支援していることはないけれども、パ研がなかったら競プロに出合わなかった層が一定層必ずいて、それが何かのきっかけで集まってくるのがすごく大事なことだと思うんですよね。そして、謎の隔年現象があり、2個上、3個上の先輩のインパクトというのを私はすごく感じています。この効果がすごく大きいと思っています。
吉田さん:
中3が中1を教えるとか、高1が中1を教えるとかそういう構図が結構あります。
渡邉先生:
部活はすごく大事な存在です。やりたいって人が一定数いる以上はすごく大事。場所もたかだかあのスペースなんですけど、好んで来ているんですよね。
かえで:
以上でインタビューを終了したいと思います。本日は貴重なお話を伺うことができ、とてもうれしく思いました。パ研部員のみなさん、渡邉先生、須藤先生、本日はインタビューにご協力くださり、どうもありがとうございました!
インタビューを終えて
インタビュー終了後には技術室奥の部室前で全員で記念撮影を行いました。終始笑顔が絶えず、楽しい時間でした。こちらに掲載した内容以外にも4ビットコンピュータを用いた授業の話やAtCoderへの要望など、たくさんの質問を伺いました。そちらに関しては改めてコーポレートサイトに掲載します。
(写真向かって左より前列渡邉先生、大谷さん、井上さん、永重さん、kaede2020、筧さん、小田さん。後列向かって左より鈴木さん、小熊さん、太田さん、吉田さん、高橋直大、林さん、関口さん、須藤先生。)
お話を伺って印象に残ったのは、渡邉先生の自主性を重んじているという言葉でした。
中学受験を乗り越えて入学した生徒のみなさんは、小学生のときは地元では抜きん出て勉強のできるお子さんだったことでしょう。ところが入学すると自分以上にできる人間が大勢いることに気がつき、「勉強ができる自分」がただの「自分」になってしまうのだと思います。そこからまた新しいものに触れて、自分探しを始めることは過酷にも見えますが、それを見守る先生方の姿があり、十分な環境があることを感じました。中学1年生のときから、得意な勉強以外にさらに自分が熱中できる何かを探し始めることが、彼らの強さのひとつなのかもしれません。
AtCoderのコンテストで習っていない三角関数を使う問題が出てきて困ったと言いながらも、「自分で勉強した」と特に特別なことでも何でもないように答えが返ってきたことに初めは戸惑いを覚えました。しかし考えてみれば学校が教えてくれるまで待つ必要はありません。コンテストに参加しながら成長していく中高生の姿を頼もしく感じました。
(文:コミュニティリーダー・AJL運営担当:kaede2020)
行動者ストーリー詳細へ
PR TIMES STORYトップへ