CIS 500: Homework

Homeworks will generally be due every Monday by noon. Late homeworks will not be accepted.

Code assignments must be submitted electronically. See below for details.  Written assignments must be submitted electronically  (in ascii, ps or pdf form). We strongly encourage you to typeset your assignments using LaTeX.
 


To electronically submit homework, copy the Postscript or PDF file containing your solution to your SEAS Eniac account using, for example, scp:

% scp main.pdf eniac.seas.upenn.edu:
Password: ******
% 
Then connect via ssh to eniac.seas.upenn.edu and use the turnin command to submit your file for grading:

% turnin -c cis500 -p hw1 main.pdf
Your files have been submitted to cis500, 
hw2 for grading.
% 
(If you do not have an account on Eniac, you may submit your homework by email to cis500@seas.upenn.edu.)

turnin will accept multiple files as input, and can be run multiple times before the deadline.


Assignments:

Homework 1 [Induction; Operational Semantics] (PDF, PS), assigned Wednesday, Sept 8th, is due Monday, Sept 20th by noon. Solutions: (PDF, PS).

Homework 2 [Functional Programming] (PDF, PS), assigned Monday, Sept 20th, is due Monday, Sept 27th by noon. Solutions: (PDF, PS).

Homework 3 [Lambda Calculus] (PDF, PS), assigned Monday, Sept 27th, is due Monday, Oct 4th by noon. Solutions: (PDF PS).

Homework 4 [Simple Type Systems] (PDF, PS), assigned Monday, Oct 4th, is due Monday, Oct 11th by noon. Solutions: (PDF PS).

Homework 5 [Simply Typed Lambda Calculi] (PDF, PS, LaTeX source), assigned Monday, Oct 18th, is due Wednesday, Oct 27th by noon. Solutions: (PDF PS).

Homework 6 [Simple Extensions of STLC] (PDF, PS, LaTeX source), assigned Wednesday, Oct 27th, is due Monday, November 1, by noon. Solutions: (PDF PS).

Homework 7 [References] (PDF, PS), assigned Monday, Nov 1st, is due Monday, November 8th, by noon. Solutions: (PDF PS).

Homework 8 [Control Flow, Exceptions] (PDF, PS), assigned Monday, Nov 8th, is due Monday, November 15th, by noon. Solutions (PDF PS).

Homework 9 [Subtyping] (PDF, PS), assigned Monday, Nov 22nd, is due Wednesday, December 1st, by noon. Solutions (PDF PS).

Homework 10 [Object Encodings; Featherweight Java] (PDF, PS), assigned Monday, Dec 1st, is due Wednesday, December 8th, by noon. Solutions (PDF PS).