xseeds学生の熱き戦い!プログラミング(コーディング)コンテスト開催

Xin chào các bạn(こんにちはみなさん)!Sun*教育事業部の大原です。
今回もご覧いただき、ありがとうございます!
先日Sun*のReserch & Development Unit(以下、R&D)が、xseedsの学生を対象にコーディングコンテストを開催し、当日ハノイオフィスで取材させていただきました!

  • コーディングコンテストって何?
  • どんな学生が参加したの?
  • 実際の決勝の様子は?
  • 開催の目的や運営メンバーの想いは?

上記のようなことをお届けしたいと思います!

コーディングコンテスト(プログラミングコンテスト)とは?

コーディングコンテストは「Competitive programming」や「競技プログラミング」としても知られているもので、参加者全員に同一の課題が出題され、与えられた要求に対してより早く正確にプログラムを記述することを競うものです。
コンテストの内容にもよりますが、例えばロジックや数学、アルゴリズムの知識とスキルが必要とされています。
最近だとプログラミングコンテストサイトのAtCoderなどを始め多数開催されており、一般的になっています。

Sun*のコーディングコンテスト

2016年に開催したコンテスト「CODE WAR 2016」

Sun*は2014年頃からコーディングコンテストを実施しています。当時、隔週土曜日は出勤日となっており、その時に働いていた60~70名のスタッフにとってスキルアップのためにそれぞれ学習する日でした。その時に、同僚と競い合うことで目標を持ってスキルを習得することや、より楽しく学ぶこと、自分が今後学ぶべき課題を見つけることなどを目的に、社員向けのコーディングテストを開催したのが始まりです。その後「Viblo」というITスキルの学習や情報共有のためのプラットフォームを開発し、

その中のViblo Codeを使用したコーディングコンテストが開催されるようになりました。2016年頃にはベトナム全土のVibloユーザー向けに大きなコンテストを開催し、200から300名ほどのエンジニアが参加しましたこれはかなり大規模なコンテストですね!このコンテストには学生から社会人まで幅広い年齢層の方が参加されました。私が予想外だったのは、このコンテスト上位者が全て学生だったことです。現役でアルゴリズムを学んでいる彼らは現役の社会人エンジニアにも負けない強みがあったということを知り、納得しました。

CODE WAR2016の決勝の様子

xseeds Hubコーディングコンテスト目的、概要

xseedsの学生が、ITスキルやアルゴリズムの知識を向上できたり、xseeds Hub選考会時に日々の努力を証明しアピールできるような機会を作れないかという想いから、開催に至りました。オンラインで行われる予選と、オンライン、オフライン合同の決勝の2ラウンド制で、上位者はなんと賞金を獲得することができます!今回のコンテストの概要は以下の通りです。

対象者xseedsの学生限定(ハノイ工科大学、ベトナム国家大学ハノイ校およびホーチミン校、ダナン工科大学)
対象学年大学2・3年生
使用するプログラミング言語C、C ++、C#、Java、PHP、Ruby、Python、Javascript、Goのいずれか
問題数・難易度予選、決勝ともに12問難易度はSからEの6レベル設定、それぞれ2問ずつ
点数難易度に合わせて点数を設定より難易度が高い問題は高得点を獲得

予選の様子、選考基準は?

予選はオンラインでの開催でした。土曜日の午前11時から日曜日の18時までとし、その中で連続した12時間を自分で選び、Viblo Codeから参加するというルールが設定されました。予選参加者は60名で、2名が全問正解という快挙を達成!さすがベトナムトップ大学の学生、素晴らしいです。

ついに決勝!オンライン、オフライン合同開催!

上位20名が決勝進出というルールでしたが、かなり混戦だったということもあり、ハノイから19名、ダナンから3名、ホーチミンから3名の、合計25名が決勝進出となりました。決勝進出者の一部はオンラインで参加し、オンラインとオフラインの合同開催となった今回。コロナ禍により完全オンラインという話もありましたが、開催ぎりぎりまで協議を重ね、コロナ対策を徹底することで希望者はオフラインでの参加が叶いました!

