みなさんは、プログラミングコンテスト(プロコン、プログラミング大会)をご存知でしょうか?プログラミングに興味がある、プログラミングを勉強したい、という思いがあるのなら知っておいて損はありません。
本記事では、日本語で参加できて、かつオススメのプログラミングコンテストをカテゴリ別にご紹介します。プロコンを上手に活用して技術力アップを図りましょう!
プログラミングコンテストとは?
私たちが普段使っているアプリやWebサービスは全てプログラミング言語を使ってプログラムされて作られています。日本にはアプリを使わない人の方が珍しいくらいスマートフォンが普及していますよね。それだけ今プログラミングの需要というのは高まっています。
しかし、実はプログラミング自体はそこまで難しいものではありません。今ならWebサービス上で簡単に自分が作った計算プログラムを動かしたりすることができるくらい、プログラミングの敷居は下がっているからです。ただプログラミングできる人ではなく、世の中で求められているのは「上手にプログラミングができる」人ということになります。
そこで注目されているのが「プログラミングコンテスト」です。プログラミングコンテスト(プログラミング大会、通称:プロコン)は文字通り、プログラミングの能力や技術を競うコンテストのこと。
一言でプログラミングコンテスト、能力や技術を競う大会、などといっても様々な種類があります。どんなプロコンがあるのか、以下のようなカテゴリ別に見ていきましょう。
- 作品系コンテスト
- アルゴリズム系コンテスト
- ゲーム・AI系コンテスト
- セキュリティ系コンテスト
- チューニング(高速化)系コンテスト
各コンテストのスケジュール
2021年度のプログラミングコンテストの日程表を、2021年4月20日現在で分かっている情報に基づき作成しました。
※日程表の内容の正確性については責任を負いかねます。参加ご検討の際はご自身でコンテストのウェブサイトを直接ご確認ください。
作品系コンテスト
作品系コンテストでは、完成したサービスやアプリケーションなどのプロダクトを披露し、その良し悪しが審査されるコンテストです。
作れるものはコンテストによって異なりますが、ゲームや学習用アプリ、さらにはプログラミング言語そのものといった作品が過去に登場したことがあります。
(作品系)U-22プログラミング・コンテスト
U-22プログラミング・コンテストは22歳までの若い世代を対象としたプログラミングコンテストです。1980年に始まった「全国高校生プログラミングコンテスト」から40年間続いており、最も歴史のあるコンテストの1つです。
名だたる企業がコンテストのスポンサーに付いており、最高賞の経済産業大臣賞を受賞すると、賞金だけでなく、事業創出や起業支援などのバックアップを受け取ることができます。
2019年の経済産業大臣賞にはゲームやプログラミング言語、大学のセンター試験で出題されるアルゴリズムを記述するためのDNCLを作成するサービスなどが選出されました。
U-22プログラミング・コンテスト : https://u22procon.com
(作品系)HSPプログラムコンテスト
HSPプログラムコンテストは「HSP」と呼ばれる開発環境を使って、自作のソフトやゲームを作って競うコンテストです。2003年から始まったこのコンテストは今年で17年目となり、長い歴史を持っています。
コンテストに出場する作品は小規模なものから大規模なものまで幅広く、様々な分野をカバーしています。
HSPプログラムコンテスト : https://hsp.tv/contest2020
(作品系)全国高等専門学校プログラミングコンテスト(自由・課題部門)
高専生が日頃の学習成果を活かし、情報通信技術におけるアイデアと実現力を競うコンテスト。高専生は実力を世に問う絶好のチャンス!高専生ならではの独創的なアイデアを練り上げ、入賞を目指そう!
作品(アプリ)をつくる自由・課題部門のほかに、競技部門があります。競技部門はプログラムにゲームを解かせる形式で、高いスコアを取ったほうが勝利というゲーム性の高い部門です。
全国高等専門学校プログラミングコンテスト:http://www.procon.gr.jp
(作品系)アプリ甲子園
アプリ甲子園は、2011年にスタートした中学生&高校生のためのスマートフォンアプリ開発コンテストです。応募者の能力だけでなく、自身の持つ“クリエイティブ”な力を存分に発揮する大会です!
アプリ甲子園:https://www.applikoshien.jp
(作品系)中高生国際Rubyプログラミングコンテスト
中高生国際Rubyプログラミングコンテストは、子どもたちがプログラミングを学び、自分でコンピューターを動かした時の感動や、つくった作品を発表する経験を通して、新しい世界への興味や関心を呼び起こし、将来への夢をはぐくむことを目的に実施されます。
中高生国際Rubyプログラミングコンテスト:https://www.ruby-procon.net
(作品系)全国選抜小学生プログラミング大会
全国選抜小学生プログラミング大会は、高度なプログラミング技術を持つ「天才発掘」ではなく、プログラミングによって社会を生き抜く思考力・行動力・プロデュース力を含めた総合的な「人間力」を育てることに寄与する大会です。
全国選抜小学生プログラミング大会:https://zsjk.jp
(作品系)ぐんまプログラミングアワード
ぐんまプログラミングアワード(GPA)は、ICT技術を使ったサービスが多様化、高度化する中、プログラミングの人材を育成しようと、群馬県の上毛新聞社が主催で2017年から実施しています。地元企業、教育機関や行政のほかに、ラジオ、新聞、Youtubeまで巻き込んで楽しそうなプログラミングコンテストを運営されています。
ぐんまプログラミングアワード:https://www.gp-award.jp/
(作品系)専門学校HTML5作品アワード
専門学校 HTML5作品アワードは、全国の専門学校生の作品づくりを応援することを目的として2018年より開催されている作品コンテスト。選考対象はHTML5技術をメインにつくられた作品とし、モバイルアプリやWebサービス、Webサイトなど、広く応募が可能です。
専門学校HTML5作品アワード:https://html5award.com/
アルゴリズム系コンテスト
アルゴリズム系コンテストでは「出題されたお題に対して、効率的なプログラムを素早く作る」ことが競われます。アルゴリズム系コンテストにはTopCoderやGoogle Code Jamなど有名なコンテストがありますが、日本語に対応しているコンテストもたくさんあります。
(アルゴリズム系)国際大学対抗プログラミングコンテスト
ICPC とは、International Collegiate Programming Contest (国際大学対抗プログラミングコンテスト) という名前のプログラミングコンテストです。
同じ大学で3人一組のチームを作り、チームでプログラミングと問題解決の能力を競う大会です。全世界で毎年3万人以上が参加する大会に成長しています。
国際大学対抗プログラミングコンテスト:https://icpc.iisf.or.jp/acm-icpc
(アルゴリズム系)日本情報オリンピック (JOI 2021/2022)
日本情報オリンピック (JOI = Japanese Olympiad in Informatics)は、高等学校2年生までの競技プログラマー日本一を決める大会で、国際情報オリンピック(IOI)へ派遣する日本代表選手選考会を兼ねている、国際レベルの大きな大会です!
日本情報オリンピック:https://www.ioi-jp.org/
(アルゴリズム系)パソコン甲子園(プログラミング部門)
コンピュータ理工学専門の大学である会津大学などが運営。高校生と高等専門学校生(3年生まで)がプログラミング能力をはじめ、情報処理技術におけるアイデアや表現力などを競い合い、その経験を通して知識と技術を高めるICT分野の全国大会です!
パソコン甲子園には、プログラミング部門のほかに、Android搭載のスマートフォンを対象に、テーマに基づいた“夢のある”アプリケーションを企画・開発し、その総合的なプロデュース力を競い合う、モバイル部門もあります。
パソコン甲子園:http://web-ext.u-aizu.ac.jp/pc-concours
(アルゴリズム系)PG BATTLE
上述したAtCoderの運営会社であるAtCoder社が共催、システムインテグレータ社が主催で年1回開催されるのがPG BATTLEです。
PG BATTLEは、完全オンラインで行われる1チーム3名による企業・学校対抗プログラミングコンテスト。このコンテストの魅力はチーム戦という楽しさだけでなく、参加費無料なのに豪華な賞品があることです!しかも上位以外のチームにもランダムで当たる賞品(飛び賞)があるので、優勝を目指さずとも腕試しにチャレンジしたり、プロコンデビューを飾るにはもってこいです。
年1回の開催なので、要チェックです💡
PG BATTLE : https://products.sint.co.jp/pg_battle
(アルゴリズム系)AtCoder
日本で最も有名な競技プログラミングサイトといえば、「AtCoder」ではないでしょうか。
AtCoderのコンテストは毎週のように開催されているのが大きな特徴です。大体土日の夜8時頃にコンテストが開催され、そのときの成果によって自身のレーティングが変化します。レーティングはスコアのようなもので、その数値に応じて色分けされています。最高位は「赤」で、日本には20人ほどしかいないようです。
AtCoderにはいくつかコンテストの難易度があり、中でもAtCoder Beginner Contest(通称ABC)は比較的初心者向けに作られています。1回のコンテストで6問出題される内、初めの2問ほどはプログラミングと簡単な数学ができるなら解けるような難易度になっているので、まずはそこから初めてみるのも良いかもしれません。
AtCoder : https://atcoder.jp
(アルゴリズム系)全国小中学生プログラミング大会
2016年から始まった小中学生向けのプログラミング大会。審査基準は発想力、表現力、技術力の3つからなり、作品系コンテストで紹介した「U-22プログラミング・コンテスト」と連携しています。
角川アスキー総合研究所が事務局を担当しており、最近では全国の都道府県のプログラミングコンテストとパートナーシップを構築し始めるなど、今後の動向に要注目のプログラミングコンテストです。
全国小中学生プログラミング大会:http://jjpc.jp/
(アルゴリズム系)テックキッズグランプリ
「Tech Kids Grand Prix」は、21世紀というこれからの時代を担っていく、すべての小学生に向けたプログラミングコンテスト。『21世紀を創るのは、君たちだ。』をスローガンに掲げ、ビジョン、プロダクト、プレゼンテーションの3つの観点から審査を行い、全国No.1小学生プログラマーを決定!初開催は2018年で、大人のエンジニア顔負けのコンテストになっています!
テックキッズグランプリ:https://techkidsschool.jp/grandprix/
ゲーム・AI系コンテスト
近年勢いのあるAIの構築技能を競うコンテストです。自分が作ったAIをゲームで戦わせたりすることで、いかに難しい状況に対処するかが問われるプロコンですね。
(ゲーム・AI系)SamurAI Coding
SamurAI Codingは現代の人工知能技術の急速な発展に対応すべく開催されているAIプログラミングコンテストです。ゲームをテーマにしたプログラミングのスキルを競うことで、プログラマは自身の能力が通用するのかを試すことができます。特に年齢制限はなく、だれでも参加可能。1名以上のチームを作って参加します。
コンテストでは「SamurAI Dig Here」というゲームでライバルと競うことになります。自身で実装したAIでゲーム内のサムライと犬を制御し、隠された埋蔵金を相手チームよりも多く掘り当てたら勝利です。AIを実装するプログラミング言語は主要な言語の中から自由に選べますが、基本的にはPythonを使うことが多いようです。
SamurAI Coding : https://samuraicoding.info
(ゲーム・AI系)天下一プログラマーコンテスト
KLab 株式会社が開催するプログラミングコンテスト。
2019年まではガチンコの競技プログラミングのコンテストでしたが、2020年はゲームAIのコンテストとして開催され盛り上がったようです。4時間の短期決戦とのことです。面白そう。
天下一プログラマーコンテスト:https://tenka1.klab.jp
(ゲーム・AI系)ハル研究所プログラミングコンテスト
ハル研究所プログラミングコンテストは、普段はそれぞれの仕事に取り組むプログラマー達が、同じ問題に取り組みプログラミングの技を競い合うことで、楽しみながらスキルアップを図っていく大会です。
ハル研究所プログラミングコンテスト:https://www.hallab.co.jp/progcon
(ゲーム・AI系)スモウルビー・プログラミング甲子園
スモウルビー・プログラミング甲子園(18歳以下対象)は、スモウルビーを使って主催者が用意したゲームを攻略するためのAIプログラムを作成し、全国から集まる参加者たちとゲームで対戦しながら頂点を目指します。
スモウルビー・プログラミング甲子園:https://smalruby-koshien.jp/index.html
(ゲーム・AI系)codeVS
codeVSは2011年から開催されているゲームのAIを作るコンテストで、過去6回、毎年開催されていました。
その後数年開催されていませんでしたが、アルゴリズムを駆使し、開発したAIプログラムを競い合う競技プログラミングコンテストとして、2019年にCODE VS Rebornとして復活しているようです。
セキュリティ系コンテスト
ハッキング技術コンテスト(CTF)やバグ探しコンテスト、クイズ形式のコンテストなどセキュリティに関するコンテストは注目度の高い分野です。
日本国内最大のセキュリティコンテストとして「SECCON」は有名です。
(セキュリティ系)SECCON
情報セキュリティをテーマに多様な競技を開催する情報セキュリティコンテストイベントです。実践的情報セキュリティ人材の発掘・ 育成、技術の実践の場の提供を目的として設立されました。
「SECCON」 ではカンファレンスやワークショップなどのほかに、攻撃・防御両者の視点を含むセキュリティの総合力を試すハッキングコンテスト「CTF (Capture the Flag)」や、あるテーマにあわせてプログラムを作成して披露するプログラミングコンテスト「ハッカソン」などがあります。(SECCONウェブサイトより転載)
SECCON:https://www.seccon.jp/2020
チューニング(高速化)系コンテスト
Webアプリチューニングコンテストなるものがありますので、こちらでカテゴリの1つとして挙げておきます。
現状、国内ではほぼLINE株式会社が主催する「ISUCON」を指しますが、今後需要が高まっていく分野かもしれませんので注目ですね。
(チューニング系)ISUCON
ISUCONとは「いい感じにスピードアップコンテスト」の略称。ウェブアプリパフォーマンスチューニングのスコアをチームで競う大会です。
ISUCON公式Blog:http://isucon.net
さいごに
日本で開催されているプログラミングコンテストをまとめてみました。
趣味・勉強目的関係なく、プログラミングコンテストは出場すると「プログラマとしての経験値」が大幅に上がってレベルアップできます。
どのプログラミングコンテストもモチベーションが大事で、良い成績を残すためにはやり続ける必要がありますが…。幸いプログラミングコンテストは参加費無料のものがほとんどです。少しでも「やろうかな」と思えたなら、どんどん参加してみましょう!
(ぜひ弊社主催のプログラミングコンテストPG BATTLEにも出場してみてくださいね。)
- カテゴリ:
- プログラミングコンテスト
- キーワード:
- プログラミング
- プログラミングコンテスト