競技プログラミングの始め方! おすすめ学習サイト紹介

プログラミングの学習を始めたい方、多いのではないでしょうか?

ですがプログラミングを始めると言っても、何から始めるか迷いますよね。

おすすめのプログラミング学習法を紹介します。

プログラミングの学習法

「ゲームを作りたい」

 

「AIを作ってみたい」

 

「アプリを作りたい」

など作りたいものがある場合、進め方は分かりやすいです。

どんなに簡単なものでもいいので「作りたいものを作ってみる」ことが一番です。

何か1つでも完成させられるとかなりの達成感が得られますので、どんどんレベルをあげていきましょう!

 

逆に、「特に作りたいものないんだけど..」という場合もありますよね。

そんな時には「競技プログラミング」をやってみましょう。

競技プログラミングとは

aoj-program1

パズルのような問題を解いて参加する、参加型のプログラミング学習です。

以下の3つの理由が特徴で、継続がしやすいです。

競技プログラミングのメリット

① メールアドレスで簡単に登録可能、利用は無料!

② 面倒な環境構築が不要、自動で採点される

③ レーティング形式で他参加者と競えてレベルアップが分かりやすい

① メールアドレスで簡単に登録可能、利用は無料!

競技プログラミングには、ほとんど無料で参加できます。

登録に必要な情報もメールアドレスくらいで、とても簡単です。

無料というのは最強のハードルの低さなので、お試し感覚でとりあえず始められますね。

② 面倒な環境構築が不要、自動で採点される

プログラミングで最初の障壁になるのが「環境構築」です。

自分のパソコンでプログラムを実行する環境を作れず、何もできずに挫折…というのは結構ありがちです。

競技プログラミングはオンラインサービスなので、自分で環境を用意する必要がありません

インターネットがあれば、サイトからプログラミング実行環境をいきなり使わせてもらえます。

 

また競技プログラミングでは問題を解いて提出すると、即座に結果が返ってきます。

AC(正答)、WA(誤答)、RE(エラー)など。

普通の試験とかだと、採点に1週間かかったりして問題を忘れていることも多いですね。

即座に結果が返ってくる仕組みなので、試行錯誤しやすいです。

③  レーティング形式で他参加者と競えてレベルアップが分かりやすい

レーティングがあるので、ゲーム感覚で参加できます。

解ける問題が増えると、自分のスコアが上がっていくのでモチベーションアップになりますね。

このゲーム感覚というのが重要だと私は考えていて、楽しめる要素があると継続しやすくなります。

 

おすすめ競技プログラミングサイト

AtCoder

数学・パズルに近い問題が出題され、それをプログラミングで回答するコンテスト形式のサイトです。

メールアドレスを用意すれば、無料でアカウントを作り参加できます。

レーティングを上げると、就職にも使える場合があります。

日本最大の競技プログラミングサイトになっています。

https://atcoder.jp/

Atcoderでプログラミングを最初から始める方は、AtcoderのC++入門をやってみましょう。

解説+問題形式で、必要な基礎知識を得ることができます。

AtcodrのC++入門

AOJ(AIZU ONLINE JUDGE)

競技プログラミングの形式に慣れながら進めるのに最適のサイトです。

「コース」というボタンから、学びたい分野を問題形式で学習できます。

(「プログラミング入門」「アルゴリズムとデータ構造入門」「グラフ」など)

1つ1つの問題が軽めなので、少しずつ自分のペースで学習できます。

https://onlinejudge.u-aizu.ac.jp/

 

上の2つのサイトなら、無料で少しずつ進められますので続けやすいです。

ちなみに、言語は得意なものがなければ「c++」か「python」がおすすめです。

プログラミングの醍醐味を感じることができますよ!