Logging Experiences

Programming Koans: One of the best ways to learn a new language or framework

Posted in Programming by Sina Iravanian on May 27, 2012

Based on Wikipedia, originally a Koan in Zen-practice is a paradoxical question that provokes doubt and tests a student’s progress. On the other hand, programming Koans are a set of failing unit-tests, for which the learner is required to fix the code or fill the required fields with proper values in order to make each test pass. Probably one of the earliest and most popular Koans were Ruby Koans. Now there are several Koans implemented for different languages and frameworks. Search the word “Koan” in GitHub or BitBucket and you will find the gems.

My first experience of Koans was MoqKoans, a great set of Koans for learning Moq, a mocking library for the .NET framework. That was really a wonderful learning experience. These days I’m trying to strengthen my web programming skills, and as one of the early steps I decided to remaster JavaScript. I found two JavaScript Koans on GitHub; both of them are great. However, I suggest that one should start with the JavaScript Koans by Liam McLennan, which is easier to begin with. after finishing this step, I highly recommend proceeding with the JavaScript Koans by David Laing. This one is a smaller set of Koans, but gets more advanced, and contains an introduction to Underscore.js as well.

Experience the joy of learning with Koans, and having all the reds going green in the end.


3 Responses

Subscribe to comments with RSS.

  1. […] Logging Experiences Sina Iravanian HomeAboutSelected Works Twitter Facebook RSS Feed ← Programming Koans: One of the best ways to learn a new language or framework […]

  2. Johne424 said, on July 29, 2014 at 5:38 am

    Wow, marvelous blog structure! How long have you been running a blog bedkekcfgbeg

  3. […] I have found these tools, the Javascript Koans. There are two of them. The first one is by Liam McLennan, which I would think is a great place to […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: