The Systems & Architecture thread is where many of the practical skills of computing are learned. This thread teaches you about the organization of computer systems, how they are built using different hardware and software layers and how they are programmed.

The Systems & Architecture thread deals with a complete vertical slice of system building from processor design, memory organization to virtualization and operating system layers all the way up to the programming interfaces, languages and the tool chains such as compilers, debuggers and profilers. It emphasizes different system properties such as performance, power consumption, reliability, security, and availability. This thread spans a vast spectrum of systems ranging from parallel and distributed systems to emerging multi-core systems, as well as domain specific systems (such as gaming consoles, healthcare information systems, real-time embedded controllers used in avionics, and so on).


Systems & Architecture


CS 2340 - Objects and Design


CS 3210 - Design of Operating Systems 3
CS 3220 - Computer Structures: HW/SW Codesign of a Processor 3
CS 3510 or CS 3511 - Design and Analysis of Algorithms 3

Pick 1 of Systems Software Tools

CS 3300 - Introduction to Software Engineering


CS 4240 - Compilers, Interpreters, and Program Analyzers


Pick 1 of Advanced Systems & Architecture

CS 4210 - Advanced Operating Systems


CS 4220 - Programming Embedded Systems


ECE4100 - Advanced Computer Architecture