Back in January at CodeMash 2009 I had the opportunity to attend a Ruby 101 session given by Jim Weirich Joe O’Brien from EdgeCase. They decided to take a different approach to teaching the Ruby basics that I found to be very effective. Their method was to provide a test suite full of TestUnit tests or Koans. These Koans provided a vehicle for you to learn Ruby by making the tests in the TestCases pass, exploring the API in tests rather than trivial “Hello World” fashion. Brilliant. The intent was to have a take away that you could come back to time and time again and explore, and possibly even extend upon and further expand your Ruby-Fu.
Since then I’ve also had the pleasure of seeing Corey Haines speak on the importance of practicing your craft through the use of Kata, or an exercise that you repeat over and over again to help develop some muscle memory in the brain of sorts. So as I’m trying to become more comfortable and familiar with Ruby, I’ve decided to adopt EdgeCase’s Ruby Koans as my Kata. I have already been through them once and will continue to go through them until it becomes second nature. EdgeCase has open-sourced these RubyKoans which can be obtained on GitHub here (http://github.com/edgecase/ruby_koans/tree/master).



