Photo by Casey Fleser
こんにちは。谷口です。
プログラミング初心者の皆さんは、何を使って勉強していますか?
初心者の場合、上級者向けの書籍やチュートリアルなどから始めてしまうと
- 難しすぎてよくわからない…
- 環境設定がうまくいかない…
- なかなか進まなくて楽しくない…
などといった感じで挫折してしまうケースが珍しくありません。
また、そもそも「独学で何をどう勉強したらよいのかわからない」という方もいるかと思います。
そこで今回は、初心者でもブラウザだけで楽しくゲーム感覚でプログラミングが学べるサイトをご紹介します。
プログラミング初心者の方や挫折した経験のある方、使える言語を増やしたい方の参考になればと思います。
【目次】
- 豊富な問題と対応言語で自分の腕試しに最適!
- コードを書いて美少女を集めよう!プログラミングが学べる本格無料ゲーム
- 圧倒的ビジュアルと対応言語数のプログラミングゲーム
- 効率いいエレベーターのアルゴリズムを考えよう!
- かわいいドット絵のゲームでRubyをマスターできる
- JavaScriptでロボットの動きを組んで対戦ができる
- いろんな言語で「Hello World」
- 画像を見ながらクイズに答えてCSSマスターになれる
- まとめ
豊富な問題と対応言語で自分の腕試しに最適!
Codewars
対応言語:Python、Ruby、Java、Clojure、Haskell、C#、CoffeeScript、JavaScript
Codewarsはクイズ形式で豊富なプログラミング問題を解くことができます。レベル付けやユーザーランキングもあるので、自分の実力を試したり、より上のレベルを目指したりすることで楽しく取り組めます。
「ゲーム感覚で手軽にたくさんプログラミング問題を解きたい」という人におすすめです。
コードを書いて美少女を集めよう!プログラミングが学べる本格無料ゲーム
コードガールこれくしょん
対応言語:Python、PHP、Ruby、Java、C、C++、 C#、JavaScript
paizaが公開している「コードガールこれくしょん」略して「ガルこれ」は、ナビゲーターのリリアと一緒にプログラミング問題を解いて「コードガール」を集めながらストーリーを進めていくプログラミング学習ゲームコンテンツです。
このガルこれに、このたびハードモード(Pythonコース)が追加されました。ハードモードでは、従来のノーマルモードよりも少し難しめの問題が出題されますので、「簡単すぎる問題は物足りない」「ノーマルモードをクリアしてしまった」「Pythonを使えるようになりたい」という方におすすめです。
現在、ハードモードの公開を記念してAmazonギフト券が当たるキャンペーンも開催中ですので、ぜひ遊んでみてください。
圧倒的ビジュアルと対応言語数のプログラミングゲーム
CodinGame
対応言語:JavaScript、Go、C++、ObjectiveC、Haskell、PHP、Perl、Python、Scala、Rubyなど
CodinGameはビジュアルが美しく、対応言語数も非常に多いゲームです。シューティングやアクション、パズルなど、さまざまな種類のゲームをプレイできます。
難易度もトレーニングコースから応用コースまでさまざまなコースが用意されているので、初心者から上級者まで楽しんでプログラミングを学ぶことが可能です。
効率いいエレベーターのアルゴリズムを考えよう!
Elevator Saga
対応言語:JavaScript
Elevator Sagaは、JavaScriptを使ってエレベーターのアルゴリズムを考えるゲームです。
「何秒間のうちに何人を運ぶ」などといった条件がステージごとに決まっているので、クリア目指してコードを追記・修正しながら、エレベーターの動きを制御していきます。
エンジニアは、エレベーターがなかなか来なくて「どんなアルゴリズムで動かしとるんや!」と思った経験があると思いますので(ない?)、効率のよいエレベーターの稼働アルゴリズムをぜひ考えてみてください!
かわいいドット絵のゲームでRubyをマスターできる
RubyWarrior
対応言語:Ruby
RubyWarriorはRubyのコードを書いて進めるRPG風ゲームです。ドット絵がかわいく、レトロゲー好きな方におすすめです。
このようなプログラミングをしてキャラクターを動かしたりストーリーを進めていくゲームはいろいろありますので、好きなゲームの雰囲気で選ぶのも楽しいですね。
JavaScriptでロボットの動きを組んで対戦ができる
fight code
対応言語:JavaScript
fight codeは、JavaScriptを使ってロボットの動作をプログラミングし、他のユーザーと対戦させることができます。
ゲーム内のロボットを動かしながらプログラミングしたり、強いユーザーのロボットのコードを見たりすることも可能です。自分のロボットを強くするために、勉強もはかどりますね。
いろんな言語で「Hello World」
Hello World Quiz
対応言語:多数
その名の通り、「Hello World」を出力するコードを見て、言語名を当てます。回答は三択形式で、5回間違えるとゲームオーバーです。
「Hello Worldぐらいどの言語でもわかりそう」って思いますよね。でも、これがやってみると意外と難しいです。似たような書き方をする言語と混同しちゃったり、全然知らないレアな言語が出てきたりと、意外とハマります。
画像を見ながらクイズに答えてCSSマスターになれる
CSS Diner
対応言語:CSS
CSS Dinerは、CSSのセレクタを楽しんで覚えられるクイズ形式のゲームサイトです。タグを指定するだけのような基本的な問題から、徐々に難しくなっていきます。
最初の方の問題はHTML/CSSを使ったことがある方なら余裕だと思います!CSSをマスターしたい方はぜひ挑戦してみてください。難しい問題はヒントを見ることもできます。
まとめ
初心者がプログラミングの基礎を反復練習したり、簡単な問題を解いたりしながら少しずつ習得していくには、このようなゲーム感覚で学べるサイトもうまく使うと、楽しく勉強できるかと思います。
特に最初は「プログラミングって結構楽しいな、もっとやってみたいな」と思えることも大切ですので、ご自分のレベルにあわせて興味のある学習ゲームを試してみてください。
paizaのコードガールこれくしょんでは、ノーマルモードよりも難しい問題をたくさん解けるハードモード(Pythonコース)が公開されました。
詳しくはこちら
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら