BLOGブログ
2016年度版 無料でプログラミング学習ができるサイト10個を調べてみた
総務省が、平成32年プログラミング教育必修化に向け実証校11校決定するなど、プログラミングを学ぶ事が小さい頃から求められるようになってきました。
しかし、いきなりプログラミングの本を買って読み始めたり、Webサイトで学ぼうとすると挫折をしてしまった経験をした方も多いと思います。
プログラミング言語を学ぶなら「アルゴリズムとデータ構造」から学ぶのが近道ですでお話をしたように、全くの初心者の方は、最初に「アルゴリズムとデータ構造」を学ぶのが望ましいのですが、その場合にはMITメディアラボが開発した視覚的にプログラミングを学べるビジュアルプログラミング言語の「Scratch」から「アルゴリズムとパターン」をまず学んでしっかりとした基礎を身につけるのが、挫折を防ぐには有効です。
そこで、プログラミング学習サービスを提供しているサイトについて、初心者がプログラミング言語を楽しく簡単に学べるかどうかを調べてみました。
見出し
インタラクティブに学べるサービス
実践的なプログラミング能力を身につけるためには、コードを入力して学ぶ事が重要ですが、インタラクティブにコードを入力して学べるWebサービスを最初に見ていきましょう。
1.未経験からやさしく学べる無料プログラミング研修「TRYCODE」
http://www.pasonacareer.biz/programming_training/
対応言語:Scratch、Java、SQL
一緒に解く動画を見る、解説を読んで理解をする、実際にコードを書いて学ぶ、の3つを繰り返す事で、実践的なプログラミングを学ぶことができるプログラミング教育サービス「TRYCODE」が、パソナキャリアと連携する事で無料提供されています。
最初に、ビジュアルプログラミング言語の「Scratch」からプログラミングの概念を学び、次にプログラミング言語のJava、データベース言語のSQLへと学習が進むようになっていますので、全くのプログラミング初心者の方が学ぶには最適であり、無料で提供されているカリキュラムの範囲が、他社では有料になっているようなプログラミング学習のかなり深いところまで提供されています。
また、JavaやSQLは、実行環境を用意せずにブラウザだけで動かせて手軽に始められるのと、実行結果を見ながら学べますので、実践的にコードを学ぶ事ができます。
さらに、解いたスピードや正解までの誤答数などで、演習問題、単元毎に様々な形で自分の獲得したスキルレベルを確認できるようになっていますので、学習のモチベーションを維持できるようになっています。
プログラミング言語別年収を見てPythonを学ぶべきか?で述べた、C言語系の言語であるJavaを学べるのはポイントが高いです。
2.CODEPREP
対応言語:HTML、CSS、JavaScript、Ruby、PHP、CSS3、jQuery、Canvas、Animate.css、Three.js
テキストで説明される内容に従って、穴埋め式で記述しながら学習を行っていきます。
こちらも、ブラウザから入力する画面が用意されていて、その場で実行結果が出るので、実行環境を用意せずに手軽に始められますが、間違ったコードを入れてもエラーが出ないので、どこが違うのかに詰まると戸惑ってしまいます。
また、用意されている説明が入力作業についての解説という感じになっているので、プログラミング全体の話を理解するのには、このWebサービスだけでは、ちょっと厳しいかもしれません。
ただ、対応している言語が豊富ですので、色々な言語を浅くとも広く無料で学びたい方には嬉しいWebサービスです。
3.パイザ・ラーニング
対応言語:HTML、CSS、JavaScript、Ruby、PHP、Python、C、Java、SQL、Amazon Web Services
コーディング転職サービス「paiza」内の学習サービスで、3分前後の動画を見ながら、実際にコードを入力して実行する形で学んでいきます。
コードを打つための入力画面と実行時画面が用意されており、間違ったコードを書くとエラーが出るようになっていて、どうしてもわからない場合はアドバイザーに質問もできます。
ただ、プログラミング学習サイトに全般的に多い、動画以外の解説がなくてプログラミングのテクニック的な話に全般的に終始するため、その辺りは別のWebサービスと併用した方が理解がしやすいように思います。
他にも「paiza」では、コードガールこれくしょん、プログラミングで彼女を作る、恋するハッカソンなど、ギャルゲーっぽい取り組みなどもやって、プログラミングの裾野を拡げようとしています。
4.Progate
対応言語:HTML、CSS、JavaScript、Ruby、Ruby on Rails、PHP、jQuery、Java
まずは、スライドで学習をして、次に用意されている実行環境でプログラミングを行う、という形で学んでいきます。
こちらも実行時のプレビュー画面と、見本、実際にコードを打つ画面が用意されており、間違ったコードを書いた場合にはエラーの表示がされるなど、実際の開発環境に近づける努力をしており、わからなくなった場合にはスライドに戻って確認ができる、というように初心者の方が迷わないような形で構成がされています。
ただ、こちらもプログラミング言語の解説がメインな上、後半の難易度が上がる部分は解説が少なくコードを手で書くこともなくなってしまうので、こちらではプログラミング言語についての概要だけ学び、別のサービスでアルゴリズムや高度な内容を学ぶのがいいように思います。
5.Progra!
対応言語:PHP、Ruby、Python、VBA
解説は非常に簡単なものだけで、穴埋め形式で出題される問題を、解いていく形で学びます。
ひたすら簡単な穴埋めをするだけなので、初心者でもつまづくことなく進めることが可能です。
ただし、これを全て終わらせてもコードの機能についてなんとなく理解はできるかもしれませんが、これだけでプログラミングを学んで使えるようになる、というのはかなり厳しいように思います。
6.CodeStudy(JEEK)
対応言語:JavaScript、jQuery
大学生向け長期インターン・就活情報サイトの中にある、プログラミング学習のWebサービスです。
学生以外でも利用可能で、プログラミングに必要な環境が無くとも手軽に学習が始められるのが特徴ですが、学べる言語はJavaScript、jQueryだけとなります。
こちらも、実際にコードを打つ画面が用意されており、出題された問題に従って画面上でコードを書き、実行環境で実行しながらプログラミングが学べるつくりになっています。
ただ、問題を解くというよりも、解説を読みながら書いてある内容をそのまま入力していくという形ですので、実践的なプログラミング能力を付けるためには、こちらで学んだ後に別でコードを実践する必要があると思います。
7.code.9leap.net
対応言語:JavaScript(enchant.js)、HTML
JavaScriptをベースにした「enchant.js」を使ったプログラミング学習サイトです。
「enchant.js」とは、簡単にゲームやアプリを開発できるHTML5とJavaScriptを使ったフレームワークです。
コードを打つための入力画面と実行時画面が用意されており、ブラウザだけでプログラミング学習が可能です。
zipファイルのダウンロードができたり、ゲームを作ってHTML5 投稿サイト “9leap”のコンテストに投稿することもできます。
プログラミングを学ぶというようりも、ゲームを作りたいという方にオススメです。
動画の閲覧をメインに使ったサービス
動画を閲覧する形のサービスは、動画の内容によっては非常にわかりやすい内容のものもあります。
しかし、座学がメインとなるのと、動画はスムーズに講義が流れていくので「わかったつもり」になってしまい、実際に自分で手を動かしてコードを書いてみたら良くわからなかった、という事も結構起こります。
そのため、プログラミングに対する理解度を深めるためには、最初から他のサービスと併用するのがいいと思います。
8.ドットインストール
対応言語:HTML、CSS、JavaScript、jQuery、Bootstrap、Cloud9、VPS、Amazon Web Services、Heroku、PHP、Ruby、Swift、Android、WordPress、Java、Scala、Kotlin、Python、Node.js、EXCEL VBA、Google Apps Script、Unity、Scratch、enchant.js
基本的に、全て3分で完結する動画でプログラミングを学ぶことができるWebサービスです。
対応言語が多く、ビジュアルプログラミング言語の「Scratch」もゲームプログラミングだけですが動画が用意されています。
月額980円を支払ってプレミアム会員になると、中上級者向けのプレミアムレッスン動画や、文字起こしテキスト、ソースコードの閲覧、レッスン動画の倍速再生などの機能が使えるようになります。
9.schoo
対応言語:HTML、CSS、JavaScript、MySQL
プログラミングだけでなく、ビジネスや美容関係などを含めた2,800本以上(2015年9月現在)の動画授業を受講できるWebサービスです。
ただし、無料で学べるのは基本的には「生放送」のみで、一部お試し受講できるものを除けば月額980円を支払うプレミアム会員になるか、月額1,980円を支払うプレミアムプラス学生になる必要があります。
その他
10.シラバス
「マネして学べる、プログラミング学習サイト」と謳っているサイトで、NAVERまとめのような形でカリキュラムが構成されています。
自分でもコースの作成ができますし、複数人数でコースを管理することも可能です。
プログラミング学習サイトと書いてありますが、カテゴリーとしては他にビジネス、デザイン、英語、財務会計が用意されています。
ただ、公開されている講義数が少なくかなり偏っていますので、初心者は使い方が難しいと思います。
殆どがプログラミング言語を学ぶ事に特化している
数多くあるサービス全体を見渡すと、プログラミング言語でコードを書く方法を学ぶ事に注力しているコンテンツが多いので、プログラミング自体を学ぶという点では、未経験からやさしく学べる無料プログラミング研修「TRYCODE」以外は非常に弱い印象を受けました。
これは、PHPを学ぶ、Rubyを学ぶ、というように言語別でカリキュラムが構成されているので仕方がないとは思いますが、プログラミングの概念が出てきた時につまづいてしまうと、初心者はそこでプログラミングが嫌になってしまう可能性もあります。
そのため、プログラミング言語別のサービスを使う場合には、プログラミングの概念がわかりやすく解説された書籍などを併用しながら学習を進めるのが望ましいと思います。