Section 1: Overview of Clojure, functional programming, setup and tips for the lesson
Section 2: Clojure datatypes and writing functions
Section 3: Higher-order functions; Caesar cipher
Section 4: Hashmaps; Breaking Caesar cipher
Section 5: Vigenere cipher