We are excited to announce the release of a new book and training course—Creative Scala. Creative Scala is an introduction to Scala designed for people with no previous experience of Scala or functional programming. The name comes from the course content, which is based around the functional drawing library we’ve been working on for the online version of Essential Scala.

The best part? Creative Scala is 100% free!

As we’ve taught more training courses, both free and paid, we’ve seen the need for material that is more basic than Essential Scala. In our free courses we often have students with very little programming experience. The programming patterns in Essential Scala are tough going for them, as they don’t have the background to appreciate the problems we’re solving. In our paid courses we find a lot of time is spent on syntax and other Scala basics that take away from more useful material. Creative Scala is designed to appeal to both groups by covering the very basics of functional programming and Scala is a fun way. We assume some familiarity with another programming language but little or no experience with Scala or other functional languages.

The exercises in Creative Scala are based on a functional graphics library called Doodle. Doodle is primarily designed to make programming fun and creative, while being based on universal concepts that that apply to all well-designed software written in a functional style. Concretely this means composition and minimising state, with a side serving of structural recursion.

Head over to the course page right now and download your free copy to learn Scala by drawing pictures like the Sierpinski triangles above. Alternatively, get in touch via our contact form if you would like us to run a free public workshop at a local community event. We already have two free events scheduled teaching this material, one in San Francisco (as part of sequence of events that includes training on Scalaz and Shapeless), and one in Edinburgh (which is followed by advanced Scala training).