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

U-20プログラミング・コンテスト実行委員からのメッセージを掲載していきます。

僕が中学生時代を過ごした1980年代初頭はまさにパソコンの黎明期、そして発展期でした。アメリカではApple社からApple IIというパソコンが発売され、日本ではNECからPCシリーズが発売され、そこから毎月のように新製品や新技術が発表されていました。でも、プログラミングをやりたくても、発表されたばかりの技術ばかりなので、プログラミング環境もあまり整っておらず、そもそも中学生が、大人が書いた難しい技術書も読んでも全く意味がわからず、とにかく、パソコン好きの友達で集まって、みんなで知恵を出し合って、また勘にたよって試行錯誤でいろんなことをしていました。

また、僕はプログラミングを学校で習ったことがありません。でも、今、学校でプログラミングを教えています。習っていないのに教えているというちょっとした矛盾(?)の中、本当にあっているのだろうか? こんな教え方でいいのだろうか? と毎日、自問自答をしながら(あ、もちろん調査もしながら)やっています。
プログラミングそのものもしかりです。習ったことがないので、未だに、この書き方は一般的なのだろうか? もっと効率のいいすばらしい書き方があるのではないだろうか? と、これも毎日疑心暗鬼の中、やっています。
皆さんもそうなのではないでしょうか?

これは、コンピュータやプログラミングという分野独特のことだと思います。

歴史のある、例えば文学や絵画などは先人が開発した「作るための手法」があり、ものすごくたくさんの人たちがそれを学び、その教育方法が確立し、そしてそれを共有する方法がたくさんあります。しかし、コンピュータに関しては日々、新技術や新製品、そして新しい概念が作られ続けているので、一定の「作るための手法」が確立しにくいです。

だからこそ楽しいのです。わくわくします。「そんな考え方があったのか?!」とか、「ものすごいことを思いついてしまった!」ということに日々遭遇します。

U-20プログラミング・コンテストの審査でもその「楽しさ」を感じました。楽しいから作ってる。そして、一般的な作り方は知らないけど、あんなものを思いついて、そして作りたいから、自分なりに工夫してちゃんと動くものを作りました、という気概が伝わってくるものが多くありました。完成度は高くないかもしれないけど、もしかしたらこれは化けるのではないか?というものもいくつかあります。

でも、僕も学生時代はそうでしたが、「このアイデア、自分ではとても面白いと思ってるのだけど、本当に面白いのだろうか?」ということがよくあります。そして、なんとなく自分の中でお蔵入りにしてしまったものがものすごく多くあります。そして、今、自分が大人になって、このコンテストの審査委員をして、そのときの自分について感じることはただ一つ「もったいない」です。思いついて「これだ!」と思ったアイデアは絶対に実現すると面白いです。

これを読んでいて、そして、なんとなく「あれ、やったら面白いんじゃないかなぁ」ということがある皆さん、そのアイデア、試してみましょう! ぜひ、U-20プログラミング・コンテストに応募してみてください。

2013年2月19日 U-20プログラミング・コンテスト実行委員 古堅 真彦



「たまになぜ、ソフトウェア技術者になったんだろうと、考える時があります。結局、そんな時、大体このような結論に至ります。

---ソフトウェアは、動くんです!しかも、時には想像もしなかったことを実現します。そして私はその動く喜びを共有したくて、わくわくするものを作りたくて、ソフトウェアを作ってきました・・。

と、いつもはここで満足していたのですが、ふとまたなぜだろうと疑問に思いました。

「わくわく」ってなんでしょう?どうして、「わくわく」するんでしょうか?

その答えは、ソフトウェアを取り巻く環境を振り返ると見えてきました。
例えば、皆さんが生まれたころに活躍していたパソコンは、どんなだったでしょうか。
CPUはi386で33MHzで動作。主記憶メモリは640Kbytes、記録媒体は、1.44Mbytesの5インチフロッピー磁気ディスク(そんなのがあったんです)や、 20Mbytesの外部記憶ハードディスクデバイス。
つまり、どれをとっても、今、私が手にしている「スマホ」の約1/1000程度の性能、大きさも1/1000程度ですね。また当時、ネットワーク環境としては、 電話回線でかろうじてつながるインターネットや、パソコン通信なるものが存在していましたが、こちらも通信速度は1/1000程度と違っていました。

