15-312 Foundations of Programming Languages


Topic Due Written template Code handout Solutions
0 Rule Induction Jan 20 hw0-template.tex (none) hw0-sol.pdf
1 Abstract Binding Trees, Dynamics and Statics Feb 3 hw1-template.tex, mathpartir.sty, code.sty hw1.tgz hw1-sol.pdf
2 Recursion, Finite Data Types and Pattern Matching Feb 17 hw2-template.tex hw2.tgz hw2-sol.pdf
3 Dynamic Typing Mar 4 hw3-template.tex hw3.tgz hw3-sol.pdf
4 Imperative Programming with Algol Mar 31 hw4-template.tex hw4.tgz hw4-sol.pdf
5 Polymorphism and Typed Elaboration Apr 14 hw5.tgz hw5-sol.pdf
6 Bounded Implementations of Nested Parallelism Apr 30 hw6.tgz hw6-sol.pdf


In the tex files we distribute, we use the LaTeX proof.sty package to typeset derivations.

Handin process

All students in the class (or on the waitlist) should have a directory with their AndrewID in it that is a subdirectory of:


This folder has subdirectories assn0, assn1, and so on that they have write access to. Students should put the written portion of assignment 4 (for example) in a PDF labeled assn4/assn4.pdf, and should have their code for assignment 4 (if any) in that same directory.

WARNING: the code we distribute will unpack in the same directory (it doesn't unpack as a directory). This is the behavior you want if you're unpacking the code in your handin directory, but might not be what you'd expect if you're on your own computer.

Valid CSS! Valid XHTML 1.0 Strict