15-150: Functional Programming, Summer 2020

Disclaimer: All topics and dates are subject to change.


The Lab 'Date' refers to what day the 9am EDT labs (Sections A-D) occur. The 10:30pm EDT lab (Section G) meets ten-and-a-half hours earlier, and the noon labs (Sections E and F) occur three hours later.
Topic Date Writeup
Basics 20 May basics
Induction and Recursion 22 May induction
Work & Span 28 May workspan
Datatypes 29 May datatypes
Higher-Order Functions 03 June
Continuation-Passing Style 05 June
Exceptions 09 June
Modules 11 June
Sequences 16 June
Games 19 June
Lazy and Imperative 23 June
Final Review 25 June


Unless otherwise noted, all homeworks are due 10pm EDT on the stated day.
Homework Release Date Due Date Writeup
Basics 19 May 21 May basics
Induction and Recursion 22 May 26 May induction
Datatypes 27 May 31 May datatypes
Higher-Order Functions 01 June 05 June
Continuation-Passing Style and Exceptions 06 June 10 June
Modules 11 June 14 June
Sequences 15 June 18 June
Games 19 June 22 June
Lazy and Imperative 22 June 24 June


All quizzes will happen during a students' lab time. The exact format of the quizzes is to be announced, but will consist of a timed Gradescope assignment asking the student to demonstrate their knowledge of the topic.
Topics Date
Basics, Recursion and Induction of Natural Numbers and Lists 26 May
Induction, Datatypes, Work and Span 01 June
Higher-Order Functions, and Continuation-Passing Style 08 June
Advanced Control Flow and Modules 15 June
Sequences and Games 22 June
last modified 21:38, 28 May 2020