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).