I have so many positive things to say about this course.
It starts off appropriately slow, with a lot of explanations and examples. The early exercises are easy to understand and do, the later exercises build on them gradually and appropriately, each step logically follows the previous steps.
There are also some great Q&A forums and archives where learners can see why their code isn’t working, and how others have solved similar problems. I found these to be both helpful and encouraging–it was nice to see other people asking the exact same questions I had, and made me feel less self-conscious and stupid, like we were all in this together. Plus, getting used to the way people talk in these types of forums is also like Stack Overflow for beginners; it trains learners to scan responses for useful bug fixes, tips, and patterns.
Doing this course after Learn Ruby the Hard Way was also really interesting, like fitting together parts of a jigsaw puzzle. Learn Ruby the Hard Way was obviously focused on making games, while Codecademy’s Ruby was more focused on showing off how a programming language can complete specific tasks: searching for and replacing a series of letters, sorting data, even organizing movie ratings. I liked how each task was connected to something that a real website might do; it helped me see the importance of learning each piece of code and how it was connected to a much, much bigger picture.
I only had a few small quibbles. Well, only one, really:
PUNS! Oh dear lord, the puns.
But seriously. Hashes were a hard concept for me to understand, as a newcomer to programming, and for me, the cutesy names and examples were sometimes a little distracting and confusing. I wound up checking with my husband, who is a software developer (“Um, so arrays are groups of numbers, and hashes are groups of words–ahem, I mean “strings”–paired up in specific ways? Right?”), which got us into a discussion about keys and values and why it’s important to sort stuff a certain way. Programmers like figuring out (and arguing about, and explaining) the “right” way of doing things. They also like puns.
Despite the occasional pun, I thought Codecademy’s Ruby tutorial was great–understandable, accessible, appropriately paced, and with examples that reinforced what was being taught. I would definitely recommend this for someone wanting to try Ruby for the first time. And it filled in my existing Ruby knowledge with slightly different variations on the methods I had learned from Learn Ruby the Hard Way (.upcase, .downcase, and .capitalize solved a few problems I had encountered, and in a much simpler way!).
I also thought that the two units on Object-Oriented Programming were particularly good. This isn’t an easy concept for beginners to understand, and it was clear that the instructor took a lot of time and effort to break it down into manageable, understandable chunks with appropriate examples. And again, connected with great real-world examples (like why “private” is an important designation for things like saving bank account balances and PINs.
Nicely done, Codeacademy.
Next up: Try Ruby!