Rails with Active Record and Action Pack
Institution: Johns Hopkins University (Coursera)
Date: Self paced - August 14, 2016
Bio: Part of a six course specialization for Ruby on Rails Web Development. Originally I had panned the first course in the series for being too much of an introduction without actually teaching any Rails concepts, but it seems this course makes up for a lot of that.
The course is broken up into four 'weeks' that you can take on at your own pace, about 90 minutes of lecture and 1-3 hours of assignments per week. The first week introduces using Rails scaffolding to build data models and database data using Rails's Active Record library. In the second week they build on this by showing how to build relationships between the data models, as well as how to handle a few other task such as data validation or database seeding. Week three introduces 'Action Pack', Rail's way of creating the controllers and corresponding views that allow you to Create, Read, Update or Destory data from the models you created previously. Finally week four expands on Action Pack in the creation of Nested Resources.
The last week of the course also introduces a number of other concepts such as Authentication, HTTP Sessions, Authorization, and Pagination. While each of these lessons were serviceable they felt a little undeveloped and rushed compared to the rest of the course.
It is hard for me to not compare the assignments in this course to the Ruby on Rails Tutorial which I had recently completed. The Rails Tutorial did a great job by teaching the material in context, though it did hold your hand a bit by telling you every single step that needed to be executed along the way.
The programming assignments in this course, by contrast, show you what to do in the lectures but don't explicitly tell you the steps you need to execute to solve all of the requirements in the graded work. Like the previous courses in this series, they also did a great job of giving the students a test suite so that the students could check their work and find any mistakes before getting to far into each assignment.
On the other hand the instructions weren't always as concise, and the requirements of many of the assignments often existed outside of the context of any larger program. I felt I had to rely on knowledge gained outside of the course in order to complete them. Also the parts of the assignment that involved implementing authentication and sessions were mainly achieved by executing the exact same steps used to explain them in the lectures. This probably goes back to my feeling that those parts of the lecture were move undeveloped, and thus became more hand holdy compared to the rest of the course work.
Overall, this course does a decent enough job of teaching students Rails and the fundamental basic skills used in Rails web development. It is also much improved compared to the previous course in this specialization. But I will probably have to wait until I finish the last few courses in the specialization to see how they all fit together, because there are still something it just doesn't explain as well as supplemental material I've found on the Rails.
Accomplishments: I passed the course by completing all four of the graded programming assignments with a score of 100%.