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, SMS, 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 the beginning of lecture on the due date. They should be submitted as PDFS via Canvas before or on the due date.
  • 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 6 The Untyped λ-Calculus (LaTeX source) Thu Sep 13 (sample solution)

Sep 18 Having Fun with Induction (LaTeX source) Tue Sep 25 (sample solution)

Sep 26 Products and Sums (LaTeX source) Tue Oct 2 (sample solution)

Oct 3 Hacking with Recursion (LaTeX source) Tue Oct 9 (sample solution)

Oct 10 Data Representation (LaTeX source) Tue Oct 16 (sample solution)

Oct 24 Polymorphism and Parametricity (LaTeX source) Tue Oct 30 (sample solution)

Nov 1 Continuing with Continuations (LaTeX source) Tue Nov 6 (sample solution)

Nov 7 Machinations (LaTeX source) Tue Nov 13 (sample solution)

Nov 13 Proofs and Stages (LaTeX source) Tue Nov 20 (sample solution)

Nov 28 Call-by-Need and Session Types (LaTeX source) Thu Dec 6 (sample solution)

[ Home | Schedule | Assignments | Resources ]

Frank Pfenning