Course Overview #
This course is an introduction to the design and implementation of system-level software, including operating systems, networks, and databases. Topics include processes and threads, memory and storage management, networking and inter-process communication, scheduling and synchronization.
Objectives #
Students in this class should:
- Develop skill in system-level programming in C.
- Gain understanding of the software systems that underlie application programmer interfaces (APIs).
Prerequisites #
While there are no formal prerequisites for this course, it is aimed at someone who has taken Software Design or has an intermediate level of programming experience.