CSE 120: Principles of Computer Operating Systems

Summer Session I, 2009


  • (8/6/09) Course grades are now online.
  • (8/3/09) Grades for all submitted assignments and tests are now online.
  • (8/3/09) The finals have been graded. Please contact the instructor to arrange picking up your exam.
  • (7/29/09) Project 3 is due at 11:59pm, Monday 8/3, and there are milestones Wednesday and Friday nights. See the writeup for submission details.
  • (7/28/09) Extra Credit Clarification: Your Project 2 code will also be evaluated at the Project 3 milestone. Hopefully this will provide useful feedback for both projects. We will assign the extra credit points for Project 2 based on the state of your code at the Project 3 deadline.
  • (7/28/09) Frank will have office hours from 2-4p today as normal. In addition, he will be in the lab to provide help with the projects from 4p until he gets tired/hungry.
  • (7/27/09) No discussion section this week; instead, Matus will be in the labs Thursday night from 7pm onward.
  • (7/27/09) Homework 3 solutions are now online.
  • (7/27/09) Extra credit opportunity: If you correct your bugs from Project 2, you can resubmit it to earn 1/2 credit on the parts you missed the first time arround. The deadline for resubmission will be the same as the Project 3 deadline.
  • (7/25/09) Project 3 is now online.
  • (7/21/09) Homework 3 is now online.
  • (7/20/09) By popular demand, project 2 milestone is now wednesday night.
  • (7/19/09) By popular demand, matus's project 2 tips are online. Also, matus is holding a discussion section of sorts in B250 on monday at 6:30pm.
  • (7/13/09) Homework 2 solutions are now online.
  • (7/11/09) Project 1 milestone extension! You can submit up until the end of today (Saturday). Please submit even if you are not done, just so that you can familiarize yourself with svn!
  • (7/10/09) Project 2 is now online.
  • (7/9/09) Problem 3 of the homework had a typo. It should refer to condition variables instead of monitors. It is now corrected: HW2
  • (7/7/09) Homework 2 and solutions to homework 1 are now online.
  • (7/7/09) You must still choose groups and notify us, but the details have just changed slightly (they are now simpler); please see svn info.
  • (7/1/09) Project 1 milestone has been bumped back to Friday 7/10, and the final duedate is now Monday 7/13. Also, be sure to check the projects page for general info.
  • (7/1/09) Homework 1 is now online.
  • (7/1/09) Friday, July 3rd is a holiday. There will be no lecture.
  • (6/30/09) Project 1 is now online. Please choose your partners and start ASAP!
  • (6/30/09) Matus will be holding office hours on Wednesdays from 1-3pm.
  • (6/29/09) Discussion sections will be held on Thursdays from 1pm to 2pm in EBU3b (CSE building), room 2154.
  • (6/29/09) PeerWise accounts are now online. Please see the instructions on how to log on and get started. As a reminder, 1 question and 5 answers are do every Tuesday and Thursday by 11:59pm, starting with Thursday (July 2).
  • (6/22/09) Course Web site goes on-line.

Course Information

Computer Science and Engineering
CSE 120, Principles of Computer Operating Systems, 4 units
Meeting Times:
Lecture: MWF 4:00pm-5:50pm, Center 201;
Discussion: Thursday, 1pm-2pm, CSE 2154
Final: Saturday, August 1, 3p-6p in Center 201


Frank Uyeda, fuyeda@cs.ucsd.edu
Office Hours: Tues 2p-4p, CSE 2126
Matus Telgarsky, mtelgars@cs.ucsd.edu
Office Hours: Wednesday, 1p-3p, CSE 4154

Goals and Objectives

This course gives an introduction to the basic concepts used to structure modern computer operating systems. The goal of the class is to explain those concepts and principles that are likely to survive for many years to come. The course is a departure point for research in operating and distributed systems. Specifically, the course introduces the concepts of processes, concurrency, synchronization, scheduling, multiprogramming, memory management, and file systems.


You are responsible for the material covered in lecture, as well as the assigned readings. Questions on homework assignments and examinations will be based on both material covered in class as well as assigned readings.

Homework: roughly one written problem set due weekly, each completed individually;
Projects: three programming assignments, each completed in groups or individually;
Exams: midterm examination (Friday 7/17), and a final exam (Saturday 8/1 @ 3pm).
Available online and subject to change. Changes will be announced in class and updated on Web page.


Unless otherwise noted, all work must be completed individually. Homework assignments may be discussed, but solutions must be completed individually. Projects may be completed in established groups, and implementation approaches may be discussed across groups, but programming code cannot be shared across groups.
Homework: 15%; PeerWise: 5%; Projects: 30%; Midterm: 20%, Final exam: 30%.
Don't do it. All students are required to know and adhere to the UCSD Policy on Integrity of Scholarship (near middle of the page). Failure to do so will result in consequences outlined in the UCSD Policy.