⇒オンライン通信教育、おすすめプログラミング教室9選

プログラミングコンテストに応募する際の3つのポイント

プログラミングコンテストに応募するときの書類の書き方

おさらいです。

コンテストへ応募する作品は「完成したもの」でかつ、「〇〇みたいなもの」と、すでに存在している作品と比べない、……こんな内容でした。

今回は「応募するための書類」と「作り上げていく作品(プログラム)」のどちらにも当てはまり、誰でも出来ることなのに、あまり行われていない重要なことを調べていきましょう。

お話の中には、ちょっとだけ、プログラミングしてカタチにしていく「プログラム」の説明と、考え方も混ぜています。

⇒はじめてのプログラミングコンテスト。挑戦から受賞のコツ。

「書類は冒頭3行」「ソフト(アプリ)は最初の30秒」の法則

コンテストへの応募は書類か、特に最近はウェブページを使うオンライン方式で、項目を選んだり入力したりして提出できるようになりました。

紙に書いて応募するのか、インターネットを使って応募するのか、違いはありますがポイントとなる部分は、あまり変わりません。

実用的に使われる書類でしたら、最初に「まえがき」として時代背景や現在の動向を示し、次にプログラミングしていった内容や操作と手順を書く――。

このように説明文を「順番に並べて」最後は「結論」「結果」などの見出しのなか「できた事」「作品の特徴」を示します。文末は「おわりに」「まとめ」と総括を書き、締めくくります。

これが一般的な書類の形式ですが、……待って!

これは教科書みたいな示し方です。

コンテストすべてで意識するのは「竜頭蛇尾」(りゅうとうだび)になれ!

この言葉を覚えてください。

これは、竜のような立派で大きく雅な頭から始まったのに、どんどん面白みが減って、最後には「ヘビの尾」のように細く落ち着いてしまうことの、たとえです。

「皮肉」とも受け取られるので、普通は口にしません。

しかし竜頭蛇尾こそ、コンテスト応募の法則なのです。考え方はカンタンです。

説明は淡々と並べるのではなく、まっさきに「結論」「実現したこと」を示す点がポイントです。

新聞の見出し、デジタルテレビのドラマ冒頭、ゲームのオープニング部分は、ほとんどこの法則が活かされています。

もし、ゲームの冒頭が、激しい乱戦シーンから始まったら、思わず好奇心がそそられます。

そのまま多くの場合、この先どうなるのか見てみたい!

こんな雰囲気を作り出せます。審査する側でしたら「きっと楽しいだろう」とのイメージを抱いて、じっくり審査してくれるでしょう。

逆に、映像やゲームの最初が「黒い背景に白い文字が流れていくだけ」「しかも長いうえ、飛ばせない!」。

これでは「どうせつまらないだろう」とのイメージを抱き、審査するケースが増えます。

いくら良い面があろうと辛口の評価になるのは、目に見えています。

  1. 「近年、人工知能(AI)はディープラーニングと相まって、能力を高めています。またパソコンの処理速度が向上したため……(略)……このソフトは鍛えた相手とパソコンで綱引きをするゲームです」
  2. 「このソフトは、ディープラーニングで鍛えた人工知能と、デジタル綱引きをするゲームです」

さあ、1と2、どちらのゲームをやってみたい?

ウソは絶対にダメです。それで勝ち進んでも楽しくありません。けれど、少しの誇張(大げさに)して示すのは、問題ありません。

過去に審査員を務めさせてもらったとき、【1】のような形式を重視した応募作がもう、あまりに多く驚きました。

イラつきながら「作品のどこに惹かれたらいいんだろ?」。こうなっていましたから、辛口評価にもなります。

実際には、そうそう簡単にうまい文や説明は示せません。

うまい文を考えて、それがお仕事の「コピーライター」は多く居られるのですから。ですがそんな悩みは、あっさり解決できます。「竜」になればいいのです!

長い言葉より「動画」「画像」を優先!

「竜頭蛇尾」を思い出し、応募形式に違反しない限りは、早い段階で「ウリとなる画面」を、また、インターネットの応募で、可能ならば「動画」を提出しましょう。

動画の編集が苦手でしたら、作品を動かして、1番カッコよく操作できる場面や、ソフトの画面が派手に切り変わる&動く場面をキャプチャ(録画)すればいいのです。

究極の手は、スマートフォンやデジカメで「スゴい」「すばらしい」「斬新(新しいアイディア)」なシーンを録画すれば、何とかできます。

審査されるのは「作品」ですから多少、動画が乱れていても評価は変わりません。

1次選考、2次選考の段階では「見どころを、はっきり教えてくれて感謝」と、審査する側は感じてしまうケースまで。この部分は筆者の経験則ですけれど。

プログラミングで気をつけること

先ほど、「長いうえ、飛ばせない!」と書きました。これはプログラミングで解決できる部分です。

簡単に実現したいときは、長いシーンを動かすソースコード(指示書の文面)の合間に、「ユーザがキーを押す、クリックする、ゲームパッドを押すなどの状態が発生したら、シーンが終わる部分から、改めて文面を実行していけ」という感じの指示を作ります。

そしてシーンの合間、合間に、この指示を使って状態を調べさせます。よく見る「スキップ機能」です。

少しスマートなソースコードにして、手間も省きたいときは、多くのプログラミング言語(指示書に使う言葉のセット)に備えてある「タイマー機能」を活かします。

この機能は一般に、一定の間隔で「指定された文面を実行し、終わったら元のソースコードへ戻せる」優れものです。

