第33回U-20プログラミング・コンテスト
HOME コンテストについて 概要・応募要領 過去の入選作品 実行委員紹介 よくある質問
お問合せ
実行委員からのメッセージ
実行委員コラム
情報化月間
経済産業省
U−20プログラミングコンテストバナー
バナーを配布しています。
詳細はこちらよりご覧ください
情報化月間2012
ツイナビ公認アカウント
リーフレットダウンロード
 
相互リンク
セキュリティキャンプ
ITジュニア
Rubyプログラミングコンテスト
ICT
パソコン甲子園
スーパーコンピューティングコンテスト
JOI
kousen
asahikawa
 
実行委員コラム

このコーナーでは、宮本久仁男 委員のコラムを掲載していきます。(全3回)
実行委員の考え方に触れることで、みなさんが応募への一歩を踏み出すきっかけになればと思います。

■ 第3回 「第一次審査を終えて〜工夫すべきポイント」 (2012年9月20日)

このコラムも3回目ということで、第一次審査も完了し、最終審査会を待つ時期だったりします。
ということで、作品を評価する際に抱く所感について書いてみます。

私自身、今回も予備審査と一次審査にかかわってますが、毎回感じるのは「評価が高い作品」は、見る観点は違えど審査に関わった委員の印象が良いということです。それと同時に「委員の意見が割れる作品」もありますが、これは場合によります。

よい作品、評価の高い作品は、例外なく作品自体の完成度が高いといえます。
選に漏れたからといって、作品自体の完成度が必ずしも低いということはないのですが、それでも「残念に思うこと」がないわけではありません。この「残念に思うこと」「あと少し!」は、前述の「委員の意見が割れる作品」についても多く見られます。今回はそういう「もうちょっと工夫すれば!」というところを挙げてみましょう。

以下は、審査の現場で耳にすることのあるコメントをざっと集約したものです。

・想定ユーザや対象がわかりにくい/わからない
・作品自体が何を実現しているのかがわかりにくい/わからない
・長時間の使用を通じてでないとわからない

このコンテストは「プログラミングコンテスト」なので、実行結果だけを見て評価を決めるということはありません。全委員、当然のようにソースコードやドキュメント類などは読みますし、そうすることが私を含む委員に求められていることなのですが、それでもやっぱり限界(主に時間が足りない)があります。

昨年のコラムでも述べましたが、これまでに委員の多くから好評を得た作品に共通する特長は、

・動かせば何をするのかが明快にわかる
・使う側のことを考えた構成になっている
・作者の主張する目的を達成するのに加え、さらなる応用を想起させる

というところです。さらに加えるならば

・コードが読みやすい

というのも挙げられるでしょう。意見が割れる作品であっても、コードが読み易ければ評価は高くなる傾向にあります。逆にコードが読みづらい/そもそも人が読めるようなコードがないとなると、あくまでこのコンテストは「プログラミングコンテスト」ですから評価は低くなります。

これは別に特別なことをしろと言っているわけではなく

・ファイルは適切な単位に分割する
・内部で用いるデータ構造は、合理的かつ明快に設計する

という具合に、第三者によるコードの可読性を向上させるという「ごくあたりまえ」のステップを踏んでほしいということを意味しています。

過去の作品も含め、多くの委員をして「これはすごい!」と言わしめた作品は、作品が目指すところや使い勝手が明快であるのは言うまでもないですが、コードの可読性も非常に高く、応募者のスキルの高さを伺わせるものでした。

来年の応募を検討されている方々は、こういう「ユーザには普通は見せない部分」にも凝ってみてはいかがでしょうか?


■ 第2回 「あと1週間(+1日)」 (2012年8月2日)

第1回目は、「U-20プロコンの新たな試み」をご紹介しましたが、第2回目は「どのくらいの期間かかるんだろう?」という話をさせていただきます。締切が「平成23年8月10日(金) 17:00必着」ということで、ちょっと時間的には厳しいか?状態ですが、「まだ間に合うかも!?」という例をかいつまんで。ちなみに昨年は「コラム掲載時点で締切まで3日」しかありませんでした。

結論から言うと「やり方にもよりますが、間に合うんじゃないですか?」という感じです。
以下にやり方の例を示します。

