Machine Problems

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:

  1. A development diary. No assignment will be accepted without a satisfactory development diary.
  2. A copy of your code, including the items you've added to your test suite.
  3. A complete transcript of the tests you ran.
Please see submission instructions and machine problem style guidelines.

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


Late Homework Policy:

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.

Back to CSG111