This course introduces students to the principles, design, and implementation of operating systems. The lectures focus primarily on the principles and design of operating systems; a course project exposes students to the implementation aspects of operating systems and serves to solidify students’ understanding of the course material.
This core course is open to senior Bachelor, Masters, and doctoral students. Bachelor students must have passed the basic courses on Programming 2 and Math 2 or equivalent (please contact the course staff for more details). Proficiency in programming (C/C++) and UNIX development tools (e.g. make, gcc, gdb, jdb) is strictly required to pass this course.
The language of the course is English. All lectures, office hours, tutorials, exams and communication with the course staff will be conducted exclusively in English.