さて、ここからが本題なのですが、以上のようなことから逆算すると、これからの未来はどうなっているでしょうか?実行速度も通信速度も1000倍、大きさも1000倍違ってくる?そうすると、そのころの生活はどうなっているでしょう?

例えば、携帯が一層、1000倍小さくなったとすると、それぞれモノに張り付けることができるようになります。今で言うところのICタグがもっと高機能化し、自ら情報を分析して発信するようになるでしょう。そうすると、いろいろなデバイス経由で情報が自動的に収集されいて、それがどのような 状況にあるか把握できるようになります。例えばTVとか冷蔵庫などの家電たちがスマート何とかになっていて、モノの情報やいろんな状況が共有でき、冷蔵庫の足りない食材が、携帯やそこらへんのディスプレイで確認できたり、お店にいくと、何を買えばよいか教えてくれるとか。また、仮想現実化が進み、それぞれのモノに対して、現実の風景にサングラスを通して詳細情報が重ね表示されていろいろ教えてくれたりとか。

また例えば、情報処理能力が1000倍に向上したとすると、適当に書いたりしゃべったりしたものがちゃんとデバイスに入力されたり、日頃の言動・行動・志向パターンが記録・蓄積され、世の中の人々のトレンドとマッチング処理され、自分が本当に必要とするモノや情報が予測されて、「そういえばあれは・・?」に対し「これですか?」といった感じでいわば、本当に存在しているかのような気の利いた秘書が気の利いた案内をしてくれたりとか。

また例えば、通信速度が1000倍に向上したとすると、塾通いせずとも、自分の目の前の大きな3Dディスプレイパッドを通じて、あたかもそこに出席している感覚。もちろん一方的に視聴しているだけではなくて、双方向通信で、しかも出席している皆と共に質問攻めにあったり、寝ていると叱られたり。
また、自由に動かせるコンテンツが作成できて流通し、家庭で3Dプリンタが普及していて、ストラップやプラモデルなどが自分で出力(製作)できたり。

残念ながら私の貧弱な発想はそこまでなんですが、ただ一つ言えることは、ソフトウェアはハードウェアの猛烈な進化に、さらに命を吹き込みます。わくわくするのは、そこに計り知れない可能性を秘めているからではないでしょうか。そして、わくわくするような未来の礎になるのは、ソフトウェアを生み出すU-20のみんな。
どうでしょう、何か自分の未来にわくわくしてきませんか?

2013年1月28日 U-20プログラミング・コンテスト実行委員 平林 俊一



「私は文系なのですが、将来プログラマーになれますか?」という質問を最近よく受けることがあります。

昔はコンピュータ自体が非常に高価で、大学などの電子計算機室に行かないと使うことができませんでしたが、今はブロードバンドの時代で、一家に一台以上のパソコンと常時接続のインターネットがあります。プログラミングに関する教材は、インターネット上に選びきれないほどたくさんありますし、日本語の参考書籍も欲しいと思えば簡単に入手できます。英語ができれば、米国の大学の最先端のコンピューターサイエンスの授業をインターネット越しに無料で聴講することも可能です。将来プログラマーになるために、特別な学校に行く必要があるのでしょうか?

今のコンピュータはとても便利になり、プログラミングの作業をする開発環境も大変使いやすくなりました。そんな環境の中で「プログラムを作る」という作業自体に、特別な資格や特殊な機材は必要なくなりました。実際に作ろうと思って作り始めることが重要です。作りながら、わからないことが出てきたらそれを調べて、の繰り返しです。ITの分野は進歩が著しく、5年前に一般的だったことが5年後にはもう古くなって非常識になってしまうこともしばしばです。そういった意味で、これからプログラマーになるためには、今までの経験はほとんど関係なく、これからも継続して学習をする姿勢を持つことが大事になってきています。事実もうそうなっています。