・これまで作ったものを見直す
これは、日常的にプログラミングを楽しんでいる方にお勧めの方法です。
普段からプログラミングを楽しんでいる方の中には、作ったものをGitHub(※)などのサービスで公開している方もいらっしゃるかと思います。そういう形で「少しずつ積み上げた」ものを、ちょっと(かなり?)手を入れてみる、というのはいかがでしょうか。
モノによっては「そのまま提出」というのもアリかと思います。

・この機会に「アイデアだけはあったもの」を具現化してみる
「出したい!」という意思をお持ちでアイデアもある方は、この機会に「作ってみる」というのはいかがでしょうか。
締切ドリブン開発だと、多くの場合荒削りなものになりがちですが、そういうものであっても「きちんと動く&面白い」ものであれば、評価はされます(入賞出来るとは限りませんが)。
余談ですが、本稿も締切ドリブンで作成されています。

気付いた時に「あと8日しかない…(泣)」と思うか、「まだ8日ある!」と思うかは当人次第です。できれば「まだ8日ある!」と思っていただいて、あっと驚く素晴らしい作品を送っていただければ幸いです。

※GitHub: コードをグループで共有または公開しながらソフトウェア開発を行うSocial Codingを支援するWebサービス。


■ 第1回 「U-20プロコンの新たな試み」 (2012年7月19日)

プログラミングが大好きな生徒さんたちの、毎年の風物詩になりつつあるU-20プログラミング・コンテストですが、今年も絶賛作品募集中です。

…「プロコンの締切が近くなるとこのコラムも始まり、私も締切に追われます」と書きたいのですが、今年はなぜか私のほうだけが一方的に追われております(笑)。
今年のU-20プロコンの締切は「平成24年8月10日(金)17時必着」ということで、おおよそあと3週間ほどあります。この期間を「まだ3週間ある」と捉えるか「もう3週間しかない」と捉えるかは、応募されるみなさま次第ですよ。

さて、今年の第1回目は、「昨年からのup to date」として、大きく変わった点をお知らせします。
今年は、U-20プロコン初の試みとして「応募作品の開発に必要なクラウド型プラットフォームの貸出」ということを実施しています。詳細は下記Webページの内容をご覧いただくとして、応募いただく方はいずれか1つのプラットフォームを選んでお使いいただくことが可能です。

・第33回U-20プログラミング・コンテスト | クラウド型プラットフォーム

クラウド型プラットフォームの貸出申込の締切ですが、2012年8月3日(金)となっています。この申込を経て貸し出されたクラウドプラットフォームは、制約はあるものの2012年10月31日(水)までは無償でご利用いただけるとのことです。それ以降の貸出については、上記Webページを確認の上、各社様にご確認いただきますようよろしくお願いします。

クラウド型プラットフォーム貸出と言われて「開発環境いらず」と思われた方もいらっしゃると思いますが、審査対象となるソフトウェアを貸し出されたクラウド型プラットフォーム上で動作させていれば、提出されたプログラムが動いてる状況を確認させていただくということも可能になります。ご応募いただいたプログラムが審査する際に動作しないとなると、せっかくの作品も陽の目を見ないということになりかねません。開発したソフトウェアを、開発者が想定している環境で動かしてもらうのは意外に大変です。「作ることに注力したい」という場合には、こういうプラットフォームを活用するのも1つの手です。

締切まであと3週間ほどですが、審査する側みんなが驚く作品を応募していただくことを、委員一同お待ちしております。


株式会社NTTデータ 技術開発本部 セキュリティ技術センタ, NTTDATA-CERT
情報セキュリティ大学院大学 客員研究員/セキュリティキャンプ講師(2004〜)
Microsoft MVP - Enterprise Security (〜2012/9) /博士(情報学)
主たる興味は、プラットフォームセキュリティや、そこに関連したソフトウェアだが、楽しむ時は特にこだわらずになんでも楽しむ。物事を調べたり効率化するために自分用のツールを書くことも多い。
使われているものの代表例は、mod_encoding for Apache2。
OSSやセキュリティに関連した著書や寄稿は多数。最近だと「Xen徹底入門 第2版」(翔泳社、共著)や「実践 Metasploit - ペネトレーションテストによる脆弱性評価」(オライリージャパン、共同監訳)など。

Copyright (C) 2012 「情報化月間2012事務局」.All Rights Reserved.