Instead of exercises, we will ask you to implement graded projects of a duration of aproximatively two weeks each. Students are allowed and encouraged to work in groups of two.

### Projets

- Project 1: Numerals and Booleans
- Project 2: Untyped lambda calculus
- Project 3: Simply typed lambda calculus
- Project 4: Simply typed lambda calculus extensions
- Project 5: Simply typed lambda calculus with type inference
- Project 6: Featherweight Java