プログラミングコンテストの概要解説!種類や年代別に紹介
thumb_programmingcontest_01
プログラミングコンテストの概要解説!種類や年代別に紹介
アンドエンジニア編集部
2022.09.16
この記事でわかること
コンテストでは、アルゴリズムプログラミングを通じて問題解決能力を養う目的があります
応募形式は競技コンテスト、作品コンテスト、あるいはさらに専門的なものなどがあります
社会人向けは競技コンテストが主体となり、これから挑戦する方はグレード別に実施する大会がおすすめです

プログラミングコンテストの概要

img_programmingcontest_01

「プログラミングコンテスト」と銘打ったイベントや大会が多数開催されています。そもそもプログラミングコンテストは、アルゴリズムプログラミングを通じて問題解決能力を養う目的で実施されたことに由来します。現在は、目的に応じていくつかの種類の大会が開催されています。

プログラミングコンテストのメリット

プログラミングコンテストのメリットは、プログラミングの基本となるアルゴリズムやコーディングの理解が深まり、正確性が高まることが挙げられます。また課題達成に向けてチームワークが醸成され、プロジェクトのタスク管理や進捗管理にも有効です。新しいアイデアの創出や独創性も高まるでしょう。

プログラミングコンテストのカテゴリー

プログラミングコンテストのカテゴリーも、大会ごとに多岐にわたります。年代別には、小中高校生向け、大学・高専向け、社会人向けあるいは制限なし、などに分かれます。また、大会の要綱もコンテストの種類別に分かれます。詳細は以降で解説していきます。

代表的なプログラミングコンテストについては、後ほど年代別に一覧化し、小中学生向け、高校生向け、大学・高専向け、社会人向けのものを紹介します。

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

img_programmingcontest_02

プログラミングコンテストの種類は、大会の目的に応じて以下のように分けられます。また、具体的な大会規定によっては、複数の要素を併せ持つこともあります。

競技プログラミング

課題解決の早さを競う大会で、アルゴリズムの正確性と実行速度を主に競い合う大会です。そのため、アルゴリズム系と表する場合もあります。代表的なコンテストですので、単にプログラミングコンテストと言う場合もあります。

作品コンテスト

作品のテーマに従い、応募期間を活用してより最適な作品を仕上げるコンテストです。大会によってはテーマを自由に選べるものもあり、言語固有の問題に対応したり、新規性や発想力が期待されたりしますので、多岐に分かれるコンテストです。

セキュリティコンテスト

ソフトウェアやシステムの安定性向上のために、セキュリティ関連企業や団体が主催する大会です。システムへの侵入を試みる場合は、ハッキングコンテストと言う場合があります。ソフトウェアのバグ出しコンテストも行われています。

その他

現在では、コンテストの種類は多岐にわたっており、C言語やJavaなどの言語向け大会、ゲームプログラミング、効率性を評価するショートコーディングなど専門性に応じて細分化されています。さらに、制御プログラミングを活用したロボットコンテストも広い意味ではプログラミングコンテストと言えます。

Javaを効率的に独学で学習する方法とは?おすすめの勉強方法を紹介

小中学生向けのプログラミングコンテスト

img_programmingcontest_03

小中学生向けコンテストは、「テックキッズグランプリ」「全国小中学生プログラミング大会」「PCNこどもプログラミングコンテスト」などが開催されています。作品コンテスト形式が多くを占めています。

テックキッズグランプリ

テックキッズグランプリ(Tech Kids Grand Prix)は、国内最大規模の小学生向けプログラミングコンテストです。作品コンテストとして実施されますが、作品の条件は、コンピュータプログラミングを用いて開発された作品で、オリジナルの作品である必要があります。使用するプログラミング言語等の指定はありません。

2022年度の大会より、参加が増えたことで「北海道東北」「関東」「中部」「近畿」「中四国」「九州沖縄」のエリア予選が実施されます。各エリアの代表選手合計10名が東京(渋谷)で本戦決勝に挑みます。

【参考】:Tech Kids Grand Prix

全国小中学生プログラミング大会

作品コンテストとして実施され、審査基準は「発想力」「表現力」「技術力」が採点されます。使用するプログラミング言語や作品形式は問われず、テーマの指定もありません。プログラムソースコードや実行形式あるいは撮影した動画等を申請に用います。

今年度の2022年から全国高等学校プログラミング大会を合わせて開催し、授業やクラブ活動での活用が想定されています。

【参考】:全国小中学生プログラミング大会

PCNこどもプログラミングコンテスト

小学生・中学生向けの作品コンテストで、ソフトウェア部門(小学生・中学生)、 ロボット・電子工作部門(小学生・中学生)、ファミリー部門(小中学生)の部門に分かれます。作品の条件はオリジナルのプログラム作品で、ジャンルやプログラミング言語、作成に用いるツールの種別は問いません。

【参考】:PCNこどもプログラミングコンテスト

高校生向けのプログラミングコンテスト

img_programmingcontest_04

高校生向けコンテストは、「国際情報オリンピック」「全国高等学校パソコンコンクール」「夏の電脳甲子園」などが開催されています。

国際情報オリンピック

国際情報オリンピック(IOI)は、世界80カ国が参加する高校生向けの競技コンテストです。与えられる現実の問題をモデルにした課題に対し、プログラムを実装します。性能の良いアルゴリズム設計と、プログラム実装の適切性が評価されます。

