Lessons Learned from Teaching Ruby on Rails 3


I recently taught a one day class titled Intro to Ruby on Rails 3 at the Pacific New Media school from University of Hawaii.  It was a great learning experience for me, as it was my first full day class teaching anything.

Some lessons learned:

  • I under-sold the class description, thinking it was an intro class, but in reality it was an intermediate class.  I was assuming the students knew what the Terminal was, or what a relational database is.
  • If there are basic tools required to learn the base material, spend some time explaining these basic tools, even for an intermediate class.
  • Pair programming worked about 50%.  I had the class arrange themselves in a line, from newbie to expert.  This was a great ice breaker, and I used this to group people together.  However, some people wanted to stick with their colleagues.  I saw a lot of people helping each other out and teaching each other, but not everyone is into this format.
  • There was extremely minimal lecture, and everyone appreciated it.
  • The class was very hands on, and everyone appreciated that, too.
  • I was over ambitious with the example application.  I shouldn't bother with user management at all, even though I used OpenID to minimize that problem.  Next time, skip over users.
  • The real life example app worked great.  We built an HTML5 geolocation based check-in app.
  • Ask the students to create their Heroku accounts ahead of time.  It's a quick process, but Heroku detected many accounts being created from the same IP and blocked some of the students.
  • I should have run through a final, final compliance check list.  I had elements of this, but some students missed some of the pre-req's which caused problems later.
  • I'll cater lunch next time, as there were no good options on campus and it took too long to get to the only open option.
  • I had the students sign up for Github and Heroku, but turns out explaining the benefits of Github just didn't fit into the time we had.  Next time I'll just use Heroku.
  • I wrote the whole example app ahead of time, which was invaluable.
  • We did a lot of work designing the app with class participation.  I believe this part worked.
Overall I had a great time, and I think most of the students had fun.  I'm looking forward to running the class again with the above tweaks for an even better experience.

Thanks to all who came!

Popular posts from this blog

Lists and arrays in Dart

Converting Array to List in Scala

Null-aware operators in Dart