1) Learn Ruby on Rails by Daniel Kehoe

This tutorial is short, simple, and to the point. While there is overall a good balance of conceptual “how it works” with practical application, I would like the conceptual to have been more mixed in with practical application—as it stands, writing the application starts in Chapter 9. Great positive is that unlike most other tutorials, this book goes in-depth on explaining key components of application programming, such as how Git, Zurb Foundation, Gems, RVM work.

2) Ruby on Rails Tutorial by Michael Hartl

The de facto standard by most Rubyists. The only reason that it’s not first is because Hartl jumps rapidly into programming, without introducing some key concepts sufficiently (at least for me) to not have the student be completely frustrated when some element of configuration doesn’t work and they can’t proceed. Unlike every other tutorial, Hartl really emphasizes test-driven-development/ behavior-driven-development which is one of the best parts of the book (yes he overdoes it, but it’s only so that you’ll really learn how to do it). If this is too difficult to go to next, jump to #6 and #7 and come back after.

3) Learn to Program, 2nd Edition by Chris Pine

This is great, the explanations are very simplified and very clear for majority of topics. A little trickier on the advanced stuff, where I feel like the explanations could use some improvement, but overall a great book.

4) UT Austin Rails course by Richard Schneeman

Has some great visual diagrams and effects that break down the concepts and make it easy to understand. However (and he has admitted this), because this is shortened/ adapted from a college class, at times the material moves very fast with little to no “build” and the homework challenges can be quite challenging.

5) Ruby Kickstart videocast

Lessons seem far too easy compared to the homework assignments. Would appreciate more of a step by step breakdown on each lesson on how to tackle certain problems so that homework assignments can actually be done. Also, it might be helpful in general to have one overarching problem as the problem that the student is always trying to solve, and then each lessons introduces additional “elegance” to the original solution.

6) Rails for Zombies

I like how the presentations animate the code and physically move it around on the screen so that the user clearly sees how it relates to other code or output. However, this lesson seems to be more geared toward a basic introduction; at advanced concepts, the explanations are less thorough and clear. Further, exercises are far simpler than lessons, which is a huge detriment because practicing is how you learn. I need exercises on how to run complex redirects & lookups, for example, and yet at that chapter, I’m getting exercises on how to create a resources line. There’s a large disconnect if a lecture has a lengthy bit of code, but the challenge requires you to write two lines. If you’re doing this after #1-5, it’s likely super simple, and you can challenge yourself by predicting answers.

7) Codecademy — Ruby

The explanations are very clear, but this is again more tailored to a basic introduction. The exercises are also far easier than lessons, there shouldn’t be instances where lectures are huge blocks of code, and exercises are a couple of lines. I feel like the exercises repeatedly drone in the basic concepts, but not the advanced concepts (yes, even in the more advanced lectures). Also, to be clear, learning Ruby does not mean you will be able to write a Web application (Rails is the framework to do so). If you’re doing this after #1-5, it’s likely super simple, and you can challenge yourself by predicting answers.