IWKS 5300: NAND to Tetris 

Foundations of Computer Systems

Graduate version of IWKS 3300. Introduces the principles and technologies that underlie the global information age. Starting from first principles, students gradually construct a fully functional simulated hardware platform, together with a modern software hierarchy, yielding a working basic yet powerful computer system. In the process of building this computer system, students gain a first-hand understanding of how hardware and software systems are designed and how they work together as one enterprise. The course involves considerable software development in the form of a series of laboratory assignments of increasing complexity, but requires only introductory programming experience. Graduate students will implement additional functionality, including network communication and FPGA implementation. 

Prerequisite: Graduate standing; Suggested Background: some computing experience

Credit hours: 3