Description and Topics

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.