Friday, 9 March 2012

A Coding Dojo Series to Teach Scala

I created this series of Scala dojos to introduce developers at work to functional programming concepts and social coding with Git. As I create them I will post them here over the coming weeks, feel free to join in yourselves and do please provide any feedback that may be useful.


This series of dojos is intended to take you from a Scala novice to wizard in 8 weeks. To help encourage people to share their solutions I have set up a Scala Dojo Leaderboard to track those who complete the challenges, with additional bonus points available along the way. 


The dojos are held once a week in a meeting room, preferably one with a round table. People bring along laptops if they have one and then either pair up or work solo on the problems.


Make the tests go green. Simple.

The Dojos

Collaborating with git and GitHub

The dojos will be using git and GitHub to collaborate on the problems, it is a great way to see how others have solved the coding challenges. Once you have an account with github you can fork any of the projects into your own github repository with the click of a single button.
To get a local copy of the code from the remote repository, either the master or your own, run this command.
If you do not have git currently installed you can download it here from the git website. When using Git I found this one page cheat sheet useful, it also comes with some pointers about good VCS practice, Git_Cheat_Sheet_grey.pdf



  1. Hi,

    Any advice on getting Scala set up with IntelliJ? If not, what IDE/editor are you using? I'm having difficulty acquiring the requisite dependencies.

    BTW: thank you for writing these! Scala resources seem scarce at the moment. I can't wait to get this all set up!

  2. I use Intellij Community Edition 11 myself. JetBrains have developed their own Scala plugin which is freely available from the built-in plugin manager, just make sure you import the Scala project after you have installed this plugin and restarted the IDE.

  3. This comment has been removed by the author.

  4. Hello,
    First, so many thanks for this, it's helping in so many levels. I'm learning sbt, git, intelliJ and scala all at the same time.
    So, two questions; one fairly legitimate, other fairly stupid.
    Legitimate: Is someone actually checking submitted codes and giving points?
    Stupid: I'm really new to git, what do I need to do to get my code reviewed? :)

    Thanks a lot again --Emrah