国別代表による大会であり、日本の代表選手は、日本情報オリンピックの大会参加者から選抜されます。このコンテストは参加するだけでもかなり難易度が高いと言えます。

【参考】:情報オリンピック日本委員会 【参考】:IOI Official website

全国高等学校パソコンコンクール

会津大学などが主催する、 高校生・高等専門学校生(3年生まで)のためのICT分野の全国大会で、通称は、パソコン甲子園と言われています。プログラミング技術を競う「プログラミング部門」、Androidアプリを開発する「モバイル部門」、CG作品を描く「いちまいの絵CG部門」の部門に分かれています。

参加特典として、会津大学学校推薦型選抜出願資格や日本情報オリンピック本選参加資格が得られます。

【参考】:パソコン甲子園

Windows 11でAndroidアプリが動作?プレビュー版概要

夏の電脳甲子園

東京工業大学・大阪大学・理化学研究所が主催する、高校生向けのコンテストです。締め切りまでの時間内に作成したプログラムの正確さや速度が評価され、スコアにより順位が決定します。予選では3級から1級の認定が行われ、本選出場チームが決定します。

2022年度は本選が8月に実施されましたが、理化学研究所のスーパーコンピュータ「富岳」を使⽤し、プログラミング能力を競いました。

【参考】:夏の電脳甲子園

大学・高専向けのプログラミングコンテスト

img_programmingcontest_05

大学・高専向けコンテストは、「ICPC 国際大学対抗プログラミングコンテスト」「U-22プログラミング・コンテスト」「全国高等専門学校プログラミングコンテスト」などが開催されています。

ICPC 国際大学対抗プログラミングコンテスト

世界中の大学生が参加する歴史ある大会で、国内予選を突破することで世界大会に参加することができます。参加資格は、同一の大学院・大学・短大・高等専門学校に所属する選手とコーチで構成されているチーム編成で参加回数に制限があります。構文解析やマージ・ソート・シミュレーションなどの問題を所定時間内にクリアできるかを競います。

【参考】:ICPC 国際大学対抗プログラミングコンテスト 【参考】:ICPC 2022 Asia Yokohama Regional

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

22歳以下向けの作品コンテストで、応募条件は未応募のオリジナル作品が対象です。作品のジャンルは問われません。「プロダクト」「テクノロジー」「アイデア」で総合評価されます。応募者向けにはスポンサー企業から開発環境が無償貸与されます。

【参考】:U-22プログラミング・コンテスト

全国高等専門学校プログラミングコンテスト

「高専プロコン」と呼ばれる大会で、全国の国公私立高等専門学校の学生に参加資格が与えられます。課題・自由・競技の3部門に分かれています。予選は書類審査により実施され、本選は課題・自由部門はプレゼンテーション、競技部門は競技ルールに基づく対抗戦が行われます。

【参考】:全国高等専門学校プログラミングコンテスト

社会人向けのプログラミングコンテスト

img_programmingcontest_06

社会人向けコンテストは多岐に渡ります。競技プログラミングでは「AtCoder」「Topcoder」などが開催されています。この他、テーマ別にセキュリティコンテストなど、さらに深い知識を競う大会も数多くあります。

AtCoder

AtCoderは、競技プログラミングのサービス提供が行われているサイトです。開催種別により、レーティングが算出されます。

開催種別は、定期開催されるレギュラーコンテスト、初級者向けAtCoder Beginner Contest(ABC)、中上級者向けAtCoder Regular Contest(ARC)、上級者向けAtCoder Grand Contest(AGC)などに分かれています。この他企業が主催するコンテストも実施しており、コンテストの種類が豊富です。過去問も多数掲載されています。

【参考】:AtCoder

Topcoder

Topcoderは海外のサイトで、クラウドサービスの開発や競技プログラミングのサービス提供を行っています。実力はレーティングでポイント換算されており、TOPCODER OPENは年次で実力を証明する競技コンテストです。

【参考】:Topcoder 【参考】:TOPCODER OPEN

SECCON

SECCONはセキュリティコンテストの名称で、日本の情報セキュリティ人材の育成を行うボランティア組織自体も指します。実施しているセキュリティコンテストのSECCONでは、ハッキングコンテストとなるCTF(Capture the Flag、旗取りゲーム)によるセキュリティスキルチャレンジや、プログラミングコンテストのハッカソンなどを実施しています。国内大会と国際大会が行われています。

【参考】:SECCON

このほか、CTFとしてはGoogle CTFやICC(International Cibersecurity Challenge)など多数実施されています。

【参考】:International Cybersecurity Challenge 【参考】:Google CTF

まずは簡単なレベルから挑戦してみましょう

img_programmingcontest_07

プログラミングコンテストの種類としては、小中学生は作品コンテスト主体ですが、社会人向けは競技プログラミングが中心です。その中ではレーティング別にグレードが設定されているAtCoderであれば、初級者向けAtCoder Beginner Contest(ABC)から参加することが可能で、徐々にグレードを上げていくことができます。

また、AtCoderではアルゴリズム実技検定も実施しており、対外的にアルゴリズムの実践力をアピールすることも可能です。プログラム作成能力を証明する際には、1度検討してみてはいかがでしょうか。

【参考】:AtCoder アルゴリズム実技検定

気になる人のXをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
はじめて転職される方へ
SE・システムエンジニア(IT/通信/インターネット) 求人一覧

編集部おすすめコンテンツ

Sponsored
【無料個別転職相談会】アプリケーションエンジニア向け!リモート・在宅勤務で働きたい方へ
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT