The day-by-day schedule is shown below, including all deadlines. You can import it into Google calendar or other apps using the ‘ics’ link to the right.
Wed Sep 5
Meeting 1 at 12 pm. What is FP? Intro to REPL and evaluating expressions.
Mon Sep 10
Meeting 2 at 12 pm. Tuples, Booleans, partial application, operator sections, pattern guards.
Wed Sep 12
Meeting 3 at 12 pm. Recursive functions, evaluating expressions.
Sun Sep 16
Assignment 1 due at 23:59.
Mon Sep 17
Meeting 4 at 12 pm. List constructors and pattern matching.
Wed Sep 19
Meeting 5 at 12 pm. Implementing list operators, syntax of list comprehensions.
Sun Sep 23
Assignment 2 due at 23:59.
Mon Sep 24
Meeting 6 at 12 pm. Review solutions for list assignment, intro to type syntax and some built-in type classes.
Wed Sep 26
Meeting 7 at 12 pm. Type classes including Show, Eq, Ord, Enum, Bounded. Defining type synonyms and enumerated types. Brief intro to Maybe type.
Mon Oct 1
Meeting 8 at 12 pm. More on the Maybe
type, including lookup
and fmap
. The case
expression, field selectors, and recursive data types.
Tue Oct 2
Assignment 3 due at 23:59.
Wed Oct 3
Meeting 9 at 12 pm. Function composition using .
and <=<
, the Either
type.
Mon Oct 8
Meeting 10 at 12 pm. Defining a bounded stack type, Functor and Bifunctor type classes.
Tue Oct 9
Assignment 4 due at 23:59.
Wed Oct 10
Meeting 11 at 12 pm. Solutions to assignment 4, Monoid
type class.
Mon Oct 15
Meeting 12 at 12 pm. The Ordering
type, laziness, infinite data structures.
Wed Oct 17
Meeting 13 at 12 pm. Help on assignment 5, abstract syntax tree.
Fri Oct 19
Assignment 5 due at 23:59.
Sun Oct 21
Assignment 6 SKIPPED due at 23:59.
Mon Oct 22
Meeting 14 at 12 pm. Variable environments for expression trees, applicative functors.
Wed Oct 24
Meeting 15 at 12 pm. Stack evaluation, compiling expressions to stack instructions.
Mon Oct 29
Meeting 16 at 12 pm. Midterm exam.
Tue Oct 30
Assignment 7 due at 23:59.
Wed Oct 31
Meeting 17 at 12 pm. Solutions to assignment 7. PRNG and threading state.
Mon Nov 5
Meeting 18 at 12 pm. Generalizing generator operations, leading to always
/ andThen
.
Tue Nov 6
Assignment 8 due at 23:59.
Wed Nov 7
Meeting 19 at 12 pm. Solutions to assignment 8. Monad operations for Maybe
and List.
Sun Nov 11
Assignment 9 due at 23:59.
Mon Nov 12
Meeting 20 at 12 pm.
Wed Nov 14
Meeting 21 at 12 pm.
Mon Nov 19
Meeting 22 at 12 pm.
Mon Nov 26
Meeting 23 at 12 pm.
Wed Nov 28
Meeting 24 at 12 pm.
Sun Dec 2
Assignment 10 due at 23:59.
Mon Dec 3
Meeting 25 at 12 pm.
Wed Dec 5
Meeting 26 at 12 pm.
Mon Dec 10
Meeting 27 at 12 pm.
Tue Dec 11
Assignment 11 due at 23:59.
Wed Dec 12
Meeting 28 at 12 pm.
Sun Dec 16
Assignment 12 due at 23:59.