I followed through with Coursera’s Saas-Class start to finish, and I just got the email with the ‘Statement of Accomplishment’. (For the curious: my total score was 2105 out of a maximum of 2126)
What Are my thoughts about the course?
Well, depends on what one expected to get when coming in.
If the learner’s goal was to learn ruby, the goal was probably not reached; if the learner’s goal was to learn ruby on rails, the goal was most likely not reached — not with the limited scope of the assignments.
I do think that was not the course’s goal however.
This version of the course, which I assume is only ‘part 1′, since they speak about a ‘part 2′ course for a later time, does manage to give some insight on real life software development disciplines and concepts.
ie. Agile, TDD, BDD.
What I liked:
- TDD… definitely a must-know concept.
- The idea of ‘RESTful-ness’ (ie. on web links) is an interesting one; the formal concept of which, I was previously lacking.
- The fact that I’ve already used some of the concepts learned on other languages (java, php).
What I didn’t like:
- It was easy, seriously easy, too easy. The assignments don’t push you enough to learn Ruby (but, that’s not the goal of the course… so it’s excusable.)
- It was lacking any mention of a lot of the boilerplate steps needed for the Rails assignments. (I had to hit Google with a hammer ’till it gave me the answers…).
I’m not sure I got BDD, a little bit.. weird for me still.
About Ruby and Ruby on Rails.
The language is awesome, coming new to Ruby here’s the top 3 points that caught my attention:
- Awesome bit 1: It has very good support of PCRE.
- Awesome bit 2: Everything is an object. (ie. what Perl6 promises to give… but still hasn’t, not really). Read: NO primitives! like those annoying pesky tings that get in your way in Java.
- Awesome bit 3: Has Meta-programming. Code re-use/extension/etc on steroids.
Rails is something I won’t claim proficiency, not until I find the time to dig in and find how it all works, how to break it, put it back together, etc etc..
The concept of ‘Convention over Configuration’ is a bit awkward because it’s new, to me, and I had always had to specifically configure stuff I’ve used in the past, so I’m used to that mindset.
Rails’ Routes system is something I wish I had every time I dealt with PHP code. There are PHP frameworks that try to imitate that, but I haven’t used any of them yet.
P.S. I’m also currently Following Algo-Class, which is much more challenging. It’s nearly finished and I hope to successfully complete that one as well, though I got terrible scores on some of the quizzes in it…