本記事は「プログラミングの基礎は学んだけど、練習できるサイトはない?」「プログラミングの練習がしたいけど、具体的にどう練習する?」「楽しみながらプログラミングの練習がしたい。」こんな疑問・要望を持つ方に向けた記事です。
具体的には、以下の順に紹介していきます。
- プログラミングの練習をする方法
- プログラミングの練習ができるサイトの紹介
- プログラミングの練習についての言及
10分ほどで読めます。
楽しみながらプログラミングの練習ができるサイトを紹介していくので、読み終わったらぜひ実際に練習してみてください。
最後にプログラミングの練習について、根本的な解説もしているので、こちらもお見逃しなく。
記事のもくじ
プログラミングの練習をする方法
プログラミングの練習と言っても、具体的にどのような練習をするべきでしょうか。
プログラミングの練習の内容と学習サイトがおすすめの理由を解説します。
そもそもプログラミングの練習は何をするべき?
プログラミングの練習は、次の2点を意識して行います。
- 実際に手を動かす
- 自分の頭で考える
プログラミングの初歩の学習では、プログラムコードの書き方やIF文・ループ文などの知識を身につけることが多いでしょう。
知識を身につけても、実際に手を動かしながらコードを書いていかないと、人間はどんどん忘れていってしまう生き物です。
学校の授業でも、手を動かしてノートを取ることで記憶を定着させますよね?
また、プログラミングの初歩の学習で作成するプログラムコードは、お手本を元に作成します。
そのため、自分の頭で考えながらコードを書くことが多くありません。
プログラミングは常に頭で考えながらコードを書く必要があります。
考えながら手を動かすためには、練習が必要です。
プログラミングの練習はオンライン学習サイトがおすすめ
プログラミングの練習は、練習問題を多く解くことが最適です。
練習問題は書籍やオンライン学習サイトで解くことができます。
その中でも、オンライン学習サイトをおすすめします。
その理由としては、書籍よりも学習がしやすいから。
オンライン学習サイトは、インターネットに繋がっていればいつでもどこでも学習ができます。
書籍を使う場合と比べて、物理的なスペースを確保する必要もありません。
オンライン学習サイトでは、問題を解いていく中で、あなたのレベルを可視化する機能がついていることが多いものです。
実際にどのくらいのレベルなのかがわかると、モチベーションの維持もしやすくなります。
これらの理由から、プログラミングの練習はオンライン学習サイトをおすすめしています。
ゲーム感覚でできるプログラミングの練習問題サイトおすすめ5選
ここからは、まるでゲームを進めるように、楽しみながらプログラミングの練習ができるサイトを中心に紹介します。
paiza(スキルチェック、コードガールこれくしょん)
paizaはエンジニアの就活・転職をサポートする学習サービスを運営している会社です。
初歩的なレベルから練習問題が用意してあり、プログラミング初心者でもたくさんのプログラミングの練習問題を解くことができます。
- C / C++ / C#
- Java
- PHP
- Python
- Ruby
- JavaScript
など
CheckIO
CheckIOは、とてもゲーム要素が強く、プログラムを書きながらステージを進めていく学習サイトです。
一度問題を解ければ、他のユーザーの回答を見ることができます。
あなたが書いたコードと、他のユーザーが書いたコードを見比べられるため、どのようなプログラムが最適であるかを確認できます。
難易度は少し高めであるため、プログラミングの学習が一通り完了したあとに挑戦してみましょう。
- JavaScript
- Python
CodinGame
https://www.codingame.com/start
CodinGameはさまざまな種類のゲームを選べる点が特徴です。
パズル要素のあるゲームや、オンラインで世界中のプログラマーと問題を解くスピードを競う対戦形式のゲームがプレイできます。
多くのゲームの中から好きなゲーム形式を選択できるため、おすすめです。
- C / C# / C++
- Java
- Python
- JavaScript
など
AtCoder
AtCoderは日本初のプログラミングコンテストの運営会社です。
ゲーム要素は少ないのですが、コンテストという形式であるため、本気で練習したい人におすすめできるサービスです。
海外のプログラマーも参加しており、世界中のプログラマーと切磋琢磨できる楽しさがあります。
- C / C++
- Java
- PHP
- Python
- Go
- Ruby
など
Codecademy
Codecademyは、問題を解く中で実際にWebサイトなどを作成することができます。
ゲーム要素は少ないのですが、練習問題を解き進めることで、実際の成果物を得られる点はおすすめできるポイントです。
Codecademyは有料サイトです。
7日間の無料トライアルがついているため、まずは無料トライアルを試してみてはいかがでしょうか。
- HTML
- CSS
- JavaScript
- Python
- Ruby
など
ゲーム感覚でできる言語別プログラミングの練習問題サイト
ゲーム要素はあまりありませんが、言語別にプログラミングの練習ができるサイトを紹介します。
練習したいプログラミング言語が決まっている場合は、こちらも参照してみてください。
JavaScript
https://play.elevatorsaga.com/
「Elevator Saga」は、JavaScriptを使ってエレベーターのアルゴリズムを書くゲーム形式のプログラミング練習サイトです。
エレベーターを動かす条件(一度に何人運ぶなど)をクリアするように、プログラムを書いていきます。
Python
http://python.rdy.jp/wiki.cgi?page=%CC%E4%C2%EA%BD%B8
「pythonのお勉強 問題集」は、pythonの基礎情報を集めたサイトです。
多くの問題が集められているため、pythonの初期学習に役立ちます。
難易度は「Simple」~「Maniac」まで用意されています。
Ruby
http://attracie.hatenablog.com/entry/2016/12/17/114027
「Array・Hashの練習問題」はブログ記事ですが、初心者がつまずきやすい、Array・Hashに関する練習問題を解くことができます。
問題数は少ないのですが、Ruby使いになることを考えているのであれば、一度問題を解いてみてはいかがでしょうか。
C#
https://ufcpp.net/study/csharp/exercise.html
「++C++; // 未確認飛行 C」は、初心者にとって習得が難しいとされるC#を学び始めた人向けに、C#に慣れることができるように簡単な練習問題から用意されています。
練習問題以外にも、C#のプログラミング入門のページもあるため、C#をこれから学びたい人におすすめです。
Java
https://eng-entrance.com/category/java/java-question
「エンジニアの入り口 Java演習問題」は、練習問題の数は多くありませんが、プログラミングの入門者から初心者に向けて、4つの項目を用意されています。
- アルゴリズム編
- 構文編
- 知識編
- オブジェクト指向編
一通りの練習問題を通して、Javaの初期学習を効率的に進められます。
ゲーム感覚でできるサイトでのプログラミング練習には限界がある
ここまでプログラミングの練習ができるサイトを紹介しましたが、プログラミングの練習については、頭に入れておかないといけないことがあります。
あくまで「練習」に過ぎない
プログラミングの練習は、あくまでも「練習」です。
練習問題を数多くこなせばプログラミングができるようになるか、と問われると一概にそうだとは言えません。
なぜなら、プログラミングは手段であり、目的ではないからです。
プログラミングは、アプリケーションやWebサービスを作りたいという目的があり、それを実現させるための手段です。
仕事としてプログラミングをする場合、作りたいアプリケーションやWebサービスは、顧客のニーズに沿ったものになります。
顧客のニーズに沿ったモノを作るときは、試験問題のように答えが明確ではありません。
顧客のイメージを具現化するためのプログラミング力は、練習問題を解くだけでは身につけることは難しいでしょう。
たとえば、野球の試合に勝ちたい場合、素振りをひたすら繰り返せば勝てるようになると思いますか?
練習試合などの実践的な練習が必要となりますよね。
プログラミングにおいては、野球の素振りとプログラミングの練習問題を解くことは同じことです。
プログラミングも実践的な練習が必要となります。
根本的・実践的な学習はスクールがおすすめ
プログラミングの実践的な練習とは、具体的にどのようなことでしょうか。
たとえば、あなたが思いつくアプリケーションやWebサービスを実際に作ってみるのもいい練習になります。
または、既存のアプリケーションやWebサービスを「模倣する」という練習も効果的です。
しかし、プログラミングの学習を始めたばかりでは、いきなり実際に作成することは難しいでしょう。
わからないことが多く、具体的にどのように進めていけばよいか、見通しが立てづらいからです。
先が見えない状態で学習を続けることは苦しく、挫折の要因となります。
実践的な練習に不安がある場合は、スクールがおすすめです。
スクールでは専門の講師によって学習の見通しが立てられるため、迷うこと無く学習を進めることができます。
つまづいたときも講師に気軽に質問ができるため、より実践的な練習も行いやすくなりますね。
一人でプログラミングの練習をするよりも、スクールで講師や仲間とともに、より実践的な練習・学習を行うことがおすすめです。
まとめ:ゲーム感覚でできるサイトで楽しみながらプログラミングの練習をしよう
ゲームをプレイするように、プログラミングの練習ができるサイトはいくつかあります。
楽しみながらプログラミングの練習をするのに最適なので、ぜひ実際に練習してみてください。
しかし、練習はあくまでも「練習」に過ぎないので、練習よりも実際にアプリケーションやWebサービスを作ってみることをおすすめします。