Photo by Kristina D.C. Hoeppner
こんにちは。谷口です。
「プログラミングの勉強をしてみたい!」という初心者の方とお話していると
・プログラミングの勉強を始めたいけど、どうやったらいいかわからない
・実際にコードを書いてみたいけど、環境構築や概念を先に理解するのはハードルが高い
・勉強を始めてみたことはあるけど、3日坊主で終わってしまった
という人が結構多いと感じます。
プログラミングは、特に最初はある程度継続して勉強を続けることが大切です。
また、プログラミングを学ぶなら、最初から全ての概念を理解したり用語を暗記したりするよりも、自分で手を動かしてプログラミングをして、書いたコードを実行してみる…という実践的な勉強が重要になってきます。
とはいえ、「手を動かすと言っても、まだ初心者なのに何をプログラミングしたらいいかわからない」という方も多いと思います。
そこで今回は、初心者でもブラウザ上でたくさんのプログラミング問題が解けるサービスをご紹介していきます。対応言語や料金制度なども表記しておきますので、プログラミング問題を解いて勉強がしたい初心者の方の参考になればと思います。
■Progate
対応言語:HTML&CSS、PHP、JavaScript、jQuery、Ruby、Ruby on Rails、Java
料金:基本無料(有料会員980円~)
Progateは、スライドによるレッスンで基礎を学び、オンラインエディタでプログラミングをして実行結果を見ることができます。
コーディングの際は、エディタやプレビュー画面と一緒にお手本となる見本画面や解説も見ることができますので、これまで「独学でプログラミングを学ぼうとしたけど挫折した……」という人にもかなりわかりやすいと思います。
■CODEPREP
対応言語:Ruby、PHP、HTML、CSS、JavaScript、jQuery、Canvas、Animate.css
料金:無料
CODEPREPでは、コードの穴埋め問題を解きながらプログラミングの基礎から応用、アプリ開発に関してまでを学ぶことができます。
例えば「Javascriptでつくるタイマー」や「JavaScriptでつくるおみくじ」といったブックと呼ばれるカリキュラムがあり、問題を解き進めていくと実際にそのアプリができあがりますので、実際に動くものを作ってみたい人にぴったりです!
■Progra!
対応言語:PHP、Ruby、Python、VBA
料金:無料
Progra!も、穴埋め問題で基礎的なコードの書き方を学べるサービスです。隙間時間などに穴埋め問題を解くだけで素早く学習を進められるので、「勉強したいけどあんまりまとまった時間がとれない…」という方にもおすすめです。
■CodeEval
対応言語:Java、C、C++、JavaScript、PHP、Ruby、Perl、Clojureなど
料金:無料
CodeEvalはプログラミング問題を解いたエンジニアのスキルを見て採用活動を行うためのサンフランシスコ発のサービスです。もちろん学習や自分の腕試しのために問題を解いてみることもできます。
問題は初級や中級といった難易度に分かれており、かなり豊富に用意されています。対応言語も18言語以上と充実しており、問題はオンラインエディタでその場で解くことができます。
「海外のサイト?難しそう!」と思うかもしれませんが、「FizzBuzz」レベルの初心者向け問題からありますので、「初心者だけどとにかくいろんな問題解いてみたい!」という人におすすめです。
■Codecademy
対応言語:HTML/CSS、Ruby、Python、PHP、JavaScript、jQuery
料金:無料
Codecademyも、実行環境を構築しなくてもオンライン上で書いたコードを実行できるサービスです。問題を解きながら実際にWebサイトを作ったりする実践的で本格的なコースで学習をすることができ、利用ユーザーはすでに全世界で1600万人以上とも言われています。サイト内は一部のみ日本語対応していますが、ほとんどは英語のみの表示となっています。
■Codeschool
対応言語:HTML/CSS、JavaScript、Ruby
料金:月$25(無料コンテンツもあり)
動画とコーディング問題を通して、Webアプリを作る勉強ができるCodeschoolです。動画にゾンビが出てきたりして、課題も楽しく学習できます。そしてRailsに特化した学習サイトなので、「Railsの勉強になる問題が解きたい!」という人にはかなり良いサービスだと思います。
■Elevator Saga
対応言語:JavaScript
料金:無料
ちょっと変わり種ですが、Elevator Sagaは、エレベーターのアルゴリズムをJavaScriptで書くゲームです。
何秒間のうちに何人を運ぶなどといった条件がステージごとに決まっているので、クリアを目指してコードを追記・修正したりしながら、エレベーターの動きを制御します。
実際に画面に表示されたエレベーターの動きで実行結果がわかるので、シンプルですが意外にハマります。
■paiza/paiza新卒
対応言語:Java, PHP, Ruby, Python2, Python3, Perl, C, C++, C#, JavaScript, Objective-C, Scala, Go, Swift
料金:無料
paizaとpaiza新卒では、スキルチェック問題を多数ご用意いたしております。
プログラミング問題を解いた結果によりS・A・B・C・D・Eの6段階で自分のスキルのランクが分かります。問題はレベルごとに分かれており、初心者から上級者の方まで挑戦していただけますので、「自分のプログラミングスキルを客観的に知りたい」「とにかくたくさん問題が解きたい」という方は是非チャレンジしてみてください!!
また、paizaではより初心者の学習に特化した以下のコンテンツも提供しています。
◆paizaラーニング
対応言語:Java、Python、Ruby、PHP、C言語、SQL、JavaScript、HTML+CSS(今後追加予定)
料金:基本無料(一部有料)
paizaには、オンラインでプログラミング学習ができる「paizaラーニング」を公開しています。動画でログラミングが学習できる未経験者向けレッスンを一部無料で受講できますので、ぜひごらんください!
「paizaラーニング」では、動画レッスンを見て、その場でレッスン内容をプログラミングすることで理解を深め、その後に練習問題を解いて応用力をきたえることができます。1本3分程度という短い動画なので、毎日無理なく続けることができます。
また、わからない点は弊社エンジニアに質問をして、アドバイスをもらうことができます。初歩的なところでつまずいて、やる気を失ってしまうこともありません。
◆コードガールこれくしょん
対応言語:PHP、Ruby、Python、Java、C、C#
料金:無料
paizaが公開している「コードガールこれくしょん」略して「ガルこれ」は、美少女ナビゲーターと一緒にプログラミング問題を解いて「コードガール」を集めながらストーリーを進めていく、これまでにないプログラミング学習ゲームコンテンツです!
ゲーム内ではクエスト報酬やログインボーナス・ミッションクリア等の各種特典として手に入る「コイン」や「ダイヤ」を使って、ガチャでさまざまな「コードガール」を収集することができます。クエストで有利になる特殊スキルを発動させたり、「これくしょん」に入れてマイページに飾ったりと、コードガールをたくさん集めるほど楽しみ方が広がります!!
■まとめ
始めたばかりの方が難しいシステム作りや環境構築に無理して挑戦し、歯が立たないと「プログラミングってつらい……楽しくない……」という印象を抱いてしまいがちです。
プログラミング問題をたくさん解くことは、勉強になるのももちろんですが、自分で作って動かして結果を見ることで、手軽にプログラミングの楽しさを実感することができると思います。
気になるサービスがございましたらぜひ挑戦して問題を解くことで、スキルアップにつなげていただければと思います。
paizaも、多くの方に「プログラミングって楽しい、もっとやってみたい、スキルアップしていろんなことができるようになりたい!」と感じてもらえるようなサービスを作っていきたいと思います。
paizaは、技術を追い続けることが仕事につながり、スキルのある人がきちんと評価される場を作ることで、日本のITエンジニアの地位向上を目指したいと考えています。
自分のスキルを磨いていきたいと考えている方におすすめなのが「paizaラーニング」。オンラインでプログラミングしながらスキルアップできる入門学習コンテンツです。初心者でも楽しくプログラミングの基本を学ぶことができます。
そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。