Course Overview
What this Clojure Programming course covers, how to use it, prerequisites.
A structured, hands-on course on Clojure, the modern, functional Lisp for the JVM (and JavaScript via ClojureScript). It runs from your first REPL expression to immutable persistent data structures, sequences and laziness, functions and destructuring, namespaces, state management (atoms, refs/STM, agents), concurrency (futures, promises, core.async), polymorphism (protocols, records, multimethods), Java interop, macros, transducers, clojure.spec and Malli, testing (clojure.test, test.check), performance tuning, web development (Ring, Reitit), databases (next.jdbc, HoneySQL, Datomic/XTDB), system architecture (Integrant, Component), ClojureScript, Babashka scripting, data science, and production deployment.
Targets Clojure 1.11/1.12 with the official Clojure CLI (deps.edn) and tools.build (plus notes on Leiningen). Check your version with clj -M -e "(clojure-version)".
Course Overview
Beginners, Java/JVM developers, functional programming learners, backend and data engineers
Basic programming knowledge helps; JVM familiarity is a bonus for interop ~80–100 hours (self-paced), 11–12 weeks
JDK 17/21+, Clojure CLI, an editor: VS Code + Calva, IntelliJ + Cursive, Emacs + CIDER, Vim/Neovim + Conjure
REPL, 4clojure-style problems (4ever-clojure), Exercism Clojure track, Advent of Code, Clojure Koans
Foundations → Functional Programming → Program Structure → State & Concurrency → Polymorphism & Interop → Macros & Spec → Quality → Applications
(1–8) (9–16) (17–21) (22–27) (28–31) (32–34) (35–38) (39–46)