読者です 読者をやめる 読者になる 読者になる

paiza開発日誌

paiza(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

脱3日坊主!初心者でも、プログラミング問題を楽しくたくさん解いて学習できるサービス8選

f:id:paiza:20161130155323j:plain
Photo by Kristina D.C. Hoeppner
f:id:paiza:20140916135428p:plainこんにちは。谷口です。

プログラミングの勉強をしてみたい!」という初心者の方とお話していると

・プログラミングの勉強を始めたいけど、どうやったらいいかわからない
・実際にコードを書いてみたいけど、環境構築や概念を先に理解するのはハードルが高い
・勉強を始めてみたことはあるけど、3日坊主で終わってしまった

という人が結構多いと感じます。

プログラミングは、特に最初はある程度継続して勉強を続けることが大切です。

また、プログラミングを学ぶなら、最初から全ての概念を理解したり用語を暗記したりするよりも、自分で手を動かしてプログラミングをして、書いたコードを実行してみる…という実践的な勉強が重要になってきます。

とはいえ、「手を動かすと言っても、まだ初心者なのに何をプログラミングしたらいいかわからない」という方も多いと思います。

そこで今回は、初心者でもブラウザ上でたくさんのプログラミング問題が解けるサービスをご紹介していきます。対応言語や料金制度なども表記しておきますので、プログラミング問題を解いて勉強がしたい初心者の方の参考になればと思います。

Progate

f:id:paiza:20150204125057p:plain
対応言語:HTML&CSSPHPJavaScriptjQueryRubyRuby on RailsJava
料金:基本無料(有料会員980円~)

Progateは、スライドによるレッスンで基礎を学び、オンラインエディタでプログラミングをして実行結果を見ることができます。

コーディングの際は、エディタやプレビュー画面と一緒にお手本となる見本画面や解説も見ることができますので、これまで「独学でプログラミングを学ぼうとしたけど挫折した……」という人にもかなりわかりやすいと思います。

CODEPREP

f:id:paiza:20151214173200p:plain
対応言語:RubyPHP、HTML、CSSJavaScriptjQueryCanvas、Animate.css
料金:無料

CODEPREPでは、コードの穴埋め問題を解きながらプログラミングの基礎から応用、アプリ開発に関してまでを学ぶことができます。

例えば「Javascriptでつくるタイマー」や「JavaScriptでつくるおみくじ」といったブックと呼ばれるカリキュラムがあり、問題を解き進めていくと実際にそのアプリができあがりますので、実際に動くものを作ってみたい人にぴったりです!

Progra!

f:id:paiza:20151214164952p:plain
対応言語:PHPRubyPythonVBA
料金:無料

Progra!も、穴埋め問題で基礎的なコードの書き方を学べるサービスです。隙間時間などに穴埋め問題を解くだけで素早く学習を進められるので、「勉強したいけどあんまりまとまった時間がとれない…」という方にもおすすめです。

CodeEval

f:id:paiza:20160530180025p:plain
対応言語:Java、C、C++JavaScriptPHPRubyPerlClojureなど
料金:無料

CodeEvalはプログラミング問題を解いたエンジニアのスキルを見て採用活動を行うためのサンフランシスコ発のサービスです。もちろん学習や自分の腕試しのために問題を解いてみることもできます。

問題は初級や中級といった難易度に分かれており、かなり豊富に用意されています。対応言語も18言語以上と充実しており、問題はオンラインエディタでその場で解くことができます。

「海外のサイト?難しそう!」と思うかもしれませんが、「FizzBuzz」レベルの初心者向け問題からありますので、「初心者だけどとにかくいろんな問題解いてみたい!」という人におすすめです。

Codecademy

f:id:paiza:20150203192239p:plain
対応言語:HTML/CSSRubyPythonPHPJavaScriptjQuery
料金:無料

Codecademyも、実行環境を構築しなくてもオンライン上で書いたコードを実行できるサービスです。問題を解きながら実際にWebサイトを作ったりする実践的で本格的なコースで学習をすることができ、利用ユーザーはすでに全世界で1600万人以上とも言われています。サイト内は一部のみ日本語対応していますが、ほとんどは英語のみの表示となっています。

Codeschool

f:id:paiza:20150204150903p:plain
対応言語:HTML/CSSJavaScriptRuby
料金:月$25(無料コンテンツもあり)

動画とコーディング問題を通して、Webアプリを作る勉強ができるCodeschoolです。動画にゾンビが出てきたりして、課題も楽しく学習できます。そしてRailsに特化した学習サイトなので、「Railsの勉強になる問題が解きたい!」という人にはかなり良いサービスだと思います。

Elevator Saga

f:id:paiza:20160530175817p:plain
対応言語:JavaScript
料金:無料

ちょっと変わり種ですが、Elevator Sagaは、エレベーターのアルゴリズムJavaScriptで書くゲームです。

何秒間のうちに何人を運ぶなどといった条件がステージごとに決まっているので、クリアを目指してコードを追記・修正したりしながら、エレベーターの動きを制御します。

実際に画面に表示されたエレベーターの動きで実行結果がわかるので、シンプルですが意外にハマります。

paiza/paiza新卒

f:id:paiza:20150730172136p:plain
対応言語:Java, PHP, Ruby, Python2, Python3, Perl, C, C++, C#, JavaScript, Objective-C, Scala, Go, Swift
料金:無料

paizapaiza新卒では、スキルチェック問題を多数ご用意いたしております。

プログラミング問題を解いた結果によりS・A・B・C・D・Eの6段階で自分のスキルのランクが分かります。問題はレベルごとに分かれており、初心者から上級者の方まで挑戦していただけますので、「自分のプログラミングスキルを客観的に知りたい」「とにかくたくさん問題が解きたい」という方は是非チャレンジしてみてください!!

また、paizaではより初心者の学習に特化した以下のコンテンツも提供しています。

paizaラーニング

f:id:paiza:20160726140821j:plain
対応言語:JavaPythonRubyPHPC言語SQLJavaScript、HTML+CSS(今後追加予定)
料金:基本無料(一部有料)

paizaには、オンラインでプログラミング学習ができる「paizaラーニング」を公開しています。動画でログラミングが学習できる未経験者向けレッスンを一部無料で受講できますので、ぜひごらんください!

paizaラーニング」では、動画レッスンを見て、その場でレッスン内容をプログラミングすることで理解を深め、その後に練習問題を解いて応用力をきたえることができます。1本3分程度という短い動画なので、毎日無理なく続けることができます。

また、わからない点は弊社エンジニアに質問をして、アドバイスをもらうことができます。初歩的なところでつまずいて、やる気を失ってしまうこともありません。

コードガールこれくしょん

f:id:paiza:20160420124328j:plain
対応言語:PHPRubyPythonJava、C、C#
料金:無料
paizaが公開しているコードガールこれくしょん略してガルこれは、美少女ナビゲーターと一緒にプログラミング問題を解いて「コードガール」を集めながらストーリーを進めていく、これまでにないプログラミング学習ゲームコンテンツです!

ゲーム内ではクエスト報酬やログインボーナス・ミッションクリア等の各種特典として手に入る「コイン」や「ダイヤ」を使って、ガチャでさまざまな「コードガール」を収集することができます。クエストで有利になる特殊スキルを発動させたり、「これくしょん」に入れてマイページに飾ったりと、コードガールをたくさん集めるほど楽しみ方が広がります!!

■まとめ

始めたばかりの方が難しいシステム作りや環境構築に無理して挑戦し、歯が立たないと「プログラミングってつらい……楽しくない……」という印象を抱いてしまいがちです。

プログラミング問題をたくさん解くことは、勉強になるのももちろんですが、自分で作って動かして結果を見ることで、手軽にプログラミングの楽しさを実感することができると思います。

気になるサービスがございましたらぜひ挑戦して問題を解くことで、スキルアップにつなげていただければと思います。

paizaも、多くの方に「プログラミングって楽しい、もっとやってみたい、スキルアップしていろんなことができるようになりたい!」と感じてもらえるようなサービスを作っていきたいと思います。




paizaではITエンジニアとしてのスキルレベル測定や、プログラミング問題による動画学習コンテンツ(paiza Learning)を提供しています。テストの結果によりS,A,B,C,D,Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

http://paiza.jp

プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編