Learn Clojure
Structured lessons from the basics up — follow the path below in order, at your own pace.
-
1
Level 1 — Beginner Beginner 25 lessons
Start here if you have never written a line of Clojure before. No programming experience is required — work through these lessons in order,...
Lessons in this module
What Is Clojure? Why Learn Clojure? What Can You Do With Clojure? Installing Clojure Setting Up Your Environment Your First Program Reading Clojure Code The REPL Workflow def and Immutable Values Numbers and Math Strings and Characters Keywords and Symbols Truthiness, nil, and Booleans Conditionals Functions let and Local Bindings Lists and Vectors Maps Sets Nested Data map, filter, and reduce Loops and Recursion Threading Macros Input and Command-Line Arguments Comments and Style -
2
Beginner Projects Beginner 1 lesson
Build these on your own using what you learned in Level 1. Each one uses functions, vectors, maps, conditionals, and sequence functions. 1....
-
3
Level 2 — Intermediate Intermediate 17 lessons
These lessons cover sequences and laziness, destructuring, higher order functions, the sequence library, namespaces, error handling, Java in...
Lessons in this module
-
4
Intermediate Projects Intermediate 1 lesson
Build these using destructuring, the sequence library, atoms, protocols, multimethods, files, EDN/JSON, and transducers from Level 2. 1. Lib...
-
5
Level 3 — Advanced Advanced 13 lessons
These lessons cover macros, core.async, clojure.spec, projects with deps.edn and the Clojure CLI, Leiningen, testing with clojure.test and t...
Lessons in this module
-
6
Advanced Projects Advanced 1 lesson
Build these using macros, core.async, spec, testing, Ring, next.jdbc, and Babashka from Level 3. 1. A REST API Build a JSON API for a small...
-
7
What You Should Know Now — and What's Next 1 lesson
What You Should Know Now Reading Clojure's syntax and working in a REPL Immutable values, vectors, lists, maps, and sets Functions, closures...