Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

プログラミングスキルを向上させるには書籍などによる基礎知識の習得や参考になるプログラムの参照、教室などに通い先生に教えてもらうといった方法がありますが、一番確実なのは数多くのプログラムを自分で考えて実際に作成する事でしょう。

練習の題材となる問題は書籍などにも掲載されてはいますが、ネットには沢山の練習問題が公開されています。今回はプログラミングの練習問題が解けるサイトを厳選してみました。

この記事の結論
  • 幅広い言語で利用するなら「paizaのプログラミングスキルチェック」
  • プログラミングコンテスト向けなら「AtCoder」
  • ゲーム形式での練習問題なら「CheckiO」
  • Pythonの練習問題なら「Pythonで学ぶ 基礎からのプログラミング入門」
  • Javaの練習問題なら「はじめてのJava入門 初心者向けのJava講座」

プログラミングの練習問題が解けるサイト5選

paizaのプログラミングスキルチェック

paizaのプログラミングスキルチェックは純粋な練習問題サイトではないのですが、転職サービスの一環としてプログラミングスキルを測る事が出来るサービスです。

用意されている問題は20分程度で解ける超初級の問題や中級者向けの問題、制限時間6時間の超上級問題まで180問近くの問題が用意されています。

スキルチェックで用意されている問題ですので練習問題にもぴったりです。プログラミングスキルチェックを受ける際に使用できるプログラミング言語はJava、PHP、C言語など14種類に対応しているので今現在自分が保有しているスキルを使ってスキルチェックを受けることができますし、同じ問題を今後習得したいプログラミング言語を選択して取り組むこともできます。

なお、各問題とも1回しか受験できませんし、制限時間内に回答しなければいけませんのでどの問題にチャレンジするかは少し慎重になりますが、各問題には過去のチャレンジャーの正解率、平均回答時間、平均スコアが記録されていますのでチャレンジする際の参考になるでしょう。

問題を解くには会員登録が必要になりますが、プログラマは自分のスキルを客観的に把握しにくい部分がありますので、転職サービスの一環とは言えうれしいサービスではないでしょうか。

練習問題を受けてみたけど難しい「しっかりプログラミングの知識を身に付けたい」といった方は、「ポテパンキャンプ」での無料カウンセリングがおすすめです。

AtCoder


AtCoderはプログラミングコンテストを開催しているサービスです。

AtCoderでは毎週のようにプログラミングコンテストが開催されています。コンテストにも問題にも難易度が設定されており、一番簡単な難度Aの問題は20行未満のプログラムで解けるような問題も出題されています。

プログラミングコンテストと聞くと少し構えてしまいますが、チュートリアルも用意されていますし、ビギナー向けのコンテストなど様々な難易度のコンテストが開催されていますので得意なプログラミング言語で参加し、スキルアップを目指してみるのもいいでしょう。

AtCoderでは実際にコンテストに参加しなくても過去に開催されたコンテストの問題をサイト上で参照する事ができますので、それらでまず、腕試しをしてから実際のコンテストに参加することも可能です。

海外では活発なプログラミングコンテストですが、日本語でサービスを提供しているサイトは数多くはありませんのでAtCoderは貴重なサイトとなっています。AtCoderは日本専用のサイトという訳ではなく、表示言語として日本語の他、英語、韓国語も対応しています。実際、参加者も日本人だけでなく様々な国のエンジニアが参加しています。

AtCoderではコンテスト参加の結果として参加者をランキング表示しています。今時点のランキング1位のエンジニアはベラルーシのエンジニアでした。

なお、AtCoderには非公式ではありますが、有志による過去問題を集めたサイトとして、AtCoder Problemsが公開されています。コンテストの種類、難易度毎に問題が分類されておりこちらの方が練習問題としてはピッタリでしょうか。

プログラミングコンテストへの参加はスキルアップの近道ですから一度は参加してみたい所です。

CheckiO

CheckiOはゲーム形式になっているサービスで、PythonやJavaScriptでプログラムを書きながらステージを進めていく事でプログラミングスキルが身に付くように考えられています。

「Pythonでプログラムを作れるようになりたい」+「ゲームを進めたい」、という2つのモチベーションが原動力となっていますので、ゲームの好き嫌いが影響しますが「Pythonでプログラムを作れるようになりたい」というモチベーションだけで学習するよりは長続きできるように工夫されています。

出される問題はゲームの進行に合わせて少しずつ難しくなるように設定されており、初心者がいきなりゲームを進められなくなる。といったことが無いように考えられています。

CheckiOではゲームを進める中で出題される問題に対してプログラミングしていくわけですが、問題をクリアするにはとりあえず動くプログラムが作れれば先に進めることができます。ただ、プログラミングスキルを高めるためにはその答えが出された問題に対する最適解になるようにプログラミングしたい所です。

初心者にはなかなか難しい部分ですが、CheckiOではとりあえずであっても問題が解ければ他のユーザの回答を参照できるようになっており、自分のプログラムと見比べることでより最適なプログラミング方法を修得できるように考えられています。

他ユーザの回答を見ることができる以外にもCheckiOでは出題者からヒントがもらえる機能もありますので全然見当がつかない。と言った場合にはヒントをもらい学習を進めていけるように配慮されています。

CheckiOはゲームでは通常のゲームにはある時間制限やコンティニュー回数などは設けされていません。それは、CheckiOがスキルアップを最大の目的としているためです。当たり前と言えば当たり前ですが、熟考して回答を出すこともできますし、何度も添削して再提出する事も可能です。

