0845 450 6120

Fast Track to Clojure

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!

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.

Audience

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!

Reset

Learning Objectives

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

Pre-Requisites

Prerequisites

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

To participate in this course, delegates are required to bring their own laptop.

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

Course Content

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

Related Courses

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

Our Customers Include