タイマー割り込みとも呼ばれ、たくさん使われています。タイマー割り込みの問題点は気をつけないと、ソースコード同士の干渉(からまる)が起きること。

基本的にはタイマー割り込みは、プログラムを実行している機器がコントロールしているので、問題は起こりません。

ところがプログラミング中の不注意で、割り込みが起きたとき、処理をするソースコードの内容を、別の箇所でうっかり使っていた!

この場合は「エラー」と出てくるか、プログラムの動作が変になるか、……フリーズ(操作不能)となってしまいます。

制作に使った機器でだけ動作する!?

通称「環境依存」は、よくあることです。

作るときに使った機器(パソコン・スマートフォン)ではうまく動くのに、知り合いが持っている機器では「動かない!」「画面が小さい・大きい」「それ以前にエラーが出た!」などというもの。

現在のソフト・アプリは、複数のプログラムが支え合って「ひとつのソフト」として動作しています。

男優・女優さんだけスタジオに行っても、カメラマンが居なかったら無意味です。

それと同じことで「ひとつのソフト」だけUSBメモリ等へコピーして移しても、支え合っていたプログラムがコピー先に、セットされていなければ動作しません。

通常は「〇〇を実行できません」とエラー表示が出て終わります。

もはや審査どころの話ではありません。

そこで「セットアップ」「インストール」という作業が必要なのです。

この作業ではソフト・アプリを動作させるための「プログラム」類を、まとめてコピーしています。

市販ソフト・アプリがこの作業をするのも、うなずけます。ソフト・アプリを使う前の「儀式」ですね。

しかし、プログラムを記録した「ファイル」の数が増えると管理するのが難しくなります。

少数派ですが、「ひとつのソフト」をコピーさえすれば、対応しているOS(ウインドウズ等)でなら、動作するものもあります。

これなら「環境依存」はゼロ。そんな作品が完成したら、それ自体が「ウリ」にできます。

「インストールしなくて動作します」、こんな具合に明記しておきましょう。

どちらの場合でも、評価するのは「作品そのもの」ですから、評価が上がるというよりも、審査する側のイメージが良くなるかな、手間が省けるかな、と思います。

「依存」の最後は機種依存です。

かなり減りましたが、インターネットでウェブページを見ていくと、たまに文字がぐしゃぐしゃになること、あります。

これは規則をムシしたページ以外なら、多くは「ウインドウズでしか使えない文字」「マックしか使えない文字」「サーバ系がよく使う文字」が紛れ込み、機器が混乱して「化けた」文字表示になっています。

「文字化け」と呼ばれます。

インターネットを閲覧する「ブラウザ」で作品を実行させるときは、機種依存文字は使わないでください。

さらに、おまじない的な意味も込めて、ソースコードの最初に「〇〇という規格の文字を使う」などと、示すことをお勧めします。

メリットを知らせましょう

最後の最後は、コンテストへ応募&受賞ですから「アイディア」「新規性」が求められます。

こればっかりは、どうにか閃いてくださいとしか書けません。

世の中には、ペンとパイナップルとリズムを組み合わせた「30秒の作品で天下を取る」方も居るのですから。

誰にでも可能性は広がっています。

こうお伝えすると具体性がなく、夢のままで終わってしまいそうです。では、夢の受賞へと近づく、誰にでできることを実践してみましょう。

ズバリ、ソフトやアプリがどう役立つのか? 効果があるのか?

これらを示すに尽きます。

「ゲームアプリではそんな……」ってことはありません。

楽しくノリノリなゲームでしたら「プレイすれば不安な気持ちもノリノリに!」という具合に考えていきます。

作品を勢いづかせる自己PRです。

注意点は「効果や効能、財宝を探知できる」など具体性のある効果効能、預言予知は個人的な範囲を超えると、法律にふれるケースが出てきます。

あくまで作品に対する真実の評価と、言葉選びに徹し、応募前に「丸1日」使ってでも力を入れるポイントとなります。

まとめ

まとめていきます。応募の際には「環境や時代背景」「操作方法」は後回しでした。

また、ソフトでしたら機能の「長い説明」は後へ、そしてゲームでしたら「長々と登場人物の紹介、ストーリーを語る」などと示した途端、斜め読みされて、肝心な部分が見られない場合もあります。

評価してほしい部分は、先に示す!

プログラムとして、違う機器だと動かない作品は論外!

次に、作業をさせたら終わるまで中止できない作品、デモや動画像が始まったら見終えるまで操作できない等、これらはマイナスイメージです。先ほどの「タイマー機能」を使って改良します。

プログラミングのワザと、コンテスト応募のポイントを含めて、タイマーさながら、作品をパワーアップさせていきましょう!(にの文に、シラケてカウントダウンには、ならないでください……)

次回は「なければ作る!!! これが受賞への道」~4つのポイントですべて応用できます~。お楽しみに!!

 

*タイマーの感覚がいまいちという方は、わかりやすい言語の「スクラッチ」で確かめると、プログラミングの理解度は確かなものへ変わっていきます。

たとえば、スクラッチで「作る(プログラミングできる)」画面にしたら、水色の「しらべる」をクリックします。

表示が変わるので横長の楕円「タイマー」の左にある□をクリックし、チェックをつけます。

するとスクラッチの画面右上に「タイマー」と表示され、「自動的に」カウントアップするタイマー割り込み処理を見られます。

表示される値はスクラッチのプログラムを動かしているときも「割り込みによって、ずっとカウントアップ」されていきます。そうです。

スクラッチ自身がこっそり、タイマー割り込みを行って数値を「+1」しているのです。