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 will be marked as subject to the Whiteboard Policy:
    Once you have made an honest effort to solve a whiteboard problem on your own, you are free to discuss that problem with your classmates. At the end of your discussion, any record of the discussion must be erased and you must wait a few hours before writing your solution on your own. Practically, this means:
    • If you work at a board, erase the board. Do not take pictures of the board.
    • If you write on pieces of paper throw them out at the end of the discussion.
    • Do not discuss problems over Slack, email, WhatsApp, etc.
    Please follow the spirit and the letter of this policy: its goals are to help you learn, to ensure that you understand the work you submit, and to ensure that your work is your own.
  • Homeworks may require small implementations, or simply write-ups with LaTeX or with pencil and paper.
  • 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 very 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. They should be submitted as PDFs via Canvas.
  • We will try our best to return graded homework during the lecture following the due date.
  • Assignment hand-in and grades are tracked on Canvas.
Out Assignment Reference Due Sample Solution

Sep 10 The Untyped λ-Calculus (LaTeX source) Tue Sep 17 (sample solution)

Sep 17 The Simply-Typed λ-Calculus (LaTeX source) Tue Sep 24 (sample solution)

Sep 24 Nontermination (LaTeX source) Tue Oct 1 (sample solution)

Oct 1 Lazy Pairs and Type Isomorphisms (LaTeX source) Tue Oct 7 (sample solution)

Oct 9 Mutual Recursion (LaTeX source) Tue Oct 15 (sample solution)

Oct 22 The K Machine (LaTeX source) Tue Oct 29 (sample solution)

Oct 29 Propositions as Types (LaTeX source) Tue Nov 5 (sample solution)

Nov 6 Parametricity (LaTeX source) Tue Nov 12 (sample solution)

Nov 20 Lazy Records (LaTeX source) Tue Nov 26 (sample solution)

Nov 27 Linearity (LaTeX source) Fri Dec 6 (sample solution)

[ Home | Schedule | Assignments | Resources ]

Frank Pfenning