CSCI E-168 Web-based Software with Ruby and Ruby on Rails [REVIEW]

Update: Since I've posted this, I received several e-mails about the course. One included a course evaluation that may be relevant. I only included the comments of this eval and I am posting it anonymously for the person.

A fellow classmate reminded me to review the CSCI E-168 course. Here is my review!

The lecturer, John Norman, is articulate and an incredible speaker. You can immediately tell he comes from an English-Literature background. His lessons are pleasant to listen to and you can literally hear the pride that puts into his work. I believe most people would enjoy his lectures.

The Ruby portion of the course was amazing. I felt that this was a language I could work with and the Ruby-only assignments were really fun.

Unfortunately, I had a scheduling conflict and could not stay for section most of the time. Since the class had over 70 students, there were two three different sections and YMMV.

Update 1-16-10:
Okay so there seems to be some misunderstanding whether or not I liked section. I was questioned about it in several private e-mails. In my past posts, I kind of gushed over class and section.

Of the three classes was taking it was the least useful of the group. However, it is worth mentioning that I did read ahead and finish many assignments earlyDid I need to go to section? Probably not. But I thought it was fun, and funny at times. For the most part I sat back and kept my mouth shut.

I thought the assignments were moderately difficult. None were easy and none were outrageous. If you devote a good ten hours or so, you will be able to finish any assignment. However, a good portion of the assignment grades are based on how rubyish your code is. You will get slapped on the wrist for not doing something the ruby way. Keep that in mind and be sure to comment and document everything.

One thing that made me sour was trying to figure out what to do for the assignment. The documentation is wild and it's not clear what to do. I really don't have any tips for this class except for re-iterating that you have to do things the ruby-and-rails way. The following link is my final assignment submission for Fall 2009: E-168 Final Submission

My project was an attempt at a discussion board system. You may be able to review the code to determine what you can or should not do.

Final Thought
* Warning: Any negativity below is primarily Rails (the framework) related and not directly course related

CSCI E-168 reminded me why I am not a Ruby-on-Rails guy. In a nutshell, the course was a lot like going to Church. It's all interesting but I really don't know if I can buy into this... 

Basically, there was a lot of cool things to learn but I'm not sure I would add it to my programming utility belt. As a career introvert the Rails community hits me in the wrong spot. There are far too happy go-lucky and bubble-gummy. It's the pop-music of web frameworks. A guy like me wouldn't fit in. What's wrong with that?!

This is an exaggeration but it also feels like a cult... An exclusive cult. Not like a Unixy-nerdy cult. It's a trendy iPody cult.

One gripe I had about the class is the guest panel at the end of the semester. Some incredible Ruby developers showed up: Dan Chak, author Dan Croak, and the owner of They were invited to share their experience with the class. That sounds exciting right?

But from my point of view, I felt that the developers were not happy to be speaking in front of our class. Their mannerisms showed that (a) they were not getting paid and (b) why am I here? Moreover, the panel discussion was dominated by a previous Teaching Assistant who had very little to add; except for cutesy sarcastic jokes. When this person spoke, I found entertainment by watching the expressions on the two Dan's faces.

I would recommend this class to someone that wants to work with Rails. Throughout the semester, I received many Rails-related calls from recruiters. You may experience the same interest from the industry.

Additionally, this class changed my opinions about Ruby. That language is pretty darn cool and the one-liner assignment is one of my favorite assignments of all time. In 2010, I heard that Harvard Extension will be offering a Programming Ruby course and I would put my personal stamp of approval on it!

  1. gravatar

    # by killkolor - January 14, 2010 at 3:25 AM

    "When this person spoke, I found entertainment by watching the expressions on the two Dan's faces."

    I am glad someone else noticed this too ;)

    I actually liked Rails a lot coming from other MVC frameworks (ASP.NET and Turbogears). But then again I just took on a Rails job, so maybe I am not really objective here...

  2. gravatar

    # by Donnie Demuth - January 14, 2010 at 7:18 AM

    Congrats Killkolor! Rails is a pretty darn good framework compared to some out there; it's just not right for me. I wanted to be honest in this review and I know it may sound a little harsh.

    CSCI E-168 would be a great step for anyone trying to land a Rails jobs. When I was in the course, recruiters were contacting me very often. I might modify this post and put up my attempt at the final.

  3. gravatar

    # by Ahmed - January 14, 2010 at 5:11 PM

    In your previous post it seemed you liked going to section. I never did and I took the course a while back. Our TAs voice was excruciating.

    Thanks for the honesty. I agree with pretty much everything you said. This is an insanely popular class and I think it's good to be able to search for this stuff.

  4. gravatar

    # by Ron Newman - January 14, 2010 at 9:07 PM

    I wish the CSCI E-168 sections had been more interesting and useful. I took CSCI S-75 (Building Dynamic Websites -- basically PHP and Javascript) right before this course, and its sections were wonderful and essential.

  5. gravatar

    # by Donnie Demuth - January 15, 2010 at 11:14 AM

    Ahmed: I enjoyed section. It wasn't essential but I enjoyed our TA's casual pace. Again, your-mileage-may-vary :-)

  6. gravatar

    # by Keith - January 15, 2010 at 10:01 PM

    As one of the TAs for this course (and there were 3 sections, actually), it is tough to read this post and these comments but also useful... although feedback during the semester is more useful!

    A problem that we faced in this class is the amount of students who take it without having the appropriate background. It makes section very difficult to calibrate. That was by far the biggest struggle for me.

    There is an emphasis on evaluating whether or not assignments are done 'the Ruby way', yes. If you are writing Ruby the way you write Java, we viewed that as problematic. We are teaching Ruby, after all, and a big part of that is learning to leverage the power of Ruby's relatively terse syntax. Similarly with Rails, getting the framework to do a lot of the heavy lifting for you (and thereby doing things 'the Rails way', or following convention) is also emphasized.

    BTW Donnie was in my section.

  7. gravatar

    # by serg - January 16, 2010 at 6:44 AM

    is ths class still offered? thanks for the review, i can never find anything about classes. see you on extstudent. i would like to learn rails but is there a better framework. i thought rails was the est one?

  8. gravatar

    # by Donnie Demuth - January 16, 2010 at 6:58 AM

    Serg: I'm not sure. The last I heard was that the course was splitting into a Ruby and a Rails class.

    Also, with frameworks you just have to try many. Programmers obviously favor particular languages. It's just a preference thing. Same thing with frameworks. Some click and some don't. For some reason, I feel like I'm fighting with Rails. For other people, it just flows.

    I like Grails, GAE, Django, and Lift. But I know lots of people who hate those frameworks as well... I don't know what's better so you just have to try it out.