コーディングは強力な魔法であり、コーディングを学ぶことは、錬金術の材料を細かい粉末にしながら、カビの生えた呪文書の山を読むようなものです。少なくとも、かつてはそうでした。しかし、新しいインタラクティブな学習ツールは、演習を最優先に据え、あなたを自分のペースで見習いから魔術師へと成長させます。中には、レッスンの理解度を証明してから先に進めるものもあり、より魅力的な学習体験、そして理想的にはより深い理解が得られます。すべてが初心者向けというわけではありません。経験豊富なプログラマーも、時には新しい言語を習得する必要があります。しかし、それらはすべてWeb上で利用可能で、ほとんどが無料です。
Codecademy: 初心者向けの無料学習
Codecademyは、CSS、HTML、JavaScriptなどに関するブラウザベースのインタラクティブなチュートリアルを幅広く提供しています。すべてのコースは無料です。短期集中コース以上の学習を希望する場合は、4つの「トラック」(複数のコースにまたがる体系的な学習パスウェイ)のいずれかを選択できます。

Codecademyで「Getting Started With Programming」という分かりやすく、構成も分かりやすい初心者向けコースを試してみました。このコースでは、既に内容を理解している場合は、先に進めることができました。また、このサイトでは、経験豊富なプログラマーがJavaScript、Python、Rubyの様々な側面を教える独自のコースを無料で作成することもできます。
コードスクール: ビデオとコードが出会う場所
Codecademy とは異なり、Code School はユーザーに月額 25 ドルの料金を請求しますが、同サイトでは Git チュートリアルや、Rails for Zombies (ゾンビを含む) と呼ばれる Ruby on Rails プログラミング コースなど、いくつかの無料コースも提供しています。

Gitチュートリアルはプログラミングの知識を必要とせず、あっという間に完了できます。実際の(無料の)GitHubアカウントを作成し、そのアカウントにリポジトリをプッシュするだけです。Code SchoolのGitチュートリアルには動画はありませんが、テキストは明快で、デザインも快適で、集中して操作できます。

より複雑なRails for Zombiesチュートリアルには、ビデオと実践的な演習が含まれています。CodecademyやRubymonkのチュートリアルよりも高いレベルの知識が前提とされており、先へ進むことはできません。次のレベルに進むには、各レベルを完了する必要があります。ビデオをダウンロードして、演習を進めながら復習することができます。このコースは非常にテンポが速いため、時にはイライラするかもしれません。
Neoツール: Ruby KoansとGit Immersion
Neo(旧EdgeCase)は、Rubyプログラミング言語とGitバージョン管理システムの2つの無料インタラクティブチュートリアルを提供しています。Code Schoolと同様に、これらのチュートリアルは受講者が既にある程度のコーディング知識を持っていることを前提としています。

Ruby Koan は、ブラウザで実行することも、Ruby をインストールして Koan をダウンロードして実行することもできます。各 Koan は、空欄を埋めることで期待される結果を得るためのシンプルなドリルです。
各演習に添えられたテキストは禅的なアプローチを試みており、その意図は時に役に立つというよりむしろ混乱を招くほどです。「現実を理解するには、私たちの期待と現実を比較しなければなりません。あなたが求める答えは真実ではありません。」それでも、プログラミングの経験があり、Rubyの構文を素早く学びたいのであれば、これらの公案は楽しいものになるでしょう。

NeoのGitチュートリアル「Git Immersion」は、Code Schoolの簡易版よりも内容が充実していますが、セットアップもより複雑です。チュートリアルを進めるには、マシンにGitをインストールする必要があります。Gitでは、ステップ実行中にインタラクティブに作業内容をチェックする機能はありません。
RubyMonk: Ruby初心者向け
RubyMonkは、コード評価と演習が組み込まれたシンプルで無料のRubyコースです。配列とは何かといった、ある程度の基礎知識があることを前提としています。

RubyMonk の各演習に付随する説明はシンプルで明確であり、サイトには学習の妨げとなるバナーなどは一切ありません。
指を鳴らしてコーディングを始めましょう
これらのツールは、自分のペースで学習し、実践を通して学ぶのに最適です。これらを組み合わせることで、魔法のような実験室が完成します。いずれかのリンクにアクセスして、コードを書き始めましょう。きっと素晴らしい成果が得られるでしょう。