学科や年齢は関係なく、自分が作りたいと思って作ったプログラムの作品は、周りの人が見ても楽しいものです。作りたいと思ったその瞬間の気持ちを大事にして、これからもプログラミングを続けてみませんか?

2013年1月23日 U-20プログラミング・コンテスト実行委員 竹迫 良範


■TRY AGAIN?

僕がプログラミングを始めたのは1970年代の終わりの頃だったと思います。「マイコン」や「関数電卓」でプログラムを作りました。今年のU-20プログラミング・コンテストは第33回でしたが、その最初の頃の時代です。ここでは、当時を思い出しながら、プログラミングについて考えてみます。

映画でスターウォーズ、ビデオゲームのスペースインベーダー、ちょっと後にパズルのルービック・キューブが流行ったという時世でした。

「マイコン」なるもので、ブラウン管の画面を制御して文字やグラフィックスが出せることに驚いたことを覚えています。

「ブラウン管にはテレビ放送が写るもの」、と決めつけて考えていた頭には、その一つ一つのドットが好きなようにコントロールできるのだ、とわかった時は衝撃でした。たとえば「宇宙からの侵略者と戦う」という世界を構築することもできるのだ、と気付いたわけです。

そういえば、当時、Speak & Spellというおもちゃもありました。こちらは人間の音声で機械がしゃべるのに驚きました。

電子工作という趣味の分野があり、ラジオの製作が一つの目標でした。でも、ラジオは作ってしまうと放送を聞くという受動的な行為だけで、自分がコントロールする範囲が大きいものではありません。

ラジカセというのもありました。こちらは録音したものしか出てこないわけで、機械自身がしゃべるわけではありません。

ブラウン管の侵略者やしゃべる機械の経験を通じて、僕は、それを「どうやって作るの?」と考えるようになったかなぁ、と思います。そして、「自分でも作ってみよう」と挑戦することになったと思います。

「なぜ? どうして?」の心から科学が始まる、という話がありますが、プログラミングには、この「どうやって?」の心が大切ではないかと思います。

なによりも、まず、その機械(または機械を動かしているプログラム)は、人間が作ったものだということに気がつかないと「どうやって?」と考えるに至りません。受動的に放送を視聴するような多くの人は、ここで止まってしまいます。しかし、ここで止まらなければ、進むことができます。

そして、「どうやって作る?」の考察を続けて、先人のプログラムに学べば、物事を達成する方策には多くの選択肢があること、慎重な選択(と時には大胆な決意)を積み重ねて、はじめてプログラムがひとつの作品として作られることがわかるでしょう。

「生産手段は我が手にあり」にも気がつく必要がありますか。プログラミングに関して、一時期、不幸な時代があり、「ソフトウェア開発環境」を不自由なものが占めたことがありました。この不幸な時代を除けば、プログラミングをするのに特別な生産設備や工場は必要ありません。もっとも重要な設備は自分自身の頭脳であり、それをいかに働かせるかが鍵でしょう。

もう一つ、「失敗しても失うものはない」ことにも気がつくとよろしい。ラジオの製作のようなハードウェアの場合は、失敗すると、期待していた機器が得られないばかりか、部品はゴミになってしまいます。しかし、プログラミングでは(対象が物理的なものでなければ)、何度でも失敗できます。

もし、みなさんがコンピュータで動くプログラムに対して、「これはどうやって作るの?」と考えたことがあれば、もう一歩は踏み出せています。なにか自分なりの作品を作ることに挑戦してみませんか。

80年代初頭でしょうか、人間の音声でしゃべるビデオゲームというのが出現しました。画面に日本語を表示させることが難しかった時代、それは日本語でしゃべったのです。驚きでした。ゲームオーバーになると "TRY AGAIN?" と(ここは英語で)表示され、「もう一回やろう!」と機械がしゃべりました。

機械に言われた、「モウイッカイヤロウ!」。今でも、この言葉をときたま僕は思い出すようにしています。

さぁ、もう一度、挑戦だ。

