スライドショースライドショースライドショー

プログラミング練習に最適!おすすめ問題サイトの紹介とメリットを解説

プログラミング問題サイトはプログラミングの学習に便利?

プログラミングに関する問題が出題されていて、解くことができるサイトがあることをご存知でしょうか?

プログラミングは、ノウハウを読むだけでなく、実際に使いこなすのには経験が必要です。本を読んだだけでは想像もできなかったエラーが発生することもあるので、経験を積んで対処方法を覚えていく必要があるのです。

そこでおすすめなのが、プログラミングの問題サイト。疑似的な経験を積ませてくれるので、プログラミングの練習が効率的に行えます。

今回は、プログラミングの問題が解けるサイトについて、特徴や挑戦するメリットを解説していきます。

プログラミング問題が解けるサイトの特徴3つ

プログラミング問題が解けるサイトは探してみるとたくさんありますが、いくつかの特徴別グループに分けることができます。

そこでここでは、プログラミング問題が解けるサイトの特徴について紹介します。自分がどのような観点でプログラミングの練習をしたいのかを考え、学びたい特徴に応じたサイトを選択すると良いでしょう。

特徴1:難易度を選べる

プログラミング問題が解けるサイトは、プログラミングの難易度に応じて、問題のレベル選択ができるものが多いです。これからプログラミングを学ぼうとしている人は、プログラミング問題サイトの最も簡単なレベルから、すでにある程度プログラミング経験があるという人は、中程度や高レベルの問題からスタートできます。

難易度が選べることで、時間を無駄にすることなくスムーズに問題を進められます。

特徴2:言語別に提供されている

プログラミング言語の種類別に問題が提供されているのも、プログラミングの問題サイトの特徴です。1つのサイトで複数の言語を扱っているものもあれば、1つの言語に特化した練習サイトの場合もあります。

プログラミング初心者で、特に決められた言語について学ぶ必要に迫られていない学習者の場合は、複数の言語を並行して練習できる問題サイトを利用するのがおすすめ。言語ごとの動作の違い、記述の違いを理解しやすいです。

特徴3:ゲームタイプのものもある

プログラミング問題が解けるサイトの中には、ゲーム感覚でプログラミング習得ができるサイトもあります。

ゲームを楽しみながらプログラミングを理解できるので、初心者におすすめ。知識を無理やり詰め込むのではなく、楽しみながら学んでいけば、感覚的にプログラミングを理解できるようになる効果も得られます

【難易度別】オススメのプログラミング問題サイト6つ

プログラミング問題が解けるサイトの特徴や、利用することのメリットについて、理解していただけたでしょうか?ここからは、おすすめのプログラミング問題サイトを難易度別に6つ紹介します。

ご自分のプログラミングレベルや目指すプログラミングレベルに対応するプログラミング問題サイトを選択し、学習を開始してみましょう。

脱初心者にオススメのサイト3つ

まずは、プログラミング学習を1通り終えた方が脱初心者を目指すのにおすすめの、プログラミング問題サイトを3つ紹介します。それぞれの対応している言語、学習タイプ、動作環境などを見てみましょう。

Aizu Online Judge

引用元:Aizu Online Judge http://judge.u-aizu.ac.jp/onlinejudge/

「Aizu Online Judge」は、会津大学で作成されたプログラミング問題のオンライン採点システムです。頭文字をとって「AOJ」とも呼ばれています。

AOJには、プログラミング競技大会の問題に挑戦し、解答の正誤判定をするシステムとして構築されました。過去に情報オリンピックなどの大会で出題された問題が用意されており、プログラミングレベルに合わせた問題で練習ができます。

AOJには初心者から上級者まで、さまざまなコースが用意されているため数多くの問題が用意されているため、自分に合った問題で腕試しができます。一番簡単な初心者コースでは「Hello World」の出力問題からなので安心して取り組めます。

北ソフト工房

引用元:北ソフト工房 http://kitako.tokyo/Default.aspx

「北ソフト工房」では、システム上でC言語、Java、C#、VB.NETの練習問題を提供しています。C言語に関しては、入門書も公開されています。

ゲームタイプではなく、学習参考書のようなテキストで問題文が表示されているのが特徴です。解答の仕方としては自身のPCで使用しているテキストエディタに答えを書くというスタイルです。問題集を解くのが好きという方におすすめです。

練習問題としては、「レーダー」「すごろく」「ハイ・カード」「ステーション」「ナンバーズ」「月面軟着陸ゲーム」「ハングマン」といった、興味を持って取り組める題材が用意されています。

Codeドットorg

引用元:Codeドットorg https://code.org/

「Code.org」は、「すべての学校の、すべての生徒が、コンピュータサイエンスを学ぶ機会を得るべき」という理念のもとに公開されている、プログラミングの練習サイトです。

こちらはアメリカで開発されたプログラミング学習サイトですが、中身はプログラミング初心者の大人も満足する内容となっております。ゲームタイプの問題が用意されており、スターウォーズなどの日本でもよく知られているコンテンツで腕試しができます。

