Fast Track to Clojure

Topics covered at CLOJURE-01-02
View Schedule & Book More dates available

Next up:

Want to learn how to rapidly get up-to-speed with Clojure for solving real-world problems? Clojure is a pragmatic language that offers a simpler approach; this course offers the fastest route to proficiency with this young and exciting JVM language.

The course will teach you the fundamentals of Clojure, through exercises based on some of the real-world problems that Clojure excels at tackling. The course is a full immersion to the Clojure philosophy, it will be an intensive two days!

Learn how to:

  • Build up elegant programs from the building blocks provided by Clojure's core function library
  • Think about and approach problems from a functional programming mindset
  • Utillize existing Java APIs from your Clojure programs
  • Write programs that utilize multiple threads without the risk of deadlocks and race-conditions

About the Author

Malcolm Sparks

Malcolm has been a Java developer since 1995 and is now an active Clojure developer and member of the Clojure community. He has led a team of Clojure developers in an investment bank, where he was also the founder of the Functional Programming SIG. He is an experienced trainer, having given over 30 courses on Agile development and Test Driven Development with Java, C# and C++. He is now with Juxt, a training and services company specialising in Clojure.

Day 1 - Foundation

We will provide a foundation overview of all the important Clojure language concepts, this will include:

  • Getting started with Clojure. Basic syntax and the read-eval-print-loop (REPL)
  • Composing and using Clojure functions and namespaces
  • Basics of Clojure/Java interop
  • Using Clojure's common special forms such as if, let, cond, for with destructuring
  • Core data-structures: lists, vectors, maps, sets
  • Sequences, the sequence contract, lazy sequences
  • Operations on sequences including map, reduce, filter
  • Functional composition and higher-order functions

Day 2 - Immersion

Day 2 will consolidate and build on the foundations of Day 1 with more advanced material and more exercises worked through by individuals and as a group. We will explore some more of the Clojure language features such as:

  • Using macros, such as commonly used threading macros
  • Sequences revisited
  • Clojure's concurrency toolbox: atoms, refs, vars, agents, futures, delays and promises
  • Testing with clojure.test and Midje


If you are a developer who wants to come away with practical skills in functional programming and sufficient proficiency in the Clojure language to feel confident using it in a professional setting, then this course is for you!


No prior knowledge of Clojure or Java is assumed but attendees should be comfortable with at least one other language, not necessarily functional.

Bring your own hardware

Delegates are requested to bring their own laptop for this course. If you are unable to bring a laptop for the course, please contact us on +44 20 7183 9040, or email info@skillsmatter.com

A full installation guide for the course software will be provided with your course joining instructions.