プログラミングコンテスト(プログラミング大会、プロコン)の存在をご存知でしょうか??
最近では、プログラミングコンテストというものもどんどん耳にすることも多くなってきたのではないかと思います。
プログラミングコンテストはグローバルなものから始まり日本の子供向けまで様々なものが存在しています。
本記事では比較的参加がしやすく初心者からでも目指しやすいプログラミングコンテストや子供向けのコンテストなどを紹介します。
目次
プログラミングコンテストと種類をご紹介
プログラミングコンテスト(通称プロコン)は、その名の通りプログラミングのスキルを競う大会です。
プログラムを学習として学んだからといってすぐにできるようになる方は少ないでしょう。
色々なプログラムを開発し、プログラミングコンテスト用の練習をすることで経験を積むことができます。
闇雲に目的を持たず勉強を行うよりもコンテストを目指した学習も一つのオススメの目的となります。
プログラミングコンテストの中には、参加費が無料に関わらず賞金が出るものもあります。
プログラミングコンテストには大きく分けて5種類あります。
AI・アルゴリズム・セキュリティ・作品・子供向け(小学生から)となります。
AI系
AI系のプログラミングコンテストは、人工知能に関するプログラミングで競い合います。
出題されたテーマに沿ってAI系のプログラムを組み、他の参加者とゲームのように戦わせて競いあう形式となります。
本コンテストはAIの開発技術に合わせて、AIをどのように利用すればいいのかという2つが大切になる分野です。
アルゴリズム系←難易度高
アルゴリズム系のプログラミングコンテストは、出題された問題をプログラミングで解いていくコンテストです。
出題される問題は数学に関する問題が多く、制限時間内に少しでも早くプログラムを完成させなければいけません。
メモリや処理速度の制約といった問題があるので、プログラミング技術だけではなくサーバーなどを含めたITインフラスキルも合わせて必要となってきます。
競技プログラミングと呼ばれてます。
こちらは経験者や玄人向けと言った感じですね。
セキュリティ系←難易度高
セキュリティ系のプログラミングコンテストでは、主にハッキングといった外部からの攻撃を防ぐプログラミングを競い合います。
競い合うテーマとしては、CTF(キャプチャー・ザ・フラッグ)形式が有名です。
参考 CTF:https://www.jtp.co.jp/techport/2020-06-16_001/
2つのチームに別れ、自分のサーバーを守りながら相手のサーバーを攻撃し競い合う「攻防戦形式」と、コンピューターの中や、WEBサイトに隠されているキーワードを見つけ出す「クイズ形式」があります。
作品系←初心者にもチャンスあり
作品系のプログラミングコンテストは、ソフトウェアでオリジナルの作品を作りたい方やアイデアのある方がソフトウェアで作品を作れるようになることで参加可能です。
作品系ではテーマに沿ったものだけではなく、自由にソフトウェア作品を作るコンテストもあります。
自由にソフトウェアを作るコンテストでは、最新技術の利用がなくても、オリジナル性があれば入賞する事も可能です。
まだまだ駆け出しの方で、オリジナルで勝負したい方にはいいでしょう。
子供向け←初心者キッズにチャンスあり
プログラミングコンテストには、大学生や社会人だけではなく、小学生・中学生・高校生から参加できるコンテストもあります。
小学生でプログラミング教育が必修科目になった事もあり、プログラミングに興味を持つ若年層も増えてくるでしょう。
小・中学生を対象としたプログラミングコンテストや、高校生、年齢制限を設けているコンテストもあります。
子供や若者を対象としたコンテストに参加しスキルアップしていきましょう。
系統別プログラミングコンテスト5選
AI・アルゴリズム・セキュリティ・作品・子供向け(小学生から)の5種類のプログラミングのコンテストを大会内容と共に説明します。
SamurAI Coding←AI系
インターネット・IoT産業および人工知能技術の急速な発展によるエンジニアの質と量の確保がますます重要となっています。
情報処理学会は若い世代から将来第一線の研究者や開発者になりうる、また世界市場を舞台に活躍できる人材を育てることを目的として、
国際的なAIプログラミングコンテスト “SamurAI Coding” を 2012年以来毎年開催しています。
ゲームをテーマにしたプログラミングのスキルを競うことで、プログラマは自身の能力が通用するのかを試すことができます。
年齢制限:無し
参加制限:1名以上のチームを作って参加
コンテスト内容:「SamurAI Dig Here」というゲームでライバルと競う形式
自身で実装したAIでゲーム内のサムライと犬を制御し、隠された埋蔵金を相手チームよりも多く掘り当てたら勝利です。
AIを実装するプログラミング言語は主要な言語の中から自由に選択可能で、基本的にはPythonが中心となります。
SamurAI Coding==>>公式サイト
At Corder←アルゴリズム系
日本で最大規模なプログラミングのコンテストです。
色々なIT企業と繋がっており、プログラミングスキルによってAtCorderレーティングジョブというレーティングによりランク分けされます。
そのレーティングによっては、就職活動などで様々な企業に役に立つことがあります。
企業より要求ランクが記載された求人応募あり。
At Corder==>>公式サイト
SECCON←セキュリティ系
情報セキュリティをテーマに多様な競技を開催する情報セキュリティコンテストイベントです。実践的情報セキュリティ人材の発掘・ 育成、技術の実践の場の提供を目的として設立されました。
「SECCON」 ではカンファレンスやワークショップなどのほかに、攻撃・防御両者の視点を含むセキュリティの総合力を試すハッキングコンテスト「CTF (Capture the Flag)」や、あるテーマにあわせてプログラムを作成して披露するプログラミングコンテスト「ハッカソン」などがあります。セキュリティを競い合い、スキルアップを目的としているコンテストとなります。
世界各国からの参加者を含め、サイバーセキュリティ戦略本部や警察庁・総務省などといった行政機関も監修する日本最大のセキュリティコンテストになります。
学歴や年齢を超えての情報セキュリティに関する人材の育成と輩出を目的としています。
SECCON==>>公式サイト
HSPプログラミングコンテスト←作品系
HSPプログラムコンテストは、プログラム言語HSP(Hot Soup Processor)により作られた作品を募集し表彰するオンラインイベントです。
17年の長い歴史を持ち、すべての応募作品は無料でダウンロード公開されます。作品を見てみたいという人も大歓迎です。 HSPを使っている人も、そうでない人も自由に参加して楽しむことができます。
技術を競い合うのではなく、プログラミングの楽しさを広めて作品の発表の場を提供する事が主な目的となっています。
使用するプログラム言語はHSP(Hot Soup Processor)です。
初心者から上級者や年齢制限もないのため誰でも参加する事ができます。
応募された作品は、公式ページからすべて無料でダウンロード可能となります。
技術向上だけでなく、楽しさもあります。
HSPコンテスト==>>公式サイト
過去の受賞作品==>>こちら
U-22 プログラミングコンテスト←子供向け
U-22プログラミング・コンテストは、自らのアイデアと技術で新しい未来を拓く、次代を担う22歳以下のITエンジニアを対象とした作品提出型プログラミングコンテストです。
最高賞である経済産業大臣賞を受賞すると、賞金だけでなく、未踏事業の推薦をはじめとした自らの成長を促すための、ステップアップの道も準備されています。ちなみに経済産業大臣賞の賞金は50万円となります。
コンテスト参加者のコミュニティもあり、参加するだけでもエンジニアと繋がれるのでオススメです!
応募資格:22歳以下(西暦1998年4月2日以降に生まれた方)
※チームの場合も参加資格は原則上記の通りです。但し、チームの代表者が22歳以下で、メンバーの半数以上が22歳以下で構成されている場合は、同一学校に所属する学生限定で、23歳以上(西暦1998年4月1日以前に生まれた方)もメンバーの一員として参加することを許容します。
U-22 プログラミングコンテスト==>>公式サイト
全国小中学生プログラミング大会←子供向け
全国小中学生プログラミング大会は、PC・スマートフォン・タブレットで動作するプログラムやアプリ・ゲーム・ムービーなどのソフトウェア、ロボット、電子工作などのハードウェアであれば使用言語や作品形式はありません。
テーマの指定がないので幅広いお子様に参加しやすいコンテストです。
審査基準は技術力・発想力・表現力の3項目になるので、特別な技術力がなくても問題ありません。勉強を始めたばかりの小学生でも遠慮せずに、参加してみましょう。
5年後や10年後にはもしかたらスポーツのインターハイや甲子園などのような大会の一つになっている可能性が高いとvariiisでは考えております。
全国小中学生プログラミング大会==>>公式サイト
まとめ
今回はプログラミングコンテストについて紹介をしました。
難易度の比較的低いものやU22以下の若手や子供向けコンテストなど様々な種類があることをわかって頂けましたでしょうか?
おそらくこれから益々盛り上がりが予想されるかと思います。
是非、プログラミング学習の目的としても参加を目指すことでスキルアップを含めIT業界への大きな道が見えることもありますのでチャレンジしてみてはいかがでしょうか?
インプット学習とアウトプット学習のどちらも大事ですが、一定のインプットができればアウトプットをすることで圧倒的なスキルアップが望めます。
是非是非検討してみてください!!