The homework will consist of 9-10 machine problems. The machine problems are very important. They are how you really learn the material. In general, it is not possible to succeed in the course without doing the machine problems.
Links to the problems will be posted here as they are issued.
The problem will be posted here after lecture, and will generally be due at 11:59pm of the day of the next lecture. Please see submission instructions.
You will do the machine problems in groups of two.
You may organize your work in any way you see fit. I recommend that you use Pair Programming.
You will need to find a partner for the first problem set. I suggest you spend some time at the break doing this. If you are not able to find a partner in the next day or so, email me and I will assign you a partner. (I hope there are an even number of people in the class!).
You may switch partners for different problem sets. You may use the class mailing list to seek partners.
You must turn in the following items as part of each assignment:
How are machine problems graded?
MP | Title | Out | Due |
---|---|---|---|
1 | Getting Acquainted | 09/11/07 | 09/25/07 |
2 | Abstract Data Types; Working with SLLGEN | 09/18/07 | 10/02/07 |
3 | Extending a Language | 10/2/07 | 10/9/07 |
4 | Interpreters and Compilers in Java | 10/9/07 | 10/16/07 |
5a | A Lexical-Address Calculator | 10/16/07 | 10/30/07 |
5b | Manipulating the Store | 10/23/07 | 11/06/07 |
6 | Extending a Wellformedness Checker | 11/5/07 | 11/13/07 |
7 | Extending a Type Checker | 11/13/07 | 11/20/07 |
8 | Type-Checker for DemeterF | 11/20/07 | 11/29/07 |
9 | Favoring Implicit Calls and Communication | 11/27/07 | 12/4/07 |
Last modified: Wed Apr 11 13:30:16 EDT 2007
If you have travel or other responsibilities that will make it impossible for you to get a particular assignment in on time, please see me IN ADVANCE, and we can make adjustments.