15-814 Types and Programming Languages

  • Assignments generally are given out Thursday and are due the following Thursday, 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 are included in the handout source hwNN.zip file.
  • 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 Gradescope or as Lambda source file, as specified in each assignment.
  • We will try our best to return graded homework before lecture the week following after the due date.
Out Assignment Reference Due Sample Solution

Sep 2 Assignment 1   The Untyped λ-Calculus (LaTeX source) Thu Sep 9 (sample solution)

Sep 9 Assignment 2   The Simply-Typed λ-Calculus (LaTeX source) Thu Sep 16 (sample solution)

Sep 16 Assignment 3   Polymorphism (LaTeX source) Thu Sep 23 (sample solution)

Sep 23 Assignment 4   Defining Types (LaTeX source) Thu Sep 30 (sample solution)

Sep 30 Assignment 5   Mutual Recursion (LaTeX source) Thu Oct 7 (sample solution)

Oct 14 Assignment 6   Language Extensions (LaTeX source) Thu Oct 21 (sample solution)

Oct 21 Assignment 7   K Machines (LaTeX source) Thu Oct 28 (sample solution)

Oct 28 Assignment 8   Parametricity (LaTeX source) Thu Nov 4 (sample solution)

Nov 4 Assignment 9   Data Abstraction and Programs as Proofs (LaTeX source) Thu Nov 11 (sample solution)

Nov 11 Mini Project   Advanced Control (Source) Thu Dec 2

[ Home | Schedule | Assignments | Resources | Software ]

Frank Pfenning