Dependently Typed Functional Programming

Course Organization

course code:
Bowdoin CSCI 2520
term:
Spring 2024
meetings:
Mondays, Wednesdays, Fridays 9:05–10:00 in Searles 128
instructor:
Ed Morehouse
syllabus:
here
slack:
Bowdoin CSCI 2520

Resources

Announcements

Outline

All dates in the future should be considered tentative.

week beginning topic script file lab sheet assignment
01 2024-01-22 introduction Lecture 1 Lab 1
02 2024-01-29 inductive types and recursive functions Lecture 2 Lab 2 Homework 1
03 2024-02-05 parameterized types and generic functions Lecture 3 Lab 3
04 2024-02-12 function literals and higher-order functions Lecture 4 Lab 4 Homework 2
05 2024-02-19 programming interfaces Lecture 5 Lab 5
06 2024-02-26 monadic I/O Lecture 6 Lab 6 Homework 3
07 2024-03-04 review and first exam Review 1 Course Project
08 2024-03-11 SPRING BREAK
09 2024-03-18 SPRING BREAK
10 2024-03-25 totality for data and codata Lecture 7 Lab 7
11 2024-04-01 algebraic interfaces Lecture 8 Lab 8 Homework 4
12 2024-04-08 indexed types and dependent functions Lecture 9 Lab 9
13 2024-04-15 propositions as types Lecture 10 Lab 10 Homework 5
14 2024-04-22 inductive equality Lecture 11 Lab 11
15 2024-04-29 first-order logic Lecture 12 Lab 12 Homework 6
16 2024-05-06 review and second exam Review 2