My company Likely hosted a Clojure School for four weeks from 12th November 2013. Targeted at professional software developers, it aimed to teach the fundamentals of the Clojure programming language in a practical way.
Syllabus
Each class focused on a particular aspect of the Clojure language or its libraries and walked students from the absolute basics to implementing a multiplayer browser based game over WebSockets.
The topics for each week were presented as on slides with regular Q&A and breaks for exercises. The org documents from which the slides were generated are linked below.
- Part 1
- Setting up with Leiningen & the REPL
- Data types
- Collection types
- Functions
- Higher-order functions
- Example code
- Part 2
- Web development with Clojure
- Ring, Compojure, Hiccup
- Mutable state and STM
- Atoms, Agents, Refs
- Multithreading with Future
- Part 3
- Macros
- Techniques for managing concurrency
- Core.async and CSP
- ClojureScript
- Homework template
- Part 4
- Polymorphism in Clojure
- Protocols
- Multimethods
- Websockets and channels
- Building a multiplayer game of snake!
- Example code
Thanks
Clojure School was part of a series of courses organised with help from Dactic.