CSE 134: Operating Systems (Spring, 2014)

Home | Syllabus | Schedule | Exams | OS161/Projects

Lecture: Tue. & Thur. 6:30-7:45 in Shanahan Center 2440.

Final Exam: Tue., May 13, 7-10 PM in Shanahan Center 2440.

Course Objectives: This course gives an introduction to the basic concepts used to structure modern operating systems. In this very fast paced field of computing, 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.

Course Description: Design and implementation of operating systems, including processes, memory management, synchronization, scheduling, protection, filesystems, and I/O. These concepts are used to illustrate wider concepts in the design of other large software systems, including simplicity; efficiency; event-driven programming; abstraction design; client-server architecture; mechanism vs. policy; orthogonality; naming and binding; static vs. dynamic, space vs. time, and other tradeoffs; optimization; caching; and managing large codebases. Group projects provide experience in working with and extending a real operating system.

Discussion Board: This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the grutors, and myself. Rather than emailing questions to the teaching staff, please post your questions on Piazza.

Find our class page at: https://piazza.com/hmc/spring2014/cs134/home.

Textbooks:

Required:

Honor code:

The assignments in this class are done in groups; how you split up the work between group members is up to you, but each group member is responsible for all work that is submitted (joint and several liability).

For the assignments, feel free to talk with other groups (about concepts, but not sharing actual code) or use books or online resources. You may not use code or fragments of code other than that given to you in the assignment. In particular, do not use the internet to find solution code for the assignments.

Use the in-your-head rule. When you've discussed a problem with someone else, you must leave with everything in your head (nothing electronic or on paper).

You may not use midterms or final exams that I have previously given (at UCSD), except for the samples I have provided.

Grades:

A final overall percentage score will be calculated based on the weighted average of the scores earned on exams, homeworks, and projects. This percentage score will be used to determine a final letter grade as follows:
Percentage score Grade
≥90% A
≥80%-<90% B
≥65%-<80% C
≥50%-<65% D
<50% F
Pluses and minuses will be attached to the letter grades as the instructor deems appropriate.