Institution: Rails Tutorial by Michael Hartl
Date: Self paced - August 5, 2016
Bio: The Rails tutorial is a pretty well regarded online textbook that is just as good, if not better than many of the online courses I've taken. Unlike typical textbooks, the entire experience of the Rails tutorial walks you through building a production quality web application while simultaneously teaching you about the essentials of the Rails framework. They just updated to the 4th edition of the book which accounts for some of the new Rails 5 features as well.
It starts out simply enough by setting up your development environment with a 'hello world' app, and then using the Rails automated scaffolding to quickly build a data model and the associated pages to interact with it as a high level example of what Rails can do. The remainder of the book walk you through the creation of a twitter like micro blogging site without relying on scaffolds, so you can get a clearer understanding of the underlying Rails concepts. It does so incrementally in a way that seems natural to the development process, including going back to refactor older versions of your code as you add more complexity.
Through creating the micro blogging web application, the tutorial touches many common web elements such as modeling data, creating user accounts, log-in and session tracking, generating e-mails for activation and password recovery, and uploading images. In addition to teaching Rails, the tutorial also focuses on other important aspects of web development, including the following:
- Consistently making use of Git, branches, and GitHub
- Using test driven development, and automated testing where appropriate
- Keeping track of separate test, development, and production environments
- Being mindful of various security concerns
- Deploying to Heroku, and managing deployment environments
So there are still some points to critique about the book, most notably is that the tutorial very much holds your hand through the entire process. Every single step is written out and all of the code can be copied paste. While it does do a good job of explaining all of these steps in detail as they are introduced, it is very easy to fall into simply being led along rather than engaging in the content.
The book does offer intermittent exercises in which the answers are not handed to you, including some that add or modify code. There is also a premium service they are working on, where you would get access to screen-cast that give additional depth and challenge to the tutorial. A diligent student can also do well by taking the time to review previous chapters and redoing sections without referencing the book to make sure they understand all of the concepts.
Overall, Ruby on Rails tutorial is one of the best examples of context given learning I've seen. Each concept is introduced using real work applicable examples, implemented by the student using good development practices, and resulting in a project that can actually be deployed to show off the students work.
Accomplishments: You can find my completed version of the Rails tutorial Sample app here.