【インディーズゲーム応援キャンペーン実施中】

誰でも参加できる?プログラミングコンテストとは

皆さんプログラミングコンテストというモノがあるのはご存知でしょうか?
プログラミングの技術や能力を競い合うコンテストです。
種類も増えてきて、中には小中学生を対象にしたコンテストもあります。
今回はそんなプログラミングコンテストについて種類や実際のコンテストをご紹介します。

プログラミングコンテストとは

プログラミングコンテストとは、コンピュータプログラミングの能力や技術を競い合うコンテストである。アルゴリズムなどに関する問題をコンピュータサイエンスや数学に関係する問題を解く早さを競うもの、ソフトウェアやネットワークのセキュリティ上の問題点を見つけることを競うもの、ソースコードの文字数(バイト数)の小ささを競うもの、人工知能(AI)を作って競うもの、作品(ソフトウェア)の評価を競うもの、など様々なコンテストが存在する。

プログラミングコンテストWikipediaより

プログラミングのコンテストといってもプログラムを作る技術を競うだけではなく、コンピュータに関する問題を解く速さを競ったりと種類はさまざまあります。

参加条件もさまざまで冒頭で説明したように特定の年齢を対象にしたコンテストやチームで競い合うコンテストもあります。応募は各コンテストのHPにある応募用紙を郵送すればできます。

プログラミングコンテストの種類

プログラミングコンテストの種類は主に以下の5つになります。

・アルゴリズム系
・AI系
・セキュリティ系
・作品系
・ショートコーディング系

アルゴリズム系

日本では競技プログラミングと呼ばれ、出題された要求を満たすプログラムをいち早く記述できるかを競うコンテストになります。
コンピュータサイエンスや数学に関する知識と素早く正確に記述する能力が問われます。

AI系

自作したAI(人工知能)をゲームなどで戦わせて競い合います。
データ分析などの知識が必要になり、プログラミング言語はPythonを使用する事が多いようです。コンテストでは無いですが、近年囲碁のプロ棋士とAIが競い合う電脳戦なども有名です。

セキュリティ系

ハッキング技術やシステムのバグを検出する能力を競い合います。
セキュリティに関する知識が必須になります。
近年人気になっている「キャプチャーザフラッグ」とよばれる競技もこの分野に入ります。

作品系

テーマに沿ったアプリやシステムを作り上げ、出来上がった作品の評価で競い合います。テーマが決められているモノと自由な作品を応募できるモノがあります。

ショートコーディング系

与えられた仕組み(アルゴリズム)をより少ないソースコードの文字数で記述する事を競い合います。コードゴルフと呼ばれ、プログラミング言語が限定されているモノや自由な言語を選択できるモノがあります。

主なプログラミングコンテスト

アルゴリズム系

AtCoder

AtCoderは日本初のプログラミングコンテスト運用会社です。サイトの登録者も20万人を突破し、日本国内では最大級のコンテストサイトです。
コンテストを定期的(大体土日)に行っており、初心者向けのコンテスト(AtCoderBeginnerContest)もあります。プログラミング初心者の方もモチベーションアップにも繋がると思うので、是非参加してみてください。
AtCoder

ドワンゴからの挑戦状

こちらは2015年から毎年行われているdwangoが主催するコンテストになります。主に専門学校や大学の新卒者を対象に行われているコンテストで入賞すると賞金が出るほかに、dwangoの採用試験で一次面接をパスする権利が貰えます。新卒者以外も参加は可能です。残念ながら今年のコンテストは終了してしまいましたが、毎年1月頃から予選が開始します。
ドワンゴからの挑戦状

AI系

SamurAI Coding

「SamurAI Jockey」と呼ばれるゲームで対戦相手と競い合います。
このゲームは自身で作成したAIでゲーム内の犬と侍を制御します。
制御した侍と犬を使って隠された埋蔵金を相手より多く掘り当てる事が出来れば勝ちです。プログラミング言語は自由に選べますが、Pythonを使用する事が多いです。こちらのコンテストも残念ながら今年のコンテストは終了してしまいました。
SamurAI Coding

codingame

「codingame」は無料のプログラミング学習サイトで、参加者同士で定期的にプログラミングコンテストが行われています。海外のサイトなので残念ながら日本語は非対応になります。英語が多少理解できるという人はぜひ参加してみてください。
codingame

セキュリティ系

SECCON

情報セキュリティをテーマに行われるコンテストです。人材の発掘や育成、実践の場としてコンテストが設立されました。コンテストはコンピュータを攻撃する側と守備する側で分かれてセキュリティの総合力を競い合う「CTF(Capture the Flag)」やテーマに合わせてプログラムを作成しその完成度を評価して競い合う「ハッカソン」などがあります。毎年日本の各地で開催されていますが、今年はコロナの影響でオンライン開催が濃厚のようです。
SECCON

作品系

U-22 プログラミングコンテスト

こちらは22歳以下を対象としたプログラミングコンテストです。若いエンジニアの発掘、育成を目的に作られたコンテストです。入賞すると賞金以外にも経済産業省所管であるIPAが行う「未踏事業」への推薦や開発支援、起業支援を受けることも可能です。色々な企業が協賛しておりIT業界に自分の実力を示すチャンスですので若い方にはおススメです。
U-22 プログラミングコンテスト

ハル研究所プログラミングコンテスト

1995年に数名のプログラマーが集まり結成されたコンテストです。
他のコンテストと違うのがゲーム色が強いコンテストだという事です。
敵に対応するアルゴリズムを作ったり、ステージを攻略していく等のゲーム感覚の競技が行われています。サイトから過去のコンテストの問題に参加する事が可能なので興味のある方はやってみてください。
ハル研究所プログラミングコンテスト

ショートコーディング系

コードダンジョン

こちらはコンテストでは無く、ショートコーディング向けの問題が解けるサイトです。サイトは問題を解いていく形式で、レベルが上がると禁止文字が追加されていき難易度が上がっていきます。ショートコーディング系のコンテストは各イベント内で行われる事がありますので、興味のある方はイベントを調べて参加してみるといいでしょう。
コードダンジョン

ご紹介は以上になります。
記事でも一部ご紹介しましたが、プログラミングコンテストに参加する方が増えてきています。プログラミングコンテストは誰でも参加が可能で技術力を図れるいい機会ですので、これを機にはじめてみてはいかがでしょう。

Written by ヒツ サダハル