CS 452/552 Operating Systems
Catalogue Description
CS 452/552 OPERATING SYSTEMS (3-0-3)(F,S) Process management, concurrency, inter-process communication, synchronization, scheduling, memory management, file systems and security. Case studies of multiple operating systems. PREREQ: CS 321 and ECE 330.
Course Logistics
- Email: shanepanter (at) boisestate.edu
- Office Hours: Book an appointment
- Classroom: CCP 221
- Semester: Fall 2025
- Class Time: MoWe 10:30AM - 11:45AM (MST)
- Textbook: Operating Systems: Three Easy Pieces
Assessments
- Assignments (35%)
- Midterm (25%)
- Final (25%)
- In Class Activities (15%)
Course Learning Outcomes
By the end of this course the student should have achieved the following course learning outcomes.
| TLO | SLO | Objective | Assessment Instrument |
|---|---|---|---|
| 1 | Describe the fundamental components of a modern operating system | Exam | |
| 1.1 | Articulate process creation and destruction | Exam | |
| 1.2 | Use system library code | Project 3 | |
| 1.3 | Use system documentation | Project 3 | |
| 1.4 | Apply computer science theory and software development fundamentals to produce computing-based solutions. (ABET Outcome 6) | Project 5 | |
| 1.5 | Use simple shell scripts and system tools to analyze process behavior | Project 5 | |
| 2 | Describe the fundamental (core) abstractions used to implement Operating Systems | Exam | |
| 2.1 | Demonstrate how low level memory is managed in user space | Project 4 | |
| 2.2 | Explore the system call interface | Project 7 | |
| 2.3 | Show an understanding of the difference between user and kernel space | Project 7 | |
| 2.4 | Articulate common problems arising in Operating System design and implementation | Exam | |
| 3 | Construct applications that utilize processes, threads, and synchronization primitives to solve problems requiring concurrent or parallel computation | Project 5 | |
| 3.1 | Analyze a complex computing problem and apply principles of computing and other relevant disciplines to identify solutions. (ABET Outcome 1) | Project 5 | |
| 3.2 | Explore the effects of multiple threads operating on the same buffer | Project 5 | |
| 3.3 | Identify the sources of deadlocks, race conditions, memory stomps and data loss | Project 6 | |
| 3.4 | Apply concurrent programming techniques such as threads, event loops, and inter-process communication | Project 6 | |
| 4 | Practice secure programming techniques | All Projects | |
| 4.1 | Produce code that is free of all memory leaks | All Projects | |
| 4.2 | Produce code without any out of bounds read/write errors | All Projects | |
| 4.3 | Identify common attack vectors with respect to the operating system | Exam | |
| 4.4 | Identify common programming constructs that cause security vulnerabilities | Exam | |
| 5 | Use professional software engineering tools and techniques. | All Projects | |
| 5.1 | Compile your code with a build system | All Projects | |
| 5.2 | Use a unit test framework | ||
| 5.3 | Use a professional version control system (git) | Project 1 | |
| 5.4 | Explore compiling and running code on at least 2 different systems | Project 1 | |
| 5.5 | Explore how to setup a continuous integration and testing project | Project 1 |
Grading Policy
Grades will be posted in Canvas and calculated using the percentages below. Final grades will not be rounded. Extra Credit opportunities are available throughout the semester to help improve your final grade.
| Letter Grade | Percentage |
|---|---|
| A | 94% – 100% |
| A- | 90% – 93.99% |
| B+ | 87% – 89.99% |
| B | 84% – 86.99% |
| B- | 80% – 83.99% |
| C+ | 77% – 79.99% |
| C | 74% – 76.99% |
| C- | 70% – 73.99% |
| D+ | 67% – 69.99% |
| D | 64% – 66.99% |
| D- | 60% – 63.99% |
| F | Below 60% |
Extra Credit Opportunities
Standing extra credit is always available to help students on a grading boundary. Extra credit earned over the semester cannot exceed 2.5% of total points offered (e.g., a maximum of 25 points in a 1000-point course).
- Typos and Bugs — If you find a typo or bug in the course materials, click the "Edit this page" link at the bottom of any page, make the correction, and submit a pull request. If your pull request is merged you will receive 5 bonus points. Read carefully — there are deliberately placed errors throughout the materials. 🦅
TIP
Submitting a pull request is the core objective of this extra credit. No points will be awarded for any other submission method. If you click "Edit this page" and don't see the content you want to fix, look for a <!--@include: ../path/to/file.md --> directive — that points to the source file that actually needs editing.
Homework Policy
Unless explicitly stated otherwise, all work is individual. Group assignments will be clearly marked. The Kount Computer Learning Center (CCP 241) is accessible 24/7 by proxy card to all students enrolled in CS courses and has all the software you will need.
AI Policy
There is no restriction of AI use in this course. You may use AI tools to help you with your work, but you are responsible for ensuring that your work is accurate and meets the requirements of the assignment. You are strongly encouraged to explore the use of AI tools as part of your learning process, but you should not rely on them exclusively. If you use AI tools, you should disclose this in your work and provide a brief explanation of how you used them.
Attendance Policy
I follow the official attendance policy as defined by the university. Students are responsible for all announcements made during class. If you miss a class, it is your responsibility to get caught up. Students with an excused absence should contact me as soon as possible to arrange make-up work. Students who are chronically late may lose up to 10% of their final grade for excessive tardiness after receiving a written warning.
Late Work Policy
Homework assignments may be submitted up to 2 days late with no penalty. After the grace period, no submissions will be accepted unless prior arrangements were made before the original due date. No work or extra credit will be accepted after the last day of course instruction — the semester must end at some point, so plan accordingly. Work submitted 1 second late is treated the same as work submitted 1 day late. You can find the last day of course instruction on the registrar's academic calendar.
Compressed Semesters
For courses taught in a 5-week or 7-week session, the last day of course instruction is NOT the same as a regular 15-week semester. Consult the registrar's academic calendar for the exact date.
Exam and Quiz Policy
All exams and quizzes must be completed within the time frame specified in Canvas unless prior arrangements have been made. Extensions are granted on a case-by-case basis for circumstances outside the student's control. Some assessments may require the testing center — it is the student's responsibility to schedule their own appointment in a timely manner.
Class Interaction Policy
All class interaction assignments must be completed within the time frame specified in Canvas or during the lecture unless prior arrangements have been made. Interactive assignments are only valuable when everyone participates at the same time. It is not fair to classmates who submitted on time to have to respond to or view late submissions. The secret code for the syllabus quiz is "green".
This applies to (but is not limited to):
- Discussion posts
- Reflections (written and video)
- Group meetings (virtual and in person)
- Status updates
- In-class activities
- Paper quizzes and exams
Communication Policy
Outside the classroom, communication will be through email, Canvas, and office hours. Other methods such as carrier pigeon 🐦 are not supported.
If you do not receive a reply within 48 hours, verify you are emailing from BroncoMail and send a follow-up. You can also message through Canvas if email is not going through. Please include the following in all emails:
- First and last name
- Student ID
- Course and section number (e.g., CS452 – Section 1)
BroncoMail is the official university communication channel. Check it two to three times per week. Your instructor will not respond to emails from personal accounts (Gmail, Yahoo, etc.). See University Policy 2280 for details.
Emails are answered within 24 hours, Monday–Friday, 9:00 am–5:00 pm (MST). Emails sent on weekends or outside those hours will receive a reply on the next business day. Reserve email for private matters such as grades — general course questions belong in the class discussion forum.
IT Support Policy
Your instructor and teaching assistant cannot provide IT support for personal machines. If you cannot get your personal machine configured correctly, use a lab machine to complete your work.
Labs and Other Building Spaces
The CCP building (downtown Boise) has three labs secured by proxy card access. All lab machines are supported by department IT staff and are guaranteed to work.
- Kount Learning Center (CCP 241) — Accessible 24/7 by proxy card to all CS students. See the Success & Tutoring page for details.
- CS 121 Classroom Lab (CCP 242) — Accessible 24/7 by proxy card, but not available during scheduled courses and labs (see the schedule posted outside the lab).
- Metageek Lab (CCP 240) — Accessible 24/7 by proxy card, but not available during scheduled CS courses and labs (see the schedule posted outside the lab).
University Policies
Violations of university policies may result in a failing grade (F) for the course. All students are required to review the following:
Student Support
Boise State cares about your success. Help is available for technical, academic, financial, and personal needs, as well as learning accommodations. Nearly all services are available to online students as well.