まず開会のあいさつとして、コンテストを管理しているリーダーであるIT講師の平田先生よりお話がありました。『参加者の皆さん、本日の賞金は知っていますか?1,500万ドン(約75,000円)です。でも、皆さんはお金のために頑張るのでしょうか?そうではなく、これまで頑張ってきたことを発揮するために頑張るんですよね?何のために今ITを学んでいるのがもう一度思い出してみましょう。きっと目的の一つは「日本にある良い企業で働くため」、つまり「皆さんがやりたい技術を行っている会社や、皆さんが興味を持っているプロダクトを開発している会社で働くため」だと思います。

その夢のような会社が、Sun*が開催する選考会にはたくさん参加しています。今日皆さんがプログラミングコンテストで優秀な成績を収めることで、その企業にアピールできるチャンスが増えます。すなわち、今日頑張ることで皆さんの目的「日本にある良い企業で働くこと」に大きく近づくことが出来ます。目的を達成するために、一生懸命頑張ってください!』その後ルールの説明があり、主なルールは以下の通りでした。

平田先生のあいさつを緊張の面持ちで聞く学生たち
  • 制限時間は9:00から15:00の6時間
  • 予選同様、課題は難易度SからEまでの6レベルがあり、各レベル2問、合計12問
  • 点数は難易度の高さによって異なり、Sレベルの配点が最も高くなっている
  • 順位は獲得した点数によって決定


実際に出題された課題の一つ。難易度Aの問題。

コンテスト開始から映し出されていたカウントダウンとリアルタイムの順位。
Sun*のダナンオフィスから参加する学生たち

ハノイオフィスでオフライン参加する学生たち

スタート直後からすぐにパソコンに向かう学生、全ての課題を一通り確認する学生、まずはじっくりノートに書きながら考える学生など、参加者はそれぞれのスタイルやペースで課題に向き合っていました。ハノイオフィスのスクリーンには常にリアルタイムの順位表が映し出され、臨場感、緊張感のある会場で、少しでも音をたてないようにしようと私も緊張しておりました…

結果発表!入賞の学生へインタビュー

6時間の戦いが終わり、結果発表!

10名までが入賞で、さらに上位5名が賞金を獲得しました!入賞者の数名にインタビューをした様子は以下の通りです。

大原

1位おめでとうございます!今回1位になりましたが、今どんな気持ちですか?

カオ・ヴァン・テ・アインさん(ハノイ工科大学2年生)

とても嬉しいですが、こんなに大きな賞金をいただけて緊張しています。
いただいたお金は学費の足しにしたいと思います。

大原

素晴らしいですね! 1位になる自信はありましたか?

カオ・ヴァン・テ・アインさん(ハノイ工科大学2年生)

いえ、ありませんでした。コンテストに申し込んだときは「何とか10位以内に入りたい」という目標を持っていたんですが、まさか1位になれるとは思っていませんでした。

大原

今回1位になることが出来た要因は何だと思いますか?

