Schedule

Below is the tentative course schedule for the term. The “tentative” is key since the schedule will almost certainly change throughout the term.

Week 1
Tue: 02/02 Programming Paradigms
Slides Printable
Reading:
Programming Paradigms
Thu: 02/04 Haskell Basics
Lab1 Slides Printable
Reading:
Overview of Haskell
Due:
Assignment 1 Due:
Midterm Presentation
Week 2
Tue: 02/09 Haskell Basics, Continued
Slides Printable
Reading:
How Pair Programming Really Works
Thu: 02/11 Guards and Pattern Matching
Lab2a Slides Printable
Reading:
Guards and Pattern Matching
Due:
Lab1
Week 3
Tue: 02/16 Guards and Pattern Matching, Continued
Lab2b Slides Printable
Reading:
Good Haskell Style
Due:
Lab2a
Thu: 02/18 Functional Programming
Lab3 Slides Printable
Reading:
Functional Programming
Due:
Lab2b
Week 4
Tue: 02/23 Functional Programming, Continued
Slides Printable
Thu: 02/25 Type Classes
Lab4a Slides Printable
Reading:
Type Classes
Due:
Lab3
Week 5
Tue: 03/02 Type Classes, Continued
Lab4b Slides Printable
Due:
Lab4a
Thu: 03/04 Algebraic Datatypes
Lab5a Slides Printable
Reading:
Algebraic Datatypes
Due:
Lab4b
Week 6
Tue: 03/09 Algebraic Datatypes, Continued
Lab5b Slides Printable
Due:
Lab 5a
Thu: 03/11 Classes and Instances
Lab6 Slides Printable
Reading:
Classes and Instances
Due:
Lab5b
Week 7
Tue: 03/16 Functors, Applicatives, and Monads
Slides Printable
Reading:
Chapter 12 of Hutton
Thu: 03/18 Monadic Parsing
Slides Printable
Reading:
Chapter 13 of Hutton
Due:
Lab6
Week 8
Tue: 03/23 Class Presentations
Thu: 03/25 Class Presentations
Week 9
Tue: 03/30 Class Presentations
Thu: 04/01 Class Presentations
Week 10
Tue: 04/06 Compilers and Interpreters
Slides Printable
Reading:
Compilers
Interpreters
Thu: 04/08 Parsing
Slides Printable
Reading:
Backus–Naur Form
Lexical Analysis
Parsing
Week 11
Tue: 04/13 A Basic Interpreter
Slides Printable
Reading:
A First Look at Interpretation
Interpreting Conditionals
Thu: 04/15 Interpreting Functions
Slides Printable
Reading:
Interpreting Functions
Week 12
Tue: 04/20 Interpreting Functions, Continued
Slides Printable
Thu: 04/22 Interpreting Anonymous Functions
Slides Printable
Due:
Assignment 2
Week 13
Tue: 04/27 Mutation: Structures and Variables
Slides Printable
Reading:
Mutation: Structures and Variables
Thu: 04/29 Pause for Breath
Week 14
Tue: 05/04 Mutation, Continued
Slides Printable
Due:
Assignment 3
Thu: 05/06 Putting it All Together
Slides Printable
Final Evaluation Week