2012年12月25日 U-20プログラミング・コンテスト実行委員 g新部 裕


■若者らしいアイデアを形に

この四半世紀で情報機器は劇的に変化しました。私が最初にコンピュータに触れたのは高校の教員になった頃のことです。当時は、汎用コンピュータと呼ばれる大型コンピュータが主流で、特定の業務で使うパーソナルコンピュータであっても100万円以上もするとても高価な機器でした。学校では、入学試験の得点合計や成績の順位付け、成績順への並び替えなどの入選業務にコンピュータを利用していました。各教科の素点を入力するだけで、あっという間に計算して、結果を印字するコンピュータに驚愕したものです。Excelのような表計算ソフトウェアが登場する以前の話ですから、プログラムをエンジニアに組んでもらっていました。今でこそ、表計算ソフトウェアを使えば誰でもできる簡単な計算ですが、当時は満足なソフトウェアもなく、必要なプログラムをオーダーメイドで開発するのが一般的でした。

時代は移って、今では日常生活の隅々にまでコンピュータの機能が使われています。便利な情報機器として私たちの生活に欠くことのできないものになっています。アプリケーションソフトもたくさん登場し、プログラミングの知識がなくても気楽に必要な処理をさせることができるようになりました。利用者がアプリケーションソフトを選べるようになったのです。本当に便利になったものです。しかし、人は便利になってもさらに新たな機能を求めます。欲求は尽きることがありません。今回の応募作品では、ソーシャル・ネットワーキング・サービスを活用した作品が数多く出展されました。これもそうした時代の要求なのかもしれません。

審査で感じたことは、利用者の視点で「こんなものがあったらいいな」という発想から制作された作品に良い作品が多かったということです。例え完成度が十分でなくても、アイデアや必要性が高い作品に将来性を感じますし、アプリケーションソフトとしての魅力と可能性を感じます。U-20プログラミング・コンテストは若者のためのコンテストです。これからも若者らしい大胆な発想とアイデアを活かし、素晴らしい作品が数多く出展されることを期待しています。

2012年12月17日 U-20プログラミング・コンテスト実行委員 大林 誠



U-20プログラミング・コンテストにご応募いただいた皆様ありがとうございました。また、受賞した方々、おめでとうございます。
毎年、どのような応募があるか、大変楽しみにしております。プログラムの質は、毎年上がり、審査する委員も驚かされるばかりです。
また、最終審査のプレゼンテーションでは、質の高いプレゼンテーションを拝見するたびに、U-20プログラミング・コンテスト応募者のプレゼンテーション能力の高さも感じます。このプレゼンテーション能力の高さは、学習により一定のレベルまで到達しますが、それを超えたものを感じます。このプレゼンテーション能力の高さは、プログラムの作成時に発生した様々な課題を自分なりに、あるいは仲間と議論し解決した結果、身に付いたものではないでしょうか。問題・課題の本質は何か、その課題を解決するにはどのような対策を行うのかなどです。これらのスキルは、社会に出て直面する問題解決に必ず役立つはずです。

プロコン応募者の方やこの記事を読んでいる若い方は、IT産業に興味がある方が多くいらっしゃるかと思います。将来、IT産業で働きたいという方も多いのではないでしょうか。
将来、IT産業に進み、働くかどうかは、今後皆さん自身が決めることです。しかし、私としては、是非IT産業に進んで働いて欲しいというのが本音です。なぜ、IT産業に進んで欲しいかというと、これほど面白い仕事はないからです。常に変化を求められ、人間の持つ様々な能力(例えば、コミュニケーション能力、技術、経験、人間性など)を必要とされ、大変な思いをすることも多々ありますが、達成感や満足度を考えると、これほど面白い仕事はないかと思います。何よりも社会的に必要とされていることもIT産業で働くことの一因です。

好き勝手に書かせていただきましたが、来年度はもっと多くの作品の応募と、より面白い、審査員を驚かせる応募をお待ちしております。

2012年12月10日 U-20プログラミング・コンテスト実行委員 大崎 宏



■新しい時代

