Schedule

This schedule is subject to change, and it is neither sound (that is, if a particular topic is listed here, that doesn’t mean we’ll cover it!) nor complete (that is, if a particular topic is not listed here, that doesn’t mean we won’t cover it!).

  • Event
    Date
    Description
    Notes
  • Lecture
    03/31/2025
    Monday
    Course overview
  • Lecture
    04/02/2025
    Wednesday
    Lambda calculus
  • Lecture
    04/04/2025
    Friday
        Lambda calculus, continued
  • Assignment
    04/06/2025
    Sunday
    HW0: Lambda Calculus released
  • Lecture
    04/07/2025
    Monday
        Lambda calculus, continued
  • Lecture
    04/09/2025
    Wednesday
        Lambda calculus, continued
  • Lecture
    04/11/2025
    Friday
        Lambda calculus, continued
  • Assignment
    04/13/2025
    Sunday
    HW1: Haskell Crash Course released
  • Lecture
    04/14/2025
    Monday
        Lambda calculus, continued
  • Due
    04/15/2025 23:59
    Tuesday
    HW0: Lambda Calculus due
  • Lecture
    04/16/2025
    Wednesday
    Introduction to Haskell
  • Lecture
    04/18/2025
    Friday
    Datatypes and recursion
  • Lecture
    04/21/2025
    Monday
        Datatypes and recursion, continued
  • Due
    04/22/2025 23:59
    Tuesday
    HW1: Haskell Crash Course due
  • Lecture
    04/23/2025
    Wednesday
        Datatypes and recursion, continued
  • Exam
    04/25/2025
    Friday
    Midterm 1

    In class, closed book

    1 double-sided “cheat sheet” allowed

    Covers material from lectures 1-11

  • Assignment
    04/27/2025
    Sunday
    HW2: Random Art released
  • Lecture
    04/28/2025
    Monday
        Datatypes and recursion, continued
  • Lecture
    04/30/2025
    Wednesday
        Datatypes and recursion, continued
  • Lecture
    05/02/2025
    Friday
    Higher-order functions
  • Assignment
    05/04/2025
    Sunday
    HW3: Environment-Passing Interpreters and Higher-Order Functions released
  • Lecture
    05/05/2025
    Monday
        Higher-order functions, continued
  • Due
    05/06/2025 23:59
    Tuesday
    HW2: Random Art due
  • Lecture
    05/07/2025
    Wednesday
    Typeclasses
  • Lecture
    05/09/2025
    Friday
        Typeclasses, continued
  • Assignment
    05/11/2025
    Sunday
    HW4: Nano released
  • Lecture
    05/12/2025
    Monday
    Environments and closures
  • Due
    05/13/2025 23:59
    Tuesday
    HW3: Environment-Passing Interpreters and Higher-Order Functions due
  • Lecture
    05/14/2025
    Wednesday
        Environments and closures, continued
  • Lecture
    05/16/2025
    Friday
        Environments and closures, continued
  • Lecture
    05/19/2025
    Monday
    Types, type inference, and polymorphism
  • Due
    05/20/2025 23:59
    Tuesday
    HW4: A Nano Interpreter due
  • Lecture
    05/21/2025
    Wednesday
        Types, type inference, and polymorphism, continued
  • Exam
    05/23/2025
    Friday
    Midterm 2

    In class, closed book

    1 double-sided “cheat sheet” allowed

    Covers material from lectures 1-22

  • Assignment
    05/25/2025
    Sunday
    HW5: Types released
  • Holiday
    05/26/2025
    Monday
    Memorial Day
  • Lecture
    05/28/2025
    Wednesday
        Types, type inference, and polymorphism, continued
  • Lecture
    05/30/2025
    Friday
        Types, type inference, and polymorphism, continued
  • Lecture
    06/02/2025
    Monday
        Types, type inference, and polymorphism, continued
  • Lecture
    06/04/2025
    Wednesday
        Types, type inference, and polymorphism, continued
  • Due
    06/05/2025 23:59
    Thursday
    HW5 due
  • Lecture
    06/06/2025
    Friday
    Ask me anything
  • Exam
    06/10/2025 16:00
    Tuesday
    Final

    closed book

    1 double-sided “cheat sheet” allowed

    Covers material from the entire course