Code in new languages and get the full social programming experience with Exercism

Screenshot of Visual Studio 2015 showing Test Explorer and a number of unit tests for Exercism problems. Graphic: Jim Galasyn

As part of my new job, I’ve been exploring how modern devs learn new skills. Traditionally, you would pick up a dead-trees form factor and page through it, maybe install the sample code from a CD or a web site, and tinker with the platform until you felt like you wouldn’t sound like an idiot during an interview. More recently, with sites like Microsoft Virtual Academy and edX, you watch some talking heads in a video and do some online “assessments” (quizzes), and maybe get a certificate on your LinkedIn.

But devs crave more. For a long time, web developers have had web sites that enable coding in JavaScript and seeing the result immediately in a sandbox. For example, the tutorials on W3Schools (“the world’s largest web developer site”) walk you through all of the syntactic elements of JavaScript, jQuery, CSS, and more, encouraging you to “Try it yourself”. You type your code into the page’s editor window, and the result renders immediately in the output window.

App devs have a harder time of it. There are a number of online test and contest providers, e.g. , Techgig, TestDome, and Tests for Geeks, These are great, but timed tests stress me out. I’d like something more leisurely. There are quite a few online compilers, like  codepad and IDEOne, but they’re too free-form to learn from; I need a structured curriculum.

Screenshot of a solution to the 'Anagram' problem on Exercism. Graphic: Jim Galasyn

Exercism hits the sweet spot: it has enough structure to direct your learning, with a full social experience built in, and you proceed at your own rate. It gives you problem sets for 30 different programming languages, from C# to Swift, and it provides unit tests for each problem. You build up your implementation to pass the unit tests. At any time, you can post your solutions and get feedback from the community. It’s a nice feeling when all of your unit tests show green.

I started with the C# track. For convenience, I created a Visual Studio solution to hold all of the exercises. Feel free to clone the repo: ExercismCSharp. The Exercism site nicely showcases your code, and you can browse and comment on other people’s solutions. Mine are here. If you create an online repo for your solutions, they provide a nice addition to your LinkedIn profile, in the Projects section.

Technorati Tags: C#,learning,Visual Studio,Java,JavaScript