「すべての学校の、すべての生徒が」とあるように、コンピュータを持てない子供でも学習できるように、アンプラグドレッスンも用意されています。

中級者にオススメのサイト3つ

プログラミングの基本的な考え方は理解している、実際にプログラミング経験があるという、中級者の方におすすめのプログラミング問題サイトを紹介します。

3つのサイトがそれぞれ対応している言語、学習タイプ、動作環境を見てみましょう。

TopCoder

引用元:TopCoder https://www.topcoder.com/

「TopCoder」は、「競技プログラミング」と呼ばれるコンピュータープログラムのコンテストに参加することで、プログラミング問題を解くことにもなるサービスです。

コンテストは上級者ばかりで嫌だなあと感じる人でも、「practice room」と呼ばれる練習用の場所もあるので、そこでさまざまなレベルの問題を解くことができます。

TopCoderには、熟練プログラマーから初心者まで世界中の人が参加しており、コンテストも一つではなく、いろいろなコンテストが開催されています。コンテストに参加しなくても、過去問から練習をすることも可能です。

paiza

引用元:paiza https://paiza.jp/

「paiza」は、多くの言語を練習することができるプログラミング問題サイトです。

スキルチェック問題をはじめ、プログラミングレベルに応じた問題が各種用意されているので、いろいろなスキルレベルの人が利用できます。「paiza」では、プログラミング問題のほか、ゲームのキャラクター構成などもでき、楽しみながら問題を解けます。

paiza転職とも連携しており、解答できた問題のランクによって応募できる企業が変わってくるため、とてもやりがい持って問題に取り組むできることができます。

美少女と一緒にプログラミング問題に挑戦していく、アプリケーションゲームもあるので、1度試している価値大です。

CodingBat

引用元:CodingBat https://codingbat.com/java

「CodingBat」は、JavaとPythonの問題を練習できるサイトです。サイトの言語は英語のみですが、プログラミング関連の用語が読み取れれば、利用は可能です。

練習問題しかなく、淡々と解答していくゲームタイプのサイトになります。

問題に対する解答となるコードを記述すると、結果を判定してくれます。とにかくたくさんの問題を解いて、プログラミングに慣れたいと考えている人におすすめのサイトです。

プログラミング問題が解けるサイトのメリット7つ

プログラミング問題が解けるサイトを利用するのと、プログラミングのノウハウ本から自力で学ぼうとするのとでは、プログラミングを理解するスピードや習得度には違いがでるのでしょうか?

ここでは、プログラミング問題が解けるサイトを利用することのメリットを7つを紹介します。これからプログラミングを学ぼうと考えている人は、自分にとってのメリットが得られるか判断する参考にしてください。

メリット1:手を動かしながら学習できる

プログラミング問題を解けるサイトの大きなメリットの1つが、手を動かせることです。ノウハウ本など、テキストを参照しているだけでは、なんとなくわかったような気になってしまい、深く理解できないことが多々あります。

しかし問題サイトを利用すれば、実際にコードを記述したり、コードを実行したり、実行結果を経験したりできます。また、コードの記述の仕方など、本を読んだだけでは身についていないと自覚できるのもメリットの1つでしょう。

メリット2:スキルが早く身に付く

プログラミング問題が解けるサイトを使うと、プログラミングの経験を積むことができます。

実際に手を動かして、コードを記述し実行させてみると、テキストには書かれていなかった経験をすることも。想定外のエラーが発生したり、予想した実行結果と異なっていたりというイレギュラーな経験を積むことで、テキストだけでは得られないスキルを身につけられるようになります。

メリット3:具体的な課題を出してくれる

プログラミング問題が解けるサイトを使って実際にプログラミングをしてみると、テキストからは見えなかった課題が見えるようになります。テキストには書ききれなかった、実行結果のわずかな差異のこともあれば、学習者のプログラミングに臨む技術や考え方の場合もあります。

プログラミング問題が解けるサイトは実践に近い形で学習できるので、プログラミングの方法や向かい合い方など、実際に発生する課題が明らかになるでしょう。

メリット4:環境構築を用意してくれる

プログラミング問題が解けるサイトでは、問題を出題するだけでなく、実行結果を確認できる環境を提供してくれています。

プログラミングのノウハウ本などのテキストにもプログラミング問題は掲載されていますが、実際に動かしてみるためには、実行環境を構築しなければなりません。プログラミング初級者にとって、いきなり実行環境を構築するというのはとてもハードルが高いですが、サイトを利用すれば問題ありません。

メリット5:コストがかからない

プログラミング問題が解けるサイトを利用してプログラミングの練習を行えば、自分でプログラミングの環境を用意することも、教えを乞うこともなく、コストを抑えることができます。

実際に自分ですべての環境を整えようと思うと、マシン環境やソフト環境に費用を割かなければならないこともあります。しかし提供されている環境を利用すれば、費用をかけずに習得できます。

メリット6:いつでもできる

プログラミング問題が解けるサイトはインターネット環境さえあれば利用できるので、外出の際の隙間時間なども活用できます。

そのため、忙しい中で新たなプログラミング言語を習得しようとしている場合や、IT業界とは別の業界に属しながらプログラミングに挑戦してみようと考えている場合におすすめ。自分の時間ができたときに、自由にアクセスして学習できます。

メリット7:企業からスカウトを受けられる

プログラミング問題が解けるサイトはIT系の転職サイトが運営していることも多く、サイト利用時に登録したメールアドレスにスカウトメールが届くこともあります。そのため、求職中や、これから転職を見据えてプログラミングを習得しようとしている方におすすめです。

なんの前提もなく企業面接を受ける場合よりも、スカウトメールが届いた企業への転職活動の方が、採用を期待しやすくなります。

プログラミングコンテストへの挑戦はいかが?

プログラミング問題を数多く解いていくと、

  • 自分でオリジナルプログラミングを作成したい
  • 他人と比べて自分のスキルレベルはどうなのか知りたい

という欲求が湧いてきます。こうなるとITエンジニア・プログラムとしての面白さに気づいて、プログラミングの世界にどっぷりはまります。

そんなあなたにおすすめなのが、プログラミングのコンテストに出場して自分の実力を試すことです。中には賞品付きもあるので、俄然やる気が出るでしょう。

ここではプログラミングコンテストを行っている3つのサイトを紹介します。あなたもぜひ挑戦してみてください。

AtCoder

引用元:AtCoder https://atcoder.jp/?lang=ja

日本で最も有名なアルゴリズム系コンテストのサイトになります。ここでは出題された問題に対し、効率的なプログラムを作成することです。ただ動けばいいというわけではなく、すっきりしたコードを書く必要があります。

毎週土日の20:00~21:00ごろ(月日によって変更あり)に開催され、大体100分で解答します。各人によってスコアが色で表示され、解答の結果によってスコアが変化します。最高ランクは「赤」になります。

コンテストは難易度別になっており、初心者向けは「AtCoder Beginner Contest」ですので、数多く問題を解いてきた方はぜひ挑戦してみてはいかがでしょうか。

HSPプログラミングコンテスト

引用元:HSPプログラミングコンテスト https://hsp.tv/contest2019

HSPと呼ばれる開発環境を使用して、自身が作成したソフトやゲームを提出し競い合う作品系のコンテストです。審査により入賞作品が決定されます。入賞者にはモバイルノートPCなどが送られ、入賞出来なかった人全員にも参加賞が送られます。

今年で17年目と歴史あるコンテストで、他参加者の作品も見ることができるので、ぜひ挑戦してみてください。

U-22プログラミングコンテスト

引用元:U-22プログラミングコンテスト https://u22procon.com/

U-22プログラミングコンテストは22歳までの若者に向けて開催されており、1980年から始まった全国高校生プログラミングコンテストから40年間行われている歴史あるコンテストです。

最高賞に入賞し経済産業大臣賞に選ばれると、賞金50万円が貰えるだけでなく、事業創出や起業支援のバックアップを受けることができます。若いうちから自身のスキルで作成した作品で腕試しをできるので、アイディアや夢を持っている人はどんどん挑戦してみてください。

サイトを利用してプログラミングの問題を解いてみよう

ここまで紹介してきたように、自らプログラミング環境を構築しなくても、Web上でプログラミングを経験できる「プログラミング問題サイト」は数多くあります。

自分が学びたいと考えているプログラミング言語の扱いがあるサイトを選択し、まずは手軽に試してみてはいかがでしょうか?プログラミング問題サイトを利用して、プログラミングの問題を解き、スキルアップを図りましょう。

また、プログラミング問題サイトを利用し始める前に、「プログラミングでどんなものを作ろうか?」「何のプログラミング言語を学習しようか」などを決めておくと良いでしょう。プログラミング学習の挫折率は約9割にもなるので、どんなものを作るか・何の言語を学習するか等の目的を決めることは、挫折を防ぐ上で重要です!(以下の記事も参照してください)


【挫折率90%】プログラミング学習に失敗する原因と正しい学習ステップ
更新日 : 2020年5月5日

プログラミングについての豆知識を入れておくこともおすすめです。プログラミングとは何か、どんなプログラミング言語があり、それぞれ何を作れるのか、どんな学習方法があるのか、学習環境はどう整えるのかなどの情報を知って方向性を決めておくと、スムーズに行きますよ。

プログラミング問題サイトをより効率良く使いたい方は、ぜひこちらをお読みください。

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通して、プログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

cta_under_btn

書いた人

深町 一雄

深町 一雄

元ウェブディレクター/編集者
メイン機はOS9時代からMac。
最近はUnityに興味があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習やキャリアのお悩み、お気軽にご相談ください。