|
|
|
Projects
|
|
The projects below walk you through a step-by-step construction of a typical
computer. The first five projects focus on the construction of the computer's
hardware and assembler. The remaining projects deal with the construction of
the computer's software hierarchy, and with the implementation of a simple
Java-like language.
| No. |
Name |
Deadline |
Remarks |
| Project 1 |
Boolean Logic |
November 3rd 2003, 23:59 |
|
| Project 2 |
Boolean Arithmetic |
November 3rd 2003, 23:59 |
|
| Project 3 |
Sequential Logic (original version) |
November 9th 2003, 23:59 |
|
| Project 4 |
Machine Language |
November 14th 2003, 14:00 |
|
| Project 5 |
Computer Architecture |
November 14th 2003, 14:00 |
|
| Project 6 |
The Assembler |
November 21th 2003, 14:00 |
|
| Project 7 |
Virtual Machine I |
December 5th 2003, 14:00 |
|
| Project 8 |
Virtual Machine II |
December 12ve 2003, 14:00 |
|
| Project 9 |
The High Level Language |
December 26th 2003, 14:00 |
|
| Project 10 |
The Compiler I: Syntax Analysis |
January 9th 2004, 14:00 |
|
| Project 11 |
The Compiler II: Code Generation |
January 16th 2004, 14:00 |
|
| Project 12 |
The Operating System |
January 30th 2004, 14:00 |
|
Each project is essentially a series of implementation exercises. Alltogether
there are some 300 such exercises, each being a stand-alone hardware element
(e.g. a gate or a chip) or an independent software module (e.g. a class or a
method). Each exercise has an executable solution that can be plugged into the
project without gaining access to the underlying source code.
|
|