This schedule is subject to change. Please check back frequently.
Week | Date | Lecture | Homework | Readings |
---|---|---|---|---|
Week 1 | March 27th |
Introduction & Basics Overview Course Overview Introduction to Functional Programming and Haskell Basics overview: variables, types and arithmetic operators Function Composition |
Homework #1 | Hutton Ch. 1- 3.6 |
Week 2 | April 3rd | Homework due date |
Homework #1 due 5:30pm
|
Hutton Ch. 3.7, 4, 6 |
April 3rd |
Functional Patterns, Recursion & Polymorphism Pattern Matching Guards List Recursion Anonymous functions Polymorphism Functional Patterns ADTs Recursive Types |
Homework #2 | ||
Week 3 | April 10th | Homework due date |
Homework #2 due 5:30pm
|
Hutton Ch. 5, 7, 8 |
April 10th |
Higher Order Functions, List Comprehension & Typeclasses List comprehension Declaring types Typeclasses Higher Order Functions (HOFs) |
Homework #3 | ||
Week 4 | April 17th | Homework due date |
Homework #3 due 5:30pm
|
Hutton Ch. 10, 11, 12.1 |
April 17th |
Modules, Records, Haskel I/O More on Modules & Project building Records Haskell I/O mechanisms Introduction Functors |
Homework #4 Midterm Exam Practice |
||
Week 5 | April 24th |
|
||
April 24th |
Midterm Exam
|
|||
Week 6 | May 1st | Homework due date |
Homework #4 due 5:30pm
|
Hutton Ch. 12.1 |
May 1st |
Container Types & Functors More on Functors Kind types |
Homework #5 | ||
Week 7 | May 8th |
|
Hutton Ch. 12.2, 14 | |
May 8th |
Advanced Haskell Type Classes Applicative Monoids Foldable I/O Mapping |
|||
Week 8 | May 15th | Homework due date |
Homework #5 due 5:30pm
|
Ch. 12.3, 15.1-15.3, 15.7 |
May 15th |
Monads & Concurrency Monads Evaluation Semantics : Lazy vs Eage Semantics Concurrency & Parallelism in Functional Programming Software Transactional Memory |
Homework 6 | ||
Week 9 | May 22nd | Homework due date |
|
|
May 22nd |
Functional Data Structures & Functional Programming in the Real World Functional Data Structures Functional Programming & Object-Oriented Programming Server-Side Programming in Haskell Functional Programming in modern languages |
Final Exam Practice | ||
Week 10 | May 29th |
|
||
May 29th |
Final Exam & Advance Topics Final Exam
Functional Reactive Programming Continuations Advance topics dependent on the class. |
|||
Week 11 | June 5th | Homework due date |
Homework #6 due 5:30pm
|