15-814 Types and Programming Languages

  • Assignments generally are given out Tuesday and are due the following Tuesday, but the schedule may vary.
  • Unless otherwise noted, assignments are individual assignments. They must represent your own work. You may consult any public resources such as papers, reports, or lecture notes, but you must explicitly credit such external resources in your answers. You are not permitted to draw upon assignments or solutions from previous instances of this course or other courses in preparing your work. Carnegie Mellon's policy on academic integrity applies to this course.
  • Some problems may be explicitly annotated as allowing collaboration, with a problem-specific policy spelled out.
  • Homeworks may require small implementations, or write-ups with LaTeX or with pencil and paper and scanned as a (legible!) PDF.
  • If you want to typeset your answers, some sample LaTeX lecture notes and necessary style file will be posted in the misc/latex/ directory or are available in the homework handouts.
  • Emphasis is on correctness and elegance. Some assignments may be difficult. If you cannot do them, write down your thoughts, but never hand back an incorrect "proof".
  • Written homeworks are due at 11:59pm on the due date.
  • Homework may be handed in late without penalty if the instructor is notified in advance. See Assignment Due Dates.
  • Assigments should be submitted as PDFs via Canvas.
  • We will try our best to return graded homework by the end of the week it was due.
  • Assignment hand-in and grades are tracked on Canvas.
Out Assignment Reference Due Sample Solution

Sep 8 Assignment 1   The Untyped λ-Calculus (LaTeX source) Tue Sep 15

Sep 16 Assignment 2   The Simply-Typed λ-Calculus (LaTeX source) Tue Sep 23

Sep 22 Assignment 3   Polymorphism (LaTeX source) Tue Sep 29

Sep 29 Assignment 4   Lazy Pairs and Type Isomorphisms (LaTeX source) Tue Oct 6

Oct 8 Assignment 5   Mutual Recursion (LaTeX source) Tue Oct 13

Oct 22 Mini Project 1   Type Equality, Bidirectional Typing, or Exceptions (LaTeX source) Thu Nov 5

Nov 6 Assignment 6   Parametricity and Data Abstraction (LaTeX source) Tue Nov 17

Nov 20 Assignment 7   Concurrency and Laziness (LaTeX source) Tue Dec 1

Nov 3 Mini Project 2   Garbage Collection (LaTeX source) Fri Dec 11

[ Home | Schedule | Assignments | Resources | Software ]

Frank Pfenning