Current assignment: None
Current milestone: None
Functional Programming
01/25/18
| L1: Introduction to 3110
01/30/18
| L2: Functions
02/01/18
| L3: Lists
02/06/18
| L4: Data types
02/08/18
| L5: Variants
02/13/18
| L6: Higher-order programming
Modular Programming
02/15/18
| L7: Modules
02/20/18
| No class: February Break
02/22/18
| L8: Functors
02/27/18
| L9: Abstraction and specification
03/01/18
| L10: Abstraction functions and representation invariants
03/06/18
| L11: Testing
Data Structures
03/08/18
| L12: Streams and laziness
03/13/18
| Prelim I
03/15/18
| L13: Balanced trees
03/20/18
| L14: Mutable data types
Interpreters
03/22/18
| L15: Interpreters
03/27/18
| L16: Substitution model
03/29/18
| L17: Environment model
Spring Break
04/03/18
| No class: Spring Break
04/05/18
| No class: Spring Break
Formal Methods
04/10/18
| L18: Functional programming in Coq
04/12/18
| L19: Logic in Coq
04/17/18
| L20: Proofs are programs
04/19/18
| L21: Induction in Coq
04/24/18
| Prelim II
04/25/18
| L22: Verification in Coq
Advanced Topics
04/26/18
| L23: Futures
04/27/18
| L24: Monads
Objects
05/01/18
| L25: Objects
Software Ethics
05/03/18
| L26: Ethical Issues in CS
THE END
05/08/18
| L27: Victory lap
05/13/18
| Final Project due: 4:30 pm, demos held over the next few days
05/17/18
| Final Exam

Assignments