Computer Systems: A Programmer’s Perspective
This course covers data representations, machine level representations of C programs, processor architecture, program optimizations, the memory hierarchy, linking, exceptional control flow (exceptions, interrupts, processes, and Unix signals), virtual memory and memory management, system-level I/O, basic network programming, and concurrent programming.
These concepts are supported by series of fun and hands-on lab assignments.