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 Authors

Jon Pither

Jon Pither has led development of large Clojure projects at an Investment Bank, an online newspaper website, a major property portal, and is now working on various other Clojure projects. Jon is a co-founder of JUXT, a consultancy specialising in using Clojure.

Malcolm Sparks

Malcolm has been writing Clojure since 2009, has led Clojure teams and been involved in many successful Clojure projects. He is an experienced Clojure trainer and has written numerous open-source libraries including bidi and yada. He is also the founder of JUXT, a consulting and software development firm that uses Clojure exclusively.

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

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