To submit homework, put all your solutions into a single file (named,
say, `main.ml`). Copy this file to your SEAS Eniac account using,
for example, `scp`:

% scp main.ml 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 hw2 main.ml
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.

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

### Assignments:

Homework 1 [Intro to Functional Programming]
(PDF, PS), assigned Wednesday, Sept 3rd, is due Monday, Sept 8th at
noon.

Homework 2 [Functional Programming] (PDF, PS), assigned Monday, Sep 8rd,
is due Monday, Sep 15th at noon.

Homework 3 [Induction] (PDF, PS), assigned Monday, Sep 15th,
is due Monday, Sep 22nd at noon.

Homework 4 [Lambda calculus] (PDF, PS), assigned Monday, Sep 22nd,
is due Monday, Sep 29th at noon.

Homework 5 [Term representations; basic types] (PDF, PS), assigned Monday, Sep 29th,
is due Monday, Oct 5th at noon.

Homework 6 [Simply typed lambda-calculus] (PDF, PS), assigned Wednesday, Oct
15th, is due Monday, Oct 20th at noon.

Homework 7 [Extensions of the simply typed lambda-calculus] (PDF, PS), assigned Monday, Oct 20th,
is due Monday, Oct 27th at noon.

Homework 8 [References and exceptions] (PDF, PS) is due Monday, November
3rd, at noon.

Homework 9 [Subtyping] (PDF, PS) is due Monday, November
10th, at noon.

Homework 10 [Metatheory of subtyping] (PDF, PS) is due Monday, November
24th, at noon.

Homework 11 [Objects] (PDF, PS) is due Wednesday, December
3rd, at noon.

Homework 12 [Featherweight Java] (PDF, PS) is due Monday, December
8th at noon.