夏休みに世界へ挑戦! プログラミングコンテスト安藤幸央のランダウン(41)

「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします(編集部)

» 2008年07月18日 10時00分 公開

プログラマーにもオリンピックや甲子園がある!

Coding Edge

この記事は、プログラミングに誇りを感じるヒトのための技術情報フォーラム「Coding Edge」との連動企画です。


 もうすぐ、オリンピックが開幕します。多くのアスリート/スポーツ選手が、世界一になるために自分の持ち得る力や技術を競うことでしょう。では、普段仕事でプログラミング(コーディング)している人や、趣味でプログラムを作っているホビープログラマーが自身の腕を競おうと思ったときに、どんな舞台があるのでしょうか?

 もちろん、素晴らしいプログラムやサービスを開発して世の中に広めることができれば、技術力や企画力は大いにアピールできます。その一方、優秀なプログラマーやコーダーがたった1人でも挑戦できて、世界中から大いなる称賛を浴び、あわよくば賞金や就職先までせしめてしまう方法があります。

 それが“プログラミングコンテスト”です。

 腕に自信があるのに、仕事では報われていないなどと嘆かずに、自分の腕が世界のどの程度に位置するのか、まずは競ってみてはいかがでしょうか(けれども、多分ほとんどの人は世界のトップレベルと自分との差に、がくぜんとするはずです)。

プログラミングコンテストに参加する意義
  • 技を知る。自分の能力を見つめ直すことができる
  • 複雑なアルゴリズム問題を解く楽しみ
  • 一定期間に集中して成果を出すことに慣れることができる
  • 世界中のプログラマーと競争することでモチベーションを高めることができる
  • リクルーティングの場でもあり、プログラミング能力を生かした仕事へのきっかけ作り

プログラミングコンテストへ参加する際に注意すべきポイント
  • 完成してから登録するものと、登録してから参加するものがある
  • 個人で参加するもの、グループで競うものがある
  • 既発表のものもOKの場合と未発表でなければダメな場合がある
  • 自分の得意のプログラミング言語がカバーされているかどうか

世界で腕を競う舞台

 それでは、プログラミングコンテストにはどんなものがあるか見ていきましょう。まずは世界的なコンテストからです。英語ということで少しハードルが高いかもしれませんが、世界のレベルを知るというのは良い経験になることでしょう。

TopCoder

TopCoderのトップページ TopCoderのトップページ
  • 締め切り:各コンテストによって違う。ほぼ毎週なんらかのコンテストが開催されていう。メインイベントの「TopCoder Open 2008」は2008年5月に終了している
  • 言語:Java、C++、C#、VB
  • 賞金:〜10万ドル
  • 参加資格:賞金が受け取れるのは18歳以上
  • 特徴:制限時間内に問題を解く速さを競うものが多い(プログラムの動作速度の速さは関係ない)

Google Code Jam

「Google Code Jam」のトップページ 「Google Code Jam」のトップページ
  • 締め切り:2008年7月17日(残念ながら締め切ったばかりだが、おそらく来年も開催される)
  • 言語:前回とは違い、問題を解くためのプログラミング言語は特定されていない。コンテスト用のデータファイルが読み書きできるプログラミング言語であれば参加可能
  • 賞金総額:8万ドル(1位 1万ドル、2位 5000ドル、3位 2500ドル、以下100位までは1500〜250ドル)
  • 参加資格:13歳以上(グーグルのオフィスでのコンテストに参加できるのは、18歳以上)
  • 特徴:アルゴリズム問題に挑戦。Web経由で、一定時間内に問題を解く

 後述しますが、ほかにも締め切りが終わってしまった世界的コンテストがあります。

国内のコンテスト

 次に、国内のコンテストを見てみましょう。

Mashup Awards

「Mashup Awards」のトップページ 「Mashup Awards」のトップページ
  • 締め切り:2008年9月16日
  • 言語:指定なし。応募対象のWebサービスAPIを1つ以上使ったWebサイト、アプリケーションを構築
  • 賞金:大賞 100万円、ほか部門賞あり
  • 参加資格:個人でもグループ、法人でも参加可能など
  • 特徴:WebサービスAPIを組み合わせたマッシュアップ・サービスのコンテスト

編集部注:マッシュアップについて詳しく知りたい読者は、 「いまさら聞けない「マッシュアップ」超入門」をご参照ください。

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

「U-20 プログラミングコンテスト」のトップページ 「U-20 プログラミングコンテスト」のトップページ
  • 締め切り:2008年7月31日
  • 言語:指定なし。Windows/Mac OS/Linuxで動作するもの。それ以外は要相談
  • 参加資格:20歳以下であること
  • 特徴:個人部門と団体部門あり。主に高校生〜専門学校からの参加が多い

Award on Rails

「Award on Rails」のトップページ 「Award on Rails」のトップページ
  • 締め切り 2008年9月30日
  • 言語:Ruby on Railsを使ったWebアプリケーション
  • 賞金:大賞 100万円、そのほか部門賞、企業賞あり
  • 参加資格:個人でもグループ、法人でも参加可能など
  • 特徴:Ruby on Railsを使うコンテスト

パソコン甲子園

