ECS 150: Operating Systems and System Programming

Prof. Porquet-Lupine, UC Davis


Hi all, my name is Joël Porquet-Lupine. I am currently an Assistant Professor of Teaching at UC Davis.

ECS 150 is, by far, the course I have taught the most at UC Davis. I was even hired, originally as a part-time lecture in 2017, in order to teach this course!

After giving this course more than 10 times over the years, I have probably spent several hundreds of hours working on my slides, continuously improving them quarter after quarter. And because of the pandemic, I also had to record lecture videos in Fall of 2020.

This means that all the “lecturing” part of this course is now available digitally, which I am happy to release entirely via this website under a CC BY-NC-SA 4.0 license.

I hope that anyone who is interested in learning about operating systems will find this course material useful!

Course outline


ECS 150 is a 10-week course, but when accounting for holidays and/or exams, there are about 9 weeks worth of lecture time.

The lecture material is broken up into 5 parts:


There is usually an hourly discussion per week. Although most discussions are related to the various project assignments (which are not relevant to publish here), some of them are tutorials or presentation related to operating systems or systems programming.