Skip to main content
  1. /classes/
  2. Classes, Spring 2026/
  3. CS 4310 Spring 2026: Course Site/

CS 4310 Spring 2026: Syllabus

·1458 words·7 mins·
Operating Systems

← Back to Course Site

Course Catalog:
Covers the major concept areas of operating systems for both large and small computers and the interrelationship between the operating system and computer architecture. Topics include: history, tasking, process synchronization, scheduling, memory organization, device management, file systems, security issues, distributed and real-time systems. One or more projects form a significant part of this course. Springs.
Prerequisite(s): CS 2381 and CS 4250

Course Info
#

Student Learning Outcomes
#

Successful students will:

  • Be familiar with the implementation details of several components of a UNIX-style operating system.
  • Be able to write code to make system calls from user code.
  • Understand the process by which a system call is handled in kernel code.
  • Be able to write code that will run on a multi-core system.

Texts
#

Students are not required to purchase a commercial textbook for this course.

Freely available textbooks:

Grading
#

Thing Weight
Homework 75
Final Exam 25

The number of points available in an assessment may (or may not) exceed the denominator used in the grade calculation. For example, if the final exam offers 104 points out of 100, then a perfect score would count as 26% towards the final course grade.

Letter grades

≥ 93 → A, ≥ 90 → A-,
≥ 87 → B+, ≥ 83 → B, ≥ 80 → B-,
≥ 77 → C+, ≥ 73 → C, ≥ 70 → C-,
≥ 67 → D+, ≥ 63 → D, ≥ 60 → D-,
else (< 60) → F

Attendance

Attendance is required for all class meetings. You must check in to the online attendance tool within 5 minutes of the start of the period to receive credit for attendance. If you miss more than six meetings then each subsequent unexcused absence will reduce your final grade by 4 percentage points.

There are no makeups for unexcused exam or in-class activity absences.

Homework

Approximately each week there will be a homework assignment to be completed outside of class. There may also be in-class activities graded as homework.

Minimizing the use of external resources is recommended, and academic honesty rules will be strictly enforced.

Homework assignments will be posted on Inkfish. Check Inkfish regularly for upcoming due dates.

Homeworks submitted after the deadline loses 1% per hour late (round up).

Some homeworks are challenge assignments. Those are more difficult, will take more time, and are worth more points.

Final Exam

We’ll do an exam during the exam period. Probably on paper.

No electronics. Paper notes allowed.

Inkfish and Script Grades

Labs and homework will be provided through an online web application called Inkfish and must be submitted through the same system. Any solutions for lab or homework assignment sent by email will not be accepted and will incur a 5% grade penalty on the associated assignment unless the code is sent as a direct reply to an email requesting it.

A portion of your grade for labs and homework assignments may be generated by an automatic grading script which runs when you submit your work. Unless there is a clear bug 🪳 in the script, the script output is that portion of your grade and will not be adjusted manually. You are being graded on getting the script to give you points. You should review the output, make corrections, and resubmit before the deadline if you are unhappy with the script results.

Script grades will be reduced if you submit work inconsistent with the text or spirit of the assignment, such as hard-coding outputs that should be calculated.

Teams

You may be assigned to work with a partner. In such cases, pair programming is required. In assigning partners, sometimes there ends up being a team of one or (under rare circumstances) three.

All team members are responsible for and get credit for any work submitted as a team. Keep in mind that pair programming means you should not be doing work for team assignments on your own.

Grade Appeals

If you think you received an incorrect grade, send me an email describing why your grade is wrong and how you think it should be corrected.

If the grade isn’t clearly wrong, I will ask you to stop by my office hours so we can discuss the issue in more detail.

Any grade concerns must be raised within two weeks of the grade being posted.

Fair Grading Policy

All grading in this class is subject to the university Fair Grading Policy.

Excused Absences

If you are unable to submit an assignment or take an exam on time due to circumstances that were unforeseen and reasonably unavoidable contact the professor to discuss making up the assignment. If you know you will miss something and are reasonable able to contact the professor to discuss alternatives beforehand you must do so. See the Excused Absence Policy for further details.

Late Registration

If you register late for the course please contact the professor to discuss completing any missed assignments as soon as possible.

Course Evaluations

Course evaluations can be a valuable tool to determine how the semester went. They’re more useful with a higher response rate. You should do your course evaluations.

Class Announcements

Class announcements will be posted on Canvas and/or sent to your university email address. Make sure to check both regularly.

Resources
#

Tutoring
#

There is evening tutoring in the lab classroom. See the course website for more details. The PASS Office also offers individual tutoring.

Accommodations
#

Plymouth State University is committed to providing students with documented disabilities equal access to all university programs and facilities. If you think you have a disability requiring accommodations, you should contact Campus Accessibility Services (CAS), located in Speare (603-535-3300) to determine whether you are eligible for such accommodations. Academic accommodations will only be considered for students who have registered with CAS. If you have authorized CAS to electronically deliver a Letter of Accommodations for this course, please communicate with your instructor to review your accommodations.

Academic Integrity
#

Please carefully read and be familiar with the university Academic Integrity Policy. Especially don’t do any of the things in the list of examples of academic integrity violations. Make sure to review the penalties for repeated offenses.

One of our goals in this class is to practice the skills of low-level programming. Towards that end, you should be writing the majority of the code yourself and thinking about how to build individual functions and lines of code.

Do not:

  • Submit code that was written for an assignment in this class by someone who is not on your team.
  • Share solution code for any assignment in this class with anyone who is not on your team.
  • Post solutions for assignments in this class publicly, unless the assignment specifically allows it.
  • Access unauthorized resources in a lab or exam.
  • Search the web for solutions to assignments in this class or similar classes.

Do:

  • Use starter code and small snippets from official documentation as a starting point for your solutions.
  • (On homework, not in labs) Ask LLM chatbots questions to clarify concepts and give short code samples to illustrate specifics.
  • Use LLM coding tools when explicitly allowed by a homework assignment.

Cheating will be handled as follows:

  • During an exam or lab, if you are caught cheating or acting in a way that appears to facilitate cheating (e.g. using unauthorized electronics) you will be asked to leave and will not be allowed to complete the assignment. In lab, you may get a warning first.
  • The default penalty for cheating on any assignment is zero grade on that assignment.

Partner assignment are expected to be done working together. If your partner cheated on an assignment and submitted it without you seeing, you still get a zero on that assignment.

Tentative Schedule
#

Week Date Topic
1 Jan 19 † Introduction
2 Jan 26 Assembly Review
3 Feb 2 System Calls
4 Feb 9 ‡ Virtual Memory
5 Feb 16 mmap(2)
6 Feb 23 Simple Malloc
7 Mar 2 Forks and threads
8 Mar 9 Synchronization
-- Mar 16 ---- Spring Break ----
9 Mar 23 Advanced malloc
10 Mar 30 OS Kernel
11 Apr 6 Implementing a System Call
12 Apr 13 Disks and File Systems
13 Apr 20 More about File Systems
14 Apr 27 Semester Review
- May 4 Finals Week
  • † No class on Monday, Jan 19 (MLK Day)
  • ‡ Ski Day on Wednesday, Feb 11 (no day classes; graduate evening classes will be held)
Nat Tuck
Author
Nat Tuck