|
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 |
February 24th, 2003 |
|
Project 2 |
Boolean Arithmetic |
March 3rd, 2003 |
Project 3 |
Sequential Logic |
March 7th, 2003 |
|
Project 4 |
Machine Language |
March 14th, 2003 |
|
Project 5 |
Computer Architecture |
March 14th, 2003 |
|
Project 6 |
The Assembler |
March 24th, 2003 |
Project 7 |
Virtual Machine I |
April 4th, 200 |
|
Project 8 |
Virtual Machine II |
April 11th, 2003 |
|
Project 9 |
The High Level Language |
May 12, 2003 |
Project 10 |
The Compiler I: Syntax Analysis |
May 23rd, 2003 |
|
Project 11 |
The Compiler II: Code Generation |
June 1st, 2003 |
Project 12 |
The Operating System |
June 13th, 2003 |
|
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.
|
|