If you’re coming to Clojure from an Object-Oriented Programming background, this page is for you. Be sure to click those checkmarks to track your progress.
Start with the best introduction to Clojure out there. It gently guides you through the language with fun exercises. You’ll learn the syntax and the thought processes behind Clojure programming.
Get started with functional programming in Clojure.
If you come from a non-JVM language, you should brush up on the Java Virtual Machine.
In Clojure, collections are used extensively. This will go over some of the patterns Clojure programmers use with collections.
Scope refers to the rules which tell you which parts of your code can access which variables.
Clojure is designed to be developed using Repl-Driven Development. This is a workflow that interacts and modifies a live, running system.
Recursion is the main way we build data structures iteratively.
Clojure organizes code into namespaces, which are simply files with certain names. This course goes over how to declare a namespace and how to navigate namespaces at the REPL.
Leiningen is the powerful project tool that is used by most Clojure programs. It keeps track of dependencies, has a powerful plugin system, and will run your projects.
Web development in Clojure is based around the Ring system. This course explains all of the concepts you’ll need.
Learn the built-in testing library called clojure.test so you can do unit testing in Clojure.
Clojure is known for its powerful concurrency primitives. This course is a compendium of them. Dip in and out as you need something.
Learn some of the basic syntax of Clojure. This course includes function syntax and for-comprehension syntax.
Clojure’s sequences are lazy, meaning they don’t execute the elements until they are needed. This has important consequences, and you should learn those in this course.
A few projects done in an hour or less.
Learn to read and write different data formats.
This course shows how we can use Data to model interesting properties of our systems.