カオ・ヴァン・テ・アインさん(ハノイ工科大学2年生

予選も決勝も長時間の戦いになるので、それを戦いきる体と精神力を持っていたことだと思います。

大原

なるほど。スキル以外にも心や体の状態に気を付けていたんですね。これから挑戦したいことは何ですか?

カオ・ヴァン・テ・アインさん(ハノイ工科大学2年生)

まずはしっかりITの基礎を学び、来年自分に合ったインターン先で実践経験を積みたいと思っています。

大原

アインさんの素晴らしいスキルをぜひいろんな場で発揮してくださいね!

大原

ではもう一人、グエン・ホアン・アインさんにインタビューさせてください。ぜひ日本語で受け答えしたいと言ってくれましたが、まだ2年生なのにも関わらず日本語力が高いのはなぜですか?

グエン・ホアン・アインさん(ハノイ工科大学2年生)

毎日日本の動画を見て勉強しています。将来はぜひ日本で働きたいと思っているので、IT以外にも日本語の勉強に力を入れています。

大原

大学での勉強以外に独学にも取り組んでいる成果ですね!今回のコンテストに参加して、今どんな気持ちですか?

グエン・ホアン・アインさん(ハノイ工科大学2年生)

実は予選では1位だったので、決勝では3位以内に入ることが目標でした。今日も途中まではずっと1位だったんですが、最終的には4位という残念な結果になってしまいとても悔しいです。

大原

決勝で出された問題は難しかったですか?

グエン・ホアン・アインさん(ハノイ工科大学2年生)

そうですね。難しい問題が一つあって、解くことが出来ませんでした。

大原

そうだったんですね…。もしまたコーディングコンテストがあったら参加したいですか?

グエン・ホアン・アインさん(ハノイ工科大学2年生)

ぜひ参加したいです! その時は一位を目指します。

大原

頑張ってください!

運営メンバーの想い

今回のプログラミングコンテストを運営したR&Dのリーダーであるタンさんにお話を伺いました。
タンさんは、以前Sun*が開催した「AI特別講座」の記事にも登場しておりますので、そちらもご覧いただけますと幸いです。

R&Dのリーダーであるタンさん

xseedsの学生向けのプログラミングコンテストは初の試みでしたが、苦労した点や工夫したことがあったら教えてください。

苦労した点は、学生がどれくらいのレベルのアルゴリズムを解けるのか全くわからなかったことです。
例えば、コンテストの課題が学生の実態に合っておらず難しすぎる場合は、もしかしたら学生のモチベーションを下げてしまうのではないかという不安がありました。

そこで難易度をSからEの6レベル設定し、それぞれ2問の合計12問という多めの課題としました。これは、どのレベルの学生でも全く課題が解けないということが起こらないようにするためです。予選に参加した学生は全員少なくとも1問は解けていたので安心しました。また、予選で全問正解した学生が数名いたことも嬉しく思います。

そうだったんですね。

あとは、このコンテストを通してコーディングの課題を解くということに慣れてほしいという想いがありました。
私はxseedsの選考会で通訳として入ることがあるのですが、事前課題でコーディングテストに苦戦する学生を見ることがあります。企業様によっては面接前にコーディングテストを行うところもあり、どれだけ大学での成績が良くてもコーディングテストに慣れておらず面接まで進めない学生もいます。それはとてももったいないことなので、少しでもそんな学生のサポートが出来ればという思いもありました。

もしまたコーディングコンテストを企画するとしたら新たに取り組みたいことはありますか?

大きくわけると2つあります。まずひとつは、参加者を増やすために事前の告知やレクチャーを徹底するということです。
今回の参加者の大半がハノイ工科大学の学生で、特にダナンやホーチミンからの参加者は少数でした。TCチームなどとその理由を考えた結果、コーディングの課題を解ける自信がなく挑戦できないのではないかという結論に至りました。対象者が大学2年生ということで、まだこういったコンテストに参加した経験がない学生がほとんどです。そんな学生が気軽に挑戦できるように、事前の告知やコーディングコンテストに関するレクチャーなどをもっと行うことによって、参加者が増えればいいなと思います。

二つ目は、大きな会場を借りて参加者全員をそこに集め、コーディングコンテストを行うということです。
以前Vibloでそういったコンテストを行ったときに、リアルタイムの順位を会場内のスクリーンに表示しながら実況席から解説や実況を行うことでとても盛り上がりました。
今回はコロナ禍のために実現できませんでしたが、次回はぜひ挑戦してより楽しい、白熱したイベントにしたいと考えています。

それは面白そうですね。次回開催されることがありましたらそれを楽しみにしております!

終わりに

いかがでしたでしょうか。今回はxseedsの学生を対象としたコーディングコンテストの様子についてお届けしました。
今回初参加の学生もいましたが、入賞できたかった学生にとっても今後に繋がるようなきっかけになったのではないでしょうか。
私たち教育事業部は、夏にも学生向けのイベントを複数計画しております。
今後も学生の日本語学習、ITスキル、日本就職へのモチベーションアップに繋がるような機会を作れるよう、一丸となって取り組んでいこうと思います。

わたしたちの事業の内容やxseeds Hubに関してのお問い合わせなどはこちらからお願いします。
また、Facebookページをフォローしていただくと、記事更新の通知だけではなく、Facebookでしか見れない#日常の一コマをご覧いただけます。ぜひ覗きに来てください。それでは次回の更新をお楽しみに。Hẹn gặp lại nhé!(また今度)

ABOUT US
大原歩美
幼少期から海外に興味を持ち、カナダ、フランス、オーストラリア、イランで生活する。 日本ではヨガスタジオのエリアマネージャー、留学カウンセラー、東証一部上場企業の社長秘書など多岐にわたる職業に従事。 脱公務員で現地企業に就職した夫、3歳の息子とともに2021年からベトナム生活を開始。 将来の目標は世界遺産全制覇。