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.