CheckiOは英語のサイトではありますが、それほど難しい英語は使われていませんので翻訳サービスを使えば十分わかる内容でしょうし、エンジニアであれば専門用語は翻訳サービスなども使わなくても理解できると思いますので、気軽にチャレンジ出来るのではないでしょうか。

プログラミング練習だけでなくしっかりとスキルを身に付けたいならこちら

Pythonで学ぶ 基礎からのプログラミング入門

マイナビニュースで連載されていたPythonの入門記事に含まれる練習問題です。これからPythonを始めてみようと考えているエンジニアは入門に加えて練習問題まであるとても便利なコンテンツとなっています。

演習問題の数はそれほど多くはないですが、入門記事自体はPythonの紹介、インストール方法からマルチスレッド、デバッグ手法、コーディング規約に及ぶ全36回の連載記事になっていますのでPythonを初めて学習するエンジニアには丁度いい内容になっています。

なお、この入門記事にも記載されていますがこの記事の元ネタはシスコシステムズの社内教育で用いられた資料です。この資料はSlideShareで公開されおり、プログラミング未経験のエンジニアを対象としたものらしいです。

この入門記事を使って最後まで学習を行えば、一軒家は無理だけど犬小屋くらいは作れるようになるように内容が考えられているそうです。総スライド数が356もある力作ですので、こちらも参照する事でさらにスキルアップできるでしょう。

はじめてのJava入門 初心者向けのJava講座

はじめてのJava入門は初心者向けのJava講座です。初心者向けの様々なコンテンツの1つとしてJavaの問題集がある、という構成です。

練習問題はほとんどの問題が選択肢になっており、Javaの基礎知識を問う内容からスレッドに関する内容まで幅広く、初心者向けとして十分な量の問題が用意されています。また、回答の○×の採点に加え、とても簡単ではありますが各問題に解説も表示できます。

出題順番は毎回ランダムで変わるようになっており、問題を丸暗記は出来ないようになっていますので間違った問題などは何度も解いて理解を深めていきたい所です。

練習問題以外のコンテンツとしては超初心者向けの講座や、Javaアプリケーションの講座なども準備されていますので練習問題が終わればこれらの講座にも取り組むとされにスキルアップに効果的です。

今回、プログラミングスキルアップを目指すために練習問題を公開しているサイトをいくつか見てきました。純粋に練習問題だけを公開しているサイトはありませんでしたが、それは、よりスキルアップを目指すための工夫の結果のようです。

今回取り上げたサイトでは入門講座や、プログラミングコンテスト、ゲームなど様々な工夫が凝らされおり、学習が継続できるように考えられていますので、これらのサイトを積極的に活用してプログラミングスキルを向上していきましょう。

プログラミング練習だけでなくしっかりとスキルを身に付けたいならこちら

効果的なプログラミングの練習問題の解き方

プログラミングを練習できる5つのサイトを紹介しました。次に、どのように練習問題に取り組めば効果的なのかを考えてみましょう。

練習問題は一度解いて終わりにしない

どんな学習にも共通する、とても大事なことがあります。それは「反復練習」です。

練習問題を解く目的は正解することではなく、問題を解決する「思考回路」を頭の中に作ることです。そのためには、一度解いてみて答え合わせをして納得するだけではなく、何度も反復して解いてみましょう。

解法を頭の中に定着させるもう一つの有効な方法は、少しだけ時間を置いて忘れかけた頃に再度やってみることです。忘れて、思い出して・・・と繰り返すうちに、より強固に解放を定着させることができます。

練習問題を解くことを短期集中で終わらせず長期継続する

皆さんが問題を解く時、どの程度の時間を掛けますか?サッとやって解答を見て終わりにしていませんか?

資格試験の勉強ならその方法はアリですが、プログラミングの場合は時間を少し長めにとって、継続して考えてみてください。慣れないうちは分からないことだらけでイライラして早く解答を見たくなるかもしれません。そこをグッとこらえて、間違ってもいいのであの手この手を考えてとするうちに、徐々にスピードアップができるようになります。

短期集中ではなく、長期継続することを心がけてみてください。

練習問題を解くことだけにこだわらず目的を明確にする

プログラミングの問題とは、クロスワードパズルを解くのとは異なり、あるテーマについて問うています。例えば、論理式(ANDやORなど)の使い方であったり、クラス変数のカプセル化であったり、などです。

問題をひたすら解いていくと、そもそも何を問われてているのか、何を考えなくてはいけないのかがおろそかになり、解くことそのものが目的になってしまうことがあります。

問題を解く前、または答え合わせをする時、そもそも何をしなければいけないのかという「問題の目的」を考えるようにしましょう。

効果的なプログラミングの練習問題の解き方
  • 練習問題は一度解いて終わりにしない
  • 練習問題は継続的に解くことを心掛ける
  • 練習問題を解くことだけにこだわらず目的を明確にする

練習問題だけでなく体系的に「しっかりプログラミングの知識を身に付けたい」といった方は、「ポテパンキャンプ」での無料カウンセリングがおすすめです。

まとめ

プログラミング学習にはインプットだけでなく、アウトプットが非常に大切で練習問題を解くことは効果的な方法です。

今回ご紹介したサイトを中心に、ご自身のスキルを確認する意味でもぜひプログラミング練習問題に挑戦してみてください。

プログラミング練習だけでなくしっかりとスキルを身に付けたいならこちら

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。