The Elements of Computing Systems

Subject Outline
Content
Assessment
Software
Resources
Staff Information
This subject guides students through the construction of a modern, full-scale computer system (hardware and software) from first principles. In the process, the students practice many major abstractions studied in typical IT subjects and make them concrete through 12 guided implementation projects. The lectures, book chapters and projects are highly modular and one can choose to pursue subsets of them at will.
The hardware projects are built on a personal computer using a simple Hardware Description Language (HDL) and a hardware simulator supplied on this site. The software projects (assembler, virtual machine, and compiler for a simple object-based language) can be developed in any programming language, using the project materials available in this site. A mini-OS is also built, using the high-level language designed in the course.
Many IT students are missing the forest for the trees, and this course aims to restore the big picture. By gradually constructing and unit-testing a complete hardware platform and a modern software hierarchy from the ground up, the students discover how computer systems work, and how they are built. In the process, they also apply some of the most important algorithms, data structures, and techniques learned in typical core IT programming courses.
The subject and the book are designed for any person who is interested in IT and has programming and data structures experience. All the knowledge necessary for this subject is given in the textbook.


File translated from TEX by TTH, version 3.85.
On 14 Jan 2010, 09:06.