COMP 345: Operating Systems, Spring 2025

This syllabus is subject to change based on specific class needs, especially the schedule. Significant deviations will be discussed in class. Individual exceptions to the policies and schedule are granted only in cases of true emergency. Please make arrangements with me if an emergency arises.

Logistics

Content

Introduces basic operating system concepts including virtualization, memory management, process and thread management, concurrency, file systems, and process scheduling. Students will also gain hands-on experience with the C programming language and Unix-based operating systems via programming projects.

Topics

Possible topics include:

Processes Concurrent Data Structures
CPU Scheduling Concurrency Bugs
Virtual Memory I/O Devices
Free Space Management Redundant Disk Arrays
Locks File Systems

Sources

The required course textbook is:

It is available online at http://pages.cs.wisc.edu/~remzi/OSTEP/.

Policies

Assessment

Assignments and Workload

The weekly workload for this course will vary by student and over the semester, but on average should be about 12 hours per week. The follow table provides a rough estimate of the distribution of this time over different course components for a 16 week semester.

Category Amount Final Grade Weight Total Time Time/Week (Hours)
Lectures 55 10% (Participation) - 2.5
Reading Quizzes 6–10 10% - -
Projects 3–5 40% 64 5.5
Exam Study - - 27 1.5
Exams 3 40% - -
Reading+Unstructured Study - -   2.5
        12

Grading

Your participation grade is based on a variety of activities. During class I will often make use of the Socrative (https://socrative.com) app, so you’ll need to install this on your phones. Participating in Socrative questions and with in-class group activities is required for a decent participation grade; an A includes asking questions either in class or in office hours.

Your final grade is based on a weighted average of particular assignment categories, with weights shown above. You can estimate your current grade based on your scores and these weights. You may always visit the instructor outside of class to discuss your current standing.

This courses uses a standard grading scale. Assignments and final grades will not be curved except in rare cases when its deemed necessary by the instructor. Percentage grades translate to letter grades as follows:

Score Grade
94–100 A
90–93 A-
88–89 B+
82–87 B
80–81 B-
78–79 C+
72–77 C
70–71 C-
68–69 D+
62–67 D
60–61 D-
0–59 F

You are always welcome to challenge a grade that you feel is unfair or calculated incorrectly. Mistakes made in your favor will never be corrected to lower your grade. Mistakes made not in your favor will be corrected. Basically, after the initial grading your score can only go up as the result of a challenge*.

You are always welcome to challenge a grade that you feel is unfair or calculated incorrectly. Mistakes made in your favor will never be corrected to lower your grade. Mistakes made not in your favor will be corrected. Basically, after the initial grading your score can only go up as the result of a challenge.

Schedule

The following tentative calendar should give you a feel for how work is distributed throughout the semester. Assignments and events are listed in the week they are due or when they occur. This calendar is subject to change based on the circumstances of the course.

Date Topic Assignment
Wed 01/22 (Week 1) Operating Systems Overview OSTEP 0, 1, 2
Fri 01/24 C Review Tutorial, Project 1
Mon 01/27 (Week 2) C Exercises  
Wed 01/29 CPU Virtualization: Limited Direct Execution 3,4
Fri 01/31    
Mon 02/03 (Week 3)    
Wed 02/05    
Fri 02/07    
Mon 02/10 (Week 4)    
Wed 02/12    
Fri 02/14    
Mon 02/17 (Week 5)    
Wed 02/19    
Fri 02/21    
Mon 02/24 (Week 6)    
Wed 02/26    
Fri 02/28    
Mon 03/03 (Week 7)    
Wed 03/05 Exam Review  
Fri 03/07 Exam 1  
(Mon 03/10 – Fri 03/14) (Spring Break)  
Mon 03/17 (Week 8)    
Wed 03/19    
Fri 03/21    
Mon 03/24 (Week 9)    
Wed 03/26    
Fri 03/28    
Mon 03/31 (Week 10)    
Wed 04/02    
Fri 04/04    
Mon 04/07 (Week 11)   Exam 2 (take-home) out
Wed 04/09    
Fri 04/11    
Mon 04/14 (Week 12)    
Wed 04/16    
(Fri 04/18) (Easter Break)  
(Mon 04/21) (Week 13) (Easter Break)  
Wed 04/23    
Fri 04/25    
Mon 04/28 (Week 14)    
Wed 04/30    
Fri 05/02    
Mon 05/05 (Week 15)    
Wed 05/07 Exam Review  
Mon 05/12 11:30 AM–2:30 PM Exam 3 (Final)  

Monmouth College Services