pl-semantics-and-types

CIS 7000-01 Syllabus

Homework

Submit via gradescope

  1. HW1, due Monday, September 22th at midnight
  2. HW2, due Monday, October 6th at midnight
  3. HW3, due Monday, October 20th at midnight
  4. HW4, due Monday, November 10th at midnight
  5. HW5, due Monday, November 24th at midnight
  6. HW6, due Monday, December 8th at midnight

Schedule

The course content is summarized in the Lectures notes.

Date Chapter(s) Lang Topic
W 8/27     No Class: Instructor travel
M 9/1     No Class: Labor day
W 9/3 Ch. 1   Introduction: Why study Semantics and Types?
What is Type Safety?
M 9/8   stlc Preservation and substitution
W 9/10 Chs. 1-2 stlc Progress
Natural number recursion
M 9/15 Ch. 3 stlc Big step semantics
W 9/17 Ch. 4 stlc Semantic soundness
M 9/22 Ch. 5 rec HW #1 due
Recursive definitions
W 9/24   rec Metatheory of recursive definitions
M 9/29 Ch. 6 rec Semantic soundness with recursive definitions
W 10/1   rec Step-indexed logical relations
M 10/6   rec HW #2 due
More step-indexed logical relations
W 10/8   rec More step-indexing, Working in Rocq
M 10/13 Ch. 7 div Type-and-effect systems (nontermination)
W 10/15   div Syntax directed systems, Nontermination Monad
M 10/20 Ch. 8 modal HW #3 due
Nontermination monad
W 10/22   modal More nontermination monad
M 10/27     Midterm Exam (in class)
W 10/29 Ch. 9 rec Explicit control stacks
M 11/3 Ch. 10.1 control Exceptions
W 11/5 Ch. 10.2 control Continuations
M 11/10 Ch. 10.3 control HW #4 due
Effect handler examples
W 11/12   control Semantics of effect handlers
M 11/17 Ch. 10.2 control CPS conversion
W 11/19 PFPL Ch. 13   Classical Logic
M 11/24 Ch. 11 untyped HW #5 due
Untyped program equivalence definitions
W 11/26     No Class: Friday schedule for Thanksgiving
M 12/1   untyped Untyped program equivalence examples
W 12/3   untyped Untyped program equivalence proofs
M 12/8 Ch. 12 rec HW #6 due
Typed program equivalence
T 12/16     Final exam: Tuesday, December 16, 2025: 9:00am to 11:00am in TOWNE 305

Grading and Assignments

Homework Policies

You will need to typeset your assignments solutions using LaTeX. Starter code will be provided to save you time.

The purpose of homework assignments is to give you practice with the concepts, force you think closely about the details, and receive feedback about your progress.

You can collaborate on your assignments, but you must submit your own work. I encourage you to discuss the homework problems with your classmates.

You must cite all sources that you use to the complete the assignments. If you discuss the assignment with anyone, list their name. If you refer to online textbooks, lecture notes, etc. please include a link. If you use a LLM or AI tool, provide a short description of what tool you used and how it helped you.

Note that really good homework exercises that help you practice with the material are hard to come by. The exercises for this semester will be variations of problems that I’ve seen before and have experience with. That means that you will probably be able to find solutions via web search or asking LLMs to solve the problems for you.