CS442: Assignment 1

The purpose of this assignment is to apply the abstract principles developed in the lectures to a real-world programming language.

You may choose any language for which a commercial/open source compiler exists (typical choices are Pascal, Algol 6x, Modula-x, Java, C, C#, etc.; esoteric choices, e.g., PostScript or TeX are not recommended unless you know what you are doing).

The deliverable of this assignment is a report that discusses the following issues:

The presentation should follow the notation used in classes. You should focus on the inherent features of the chosen language and skip things realized by libraries (e.g., input/output routines, or, in the case of C, the "string" type), etc.


The completed assignment will be assessed with respect to the following criteria: The report should be about 15 pages (25 pages max) typeset in a standard 10pt font and delivered as hardcopy and in PDF.