プログラミングコンテストのすすめ

この記事は、 Kogakuin Univ Advent Calendar 2016 - Adventar 19日目の記事です。

www.adventar.org

 

目次

・この記事は

・私のプログラミング生活

・言いたいこと

プログラミングコンテストの種類

・その後の私

・さいごに

 

この記事は

プログラミングが好きだけど何すればいいか分からない、または1人で何かを作って自己満足で終わってる人、に向けてメッセージを贈る記事です。私の経験を垂れ流しながら書きたいと思います。

 

私のプログラミング生活

私が本格的にプログラミングを始めたのは大学1年生の時です。当時はゲームや様々なシミュレーションを作って遊んでいました。

 2年の冬、CODEVSというプログラミングコンテストに出会いました。ゲームAIを作って他の人が作ったAIと対戦するコンテストです。日本中の学生・社会人が参加します。

私は腕に自身があったので上位を狙って参加しました。

 

周りとの差に絶望しました。

予選にもかかわらず、ランキング上位のAIはありえないスコアを平然と叩き出しているのです。大学内ではダントツでプログラミングが出来るのに、まるで通用しなかった。

 

決勝会場には誰でも入ることができ、私も参加しました。自分も一生懸命挑戦したゲームの決勝戦、ランキング上位陣の試合を巨大スクリーンで見るのはとても盛り上がりました。

大会終了後の懇親会では、ランキング上位の方や社会人の方とお話することが出来ます。目の前にいる強い人から戦略やスキル、実生活のお話が聞けて、とても刺激を受けました。

また同じくらいの順位の方とは大体スキルが同じなのでより親近感がわき、それで話も盛り上がりました。

 

大学内ではダントツでプログラミングが出来る私は、その場ではごく普通の人でした。

 

言いたいこと

自分1人で勉強したり、大学内でしか関係を持たないのはもったいないです。だいたい井の中の蛙で終わります。外と接触し自分のスキルがどの位置にいるのかを知ることは重要です。

それにはプログラミングコンテストに参加することが一番です。

 

また1人でやるよりも、仲間やライバルを持ち、格上の人とのつながりを持つことは重要です。周りに人がいると刺激受け、モチベーションが上がり、脳のなんとかホルモンが増え、より効率良くスキルアップすることに繋がります。(気持ちは重要)

その周りの人を作るためにもプログラミングコンテストは使えます。

 

プログラミングコンテストは本当に使えます。積極的に利用していきましょう。

 

プログラミングコンテストの種類

コンテストには種類もいくつかあり、大きく言えば以下の3種類に分けられるんじゃないかなと個人的には思います。

・ゲームAIコンテスト系(codevs、samurai coding、codingame等)

競技プログラミングコンテスト系(atcoder、code festival、topcoder等)

・作品コンテスト系(U-22プログラミングコンテスト等)

 

この分類は結構適当で、CTFやトラブルシューティングコンテスト、ISUCONなどまだまだたくさんのコンテストがあります。ぜひ調べてみてください。

 

その後の私

実は私よりプログラミングが出来る人が大学の後輩にいたり、大学の同級生に同じくらいの人がいて全然ダントツじゃなかったりってのが後から分かるんですが、まあ当然のように頻繁に集まるようになります。

やっぱり大学内にプログラミング仲間がいることは重要です。モチベーションの上がり方が違います。

またコンテストに参加したことで自分にはまだまだ努力が足りないことを知り、さらに勉強に励むようになりました。

そしてコンテストで知り合った方とSNSで繋がることで、様々な情報を得るようなりました。

 

そんなこんなで最初に参加したCODEVSから1年半後、CODEVS for STUDENT(ついこの間決勝があった)では、決勝3位という結果を残すことができました。

 

努力バンザイ

 

 最後に

CODEVSは超オススメです。だってプログラミングで対戦が出来るんですよ!楽しくない訳が無い。

そして「決勝戦を見る」という形で2度楽しめることも重要なポイントだと思います。

他のコンテストにはなかなかない魅力ですね。

youtubeやニコ生タイムシフトに決勝戦の動画があるんで見てみてください。