You know about design of computer hardware...
how do you make it do something?

Topics In Computer Systems Spring 2012 EE 599-006/699-002
Time & Place: TuTh 9:30-10:45, MMRB 112
Instructor: Professor Hank Dietz
Instructor URL: http://aggregate.org/hankd/

This course aims to give hardware-oriented students the understanding of systems software that they need to make working computer systems using custom computer architectures. The course will be heavily project oriented, with students actually building compiler and operating system software.

  1. Introduction
  2. Static mechanisms
  3. Dynamic mechanisms
  4. Selected advanced topics... papers and by request discussions
  5. Project specifics and presentations

C programming in a Linux environment will be required for the projects (involving the topics in bold), but the tool infrastructure that will be used will keep the complexity and size of the C code low enough that extensive background in C programming is not a prerequisite for the course. Neither are students expected to have previous experience in writing compilers or operating systems.