今年度のU-20プログラミング・コンテストの審査を終えて、新たな時代がきていることを感じました。その新たな時代を感じさせたのは「SNS」を実現した作品でした。
今回、大臣賞を受賞した「あったよ!」と局長賞を受賞した「Pictor.cc」はまさしく「SNS」作品でした。
これらの作品は、クライアント側のアプリケーションだけでなくサーバー側のシステムも実装されているので技術面で十分に評価されています。
ただ、これらの作品には「SNS」としてユーザーの活用シーンが存在していることや活用するシナリオが想定されていること、また、シーンやシナリオをインターネット上の多くのユーザーが共有できるであろう「公共性」が考えられていることが「新しい時代」を強く感じさせてくれました。
従来の開発工程で言う上流工程部分ではありますが、インターネット上の「公共性」が考えられた企画・設計はこれまでのU-20プログラミング・コンテストでもなかったのではないかと思います。
若者が広く活用している「SNS」を若者自身が企画設計し、システムを開発し、運用する時代。単なるWebシステムではなく「公共性」を実装したシステム。
「SNS」を利用したトラブルも多く報告される時代ではありますが、若者たちも「公共」の中に身をおく者として、「SNS」の上手な利用、開発、運用を考えていってほしいと思います。
また、今後はこのような作品の出展が増えることを願っています。

2012年12月3日 U-20プログラミング・コンテスト実行委員 生山 浩



■Learning-by-doing

毎年、U-20プログラミング・コンテストの審査員をさせていただき、本当の技術者教育の一端がここにあるように感じています。

産業界では、何を知っているかではなく、何ができるかが重視されます。このために、近年、知識教育だけでなく、実践することから学ぶ(Learning-by-doing)という教育方法が重視されるようになってきました。

ただ、この教育では、従来の学校の期末テストのように点数で評価するのではなく、何を行い何ができるようになったかという結果を継続的に記録し、それを次への向上につなげるという評価が重要であると言われています。

応募作品を拝見すると、応募者の方が何を考え、それをどのように実現したかという、皆さんの実践的な技術力と発想力を実感することができます。また、私たち審査員が作品から感じ取ったことによるメッセージや、他の作品からの刺激が、皆さんの次への向上につながる糧になるでしょう。応募者の皆さんが、U-20プログラミング・コンテストを自分たちの現在評価として利用して頂き、さらなる飛躍をされることを楽しみにしています。

2012年11月19日 U-20プログラミング・コンテスト実行委員 浅井 宗海



■未来を創り出す君たちであれ

今年の審査はたいへんでした。どれも力作であり、10倍以上の難関をくぐり抜けてきた作品に優劣をつけることはとても難しい作業でした。作者によるプレゼンテーションも年々質が高くなっています。今回は寸劇やドラマ仕立てのプロモーションビデオまで登場しました。自分が手塩にかけたプログラムをアピールする姿には“親ばか”の要素が見え隠れします。
審査委員一同、プレゼンに惑わされてはならない、プログラミングそのものを審査するべきだという思いを強く持ちながら審査を続けました。その結果、昨年に続いて、個人作品の優秀さが目立つ結果となりました。
 受賞者のみなさんの生まれた頃には、すでに「パソコン」がこの世に登場しています。「パソコンの父」と言われている、アラン・ケイ(Alan Curtis Kay)氏は、今から40年以上も前に次のようなことを言っています。

The best way to predict the future is to invent it.
未来を予測する最善の方法は自らそれを創り出すことである。

プログラミングのよい点は、自分の欲しい“しくみ”を自らの手で作れることです。今は存在しないものでも、アイデアとパッションさえあれば、創り始めることができます。
今回の受賞作品の中には、われわれの思いもよらない発想を基に創られたものがありました。そのような作品に出会うとき、U-20の頭の柔らかさを見せつけられます。
若いみなさんは、未来を予測するのではなく、未来を創り出す担い手になってもらいたいと思います。プログラミングは、それを可能にする最大のツールになるはずです。

2012年11月12日 U-20プログラミング・コンテスト実行委員長 小泉 力一



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