「パソコン甲子園」のトップページ 「パソコン甲子園」のトップページ
  • 締め切り:プログラミング部門とデジタルコンテンツ部門は2008年7月31日
  • 言語:プログラミング部門は、C、C++、Java
  • 参加資格:高等学校および高等専門学校の3年生までなど
  • 特徴:プログラミング部門、デジタルコンテンツ部門、いちまいの絵CG部門の3つがある

進行中または終了したコンテスト

 2008年7月18日現在で終了したコンテストも、毎年行われるものであれば、来年また挑戦の機会があります。また、入賞作品からコンテストの傾向やレベルを知ることもできます。

SuperCon

「SuperCon2008」のトップページ 「SuperCon2008」のトップページ
  • 高校生がスーパーコンピューターを使って、プログラミングのアイデアを競う大会(進行中)

Imagine Cup(終了)

「Imagine Cup」のトップページ 「Imagine Cup」のトップページ

Adobe AIRコンテスト

  • Adobe AIRを使った Webサイトやツール、アプリケーションなどの国内コンテスト(終了)
  • 受賞作品

編集部注:Adobe AIRについて詳しく知りたい読者は、 「いまさら聞けないAdobe AIR「超」入門」をご参照ください。

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

「ACM国際大学対抗プログラミングコンテスト」のトップページ 「ACM国際大学対抗プログラミングコンテスト」のトップページ
  • 大学生チームを対象とした世界的規模のプログラミングコンテスト(進行中)

Android Developer Challenge

編集部注:Google Androidについて詳しく知りたい読者は「Google Android用携帯アプリ作成のための基礎知識」をご参照ください。

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

全国高等専門学校プログラミングコンテスト 「全国高等専門学校プログラミングコンテスト」のトップページ

iGoogle Gadgetコンテスト(終了)

カブロボアワード

「KabuRobo」のトップページ 「KabuRobo」のトップページ

Yahoo! JAPAN Web APIコンテスト(終了)

「Yahoo! JAPAN Web APIコンテスト」のトップページ 「Yahoo! JAPAN Web APIコンテスト」のトップページ

Webデザインや広告も

 プログラミングコンテストだけではなく、Webデザイナーやコーダーであれば、そのほかのコンテストでの活躍の場が広がります。WebサイトのコンテストやWeb広告系の広告祭も世界各地で開催されています。

コンテストとプラットフォーム・ビジネスの関係

 話は変わりますが、SNSサービスのFacebookOpenSocial、そしてiPhoneがアプリケーションのプラットフォームSDKを提供するなど、最近はプラットフォーム・ビジネスが盛んのようです。

編集部注:FacebookOpenSocialについて詳しく知りたい読者は、 「Google OpenSocialによってSNSで何ができるのか?」をご参照ください。

 先ほどAdobe AIRやAndorid、iGoogle、Yahoo! JapanのWeb APIのコンテストを挙げましたが、自社のプラットフォーム/SDK上で動くキラーアプリを作ってくれるような優秀な開発者を集めるために、コンテストは非常に有効な手段なのでしょう。もちろん、高校生や大学生向けに開催しているものや、純粋にプログラミングの腕を競わせるコンテストもたくさんありますが。

 いま話題のiPhoneも、そのうちアプリケーションのコンテストを開催するかもしれませんね。

ファンドの取得もコンテストの1種?

 また、iFundのようなソフトウェア開発のためのファンドの取得も、広義にとらえれば、コンテストに近いかもしれません。2008年7月現在iFundでは、地図を基に周辺の店舗情報やイベント情報を提供するサービスの「whrrl」と、エアコンや照明、ブラインドなど家電機器をリモートコントロールするセキュリティシステムの「iControl」が資金を得て開発を進めているそうです。

世界中に実力を知らしめる良い機会

 ここで紹介したプログラミングコンテストは、ごく一部のもので、まだまだ紹介し切れないものがたくさんあります。高校生・専門学校生など学生を中心としたものから、世界中の第一線のプログラマーが腕を競うものまで、さまざまなコンテストが開催されています。

 スポーツ選手であれば、ワールドカップやオリンピックがあるように、プログラマーやWeb、インターネットの世界で活躍する選手にとっては、プログラミングコンテストは世界中に実力を知らしめる良い機会なのかもしれませんね。

 次回は2008年9月初めごろに公開の予定です。内容は未定ですが、読者の皆さんの興味を引き、役立つ記事にする予定です。何か取り上げてほしい内容などリクエストがありましたら、編集部@ITの掲示板までお知らせください。次回もどうぞよろしく。

Coding Edge

この記事は、プログラミングに誇りを感じるヒトのための技術情報フォーラム「Coding Edge」との連動企画です。


プロフィール

安藤幸央(あんどう ゆきお)

安藤幸央

1970年北海道生まれ。現在、株式会社エクサ マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元 CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG の情報源となるWebページをまとめている。

ホームページ
Java News.jp(Javaに関する最新ニュース)

所属団体
OpenGL_Japan (Member)、SIGGRAPH TOKYO (Vice Chairman)

主な著書
「VRML 60分ガイド」(監訳、ソフトバンク)
これがJava だ! インターネットの新たな主役」(共著、日本経済新聞社)
The Java3D API仕様」(監修、アスキー)


Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。