Lessons
Clojure · Expert
Clojure · Expert. Ten lessons. Open-book quizzes. Lesson 1 free.
10 lessons · The Host · Lesson 1 free
Pass all ten lessons for the certificate. Sample · Claim

Lesson 1 · On the house
Macro hygiene
Symbol capture, auto-gensym x#, gensym, and evaluating arguments once.

Lesson 2
Writing transducers
The reducing-function protocol: init, step, completion, and volatile! state.

Lesson 3
Persistent data and transients
HAMTs and 32-way tries, structural sharing, and transient! batching.

Lesson 4
clojure.spec
s/def, s/keys, s/valid?, s/explain-data, conform, and fdef for functions.

Lesson 5
Dynamic vars and metadata
^:dynamic, binding, alter-var-root, with-redefs, and metadata on vars and values.

Lesson 6
core.async patterns
alts! with timeouts, pipelines, mult/tap fan-out, and back-pressure.

Lesson 7
deftype, reify and performance
deftype with mutable fields, reify for anonymous impls, type hints and primitives.

Lesson 8
Datafy, nav and tap>
Turning objects into data, navigating lazily, and tap> for live inspection.

Lesson 9
Tooling: deps.edn aliases and builds
Aliases with -M/-X/-T, tools.build uberjars, and REPL-driven workflow.

Lesson 10
Concurrency design at scale
Choosing atoms, refs, agents, core.async or executors for a workload.
Sample certificate
Certificate of completion
Sign in to claim your certificate of completion.
Certificate
Finish all ten lessons, then sign in
Pass every lesson on this device (quizzes and checks). Then sign in or create an account to type your name and download the JPG.