Course Organization

Instructor Trent Jaeger, W359 Westgate, (trj1 'at' Office Hours: Tu 3:30-4:45pm, Th 9:30-10:45am
Teaching Assistants (Office hours in Bldg 300 in College Ave.):
Teaching Assistant Aditya Basu (aditya.basu 'at' Office Hours: Tu,W 10:00am-11:15am
Teaching Assistant Frank Capobianco (fnc110 'at' Office Hours: W,Fr 2:30pm-3:45pm
Teaching Assistant Ankush Mishra (aam6386 'at' Office Hours: Tu,Fr 10:30am-11:45am
Teaching Assistant David Reinoso (dar5654 'at' Office Hours: W,Th 4:00pm-5:15pm
Teaching Assistant Niramay Vaidya (niramay.vaidya 'at' Office Hours: M,W 9:00-10:15am
Meeting Times 12:05pm-10:20pm, 102 Thomas 1:35-2:50pm, 001 Chemical and Biomed Engr
Credits 3

Office hours will be held in Bldg 300 in College Ave.

Please go over the Canvas Discussions page to see if your queries have been already answered. If not, and if you feel that your question may be useful to a larger audience, you can use the Discussions page to post your questions. Please do NOT post pieces of code here, which will constitute a violation of Academic Integrity.

Course Overview

An Operating System provides a convenient higher level abstraction of the underlying hard ware to the user programs and multiplexes the hardware resources between these programs. Thi s course introduces the four main components of an operating system in managing the processo r, memory, secondary/tertiary storage and other I/O devices. The prerequisites for this course are CMPSC 311 (where you would have learned about operating system interfaces and system calls) and CMPEN 331 (where you would have learned how hardware components work and how to program the hardware at the low level - assembly code).

A detailed list of a lecture by lecture contents, assignments, and due dates (subject to change as semester evolves) is available on the course schedule.


The course will be graded on exams, course projects, and quizzes in the following proportions:

30% Course Programming Projects
25% Midterm Exam
35% Final Exam
10% Quizzes

There is NO stipulated/predetermined thresholds to determine final grades. The final grade for the course will be based on the student's performance relative to others. The instructor may share the distribution of class performance at different points in the course, with possible indications of what grades may get assigned at that point. However, this is provided purely for informative purposes, and is NOT binding on the final grade.

There is no specific attendance policy, but it is assumed that the student attends regularly as quizzes will be held in class hours - announced and unannounced. In addition, much critical exam and project information will be discussed in class. Always check your email and Canvas (including the course schedule) for up-to-date information.

Class/Exam Information

This will be an in-person class with lectures taught in 102 Thomas (12:05pm section) and 101 Chem and Biomed Engr (1:35pm section). You are expected to attend the lectures and be responsible for everything taught in class - not just the slides that will be posted on Canvas after the topic is covered in class.

Midterms will be held physically during your section’s class hours. Please note the dates and times in the schedule. If, for a valid reason, you are unable to take the midterm during class hours of the posted date, you need to let the instructor know about the conflict together with a valid reason by February 1. After that, there will be no further conflict requests entertained.

The final exam will be scheduled during Finals week by Lionpath.


There are 4 programming projects in the course. The first (P0) is relatively straightforward and is meant to ensure that you are familiar with the traditional tools for programming on Linux machines (git, makefiles, gcc, gdb, etc.). You will work individually for P0.

The remaining 3 programming projects in this course are intended to give you a practical hands-on experience in implementing the concepts covered in the lectures. A detailed description of each project will be posted on Canvas. The project source and project report should be turned in by 11:59 PM US Eastern Time on the due date. All projects should be implemented on Linux machines (we will specifically be testing them on through in W135 Westgate machines).

Projects P1 and P3 will be done individually, whereas Project P2 will be done in teams (with at the most 2 students per team). You are free to choose your partner for P2. If any of you choose to drop out of your team for any reason at any time, each of you will be individually responsible for implementing and demonstrating the entire project and writing the project report by the designated deadline. Project grading will be based on the functionality of your code working over a number of input data sets, modularity of the code and the thoroughness of your understanding of its operation.

There should be no exchange/dissemination of code, or collaborative working on the projects across teams! Any sharing of code (both the giver and the taker) or using code from sites on the Internet will be considered as academic dishonesty, leading to serious consequences. You will be given a score of 0 for that project and a penalty amounting to the full amount of credit for the project. Cheating on one project will cost the points you could earn for two projects!

Lateness Policy

Project milestones are assessed a 20% per-day late penalty, up to a maximum of 4 days. The project schedule and supporting lectures are coordinated for the projects to be completed with no extensions.


There will be announced and unannounced quizzes to test the student's knowledge of key points and practice for the exams. These will be short quizzes, about 10 minutes, at the end or in the middle of the class. The date for the announced quizzes will be notified one week prior to it.


There will be no graded homeworks, but I will suggest homework problems for you to gain some practice for the quizzes and exams. We will discuss a subset of these problems and related in reviews for exams.

Required Texts

The course readings will come from the following required textbook:

Course Outline

An outline of the class topicsis as follows:

  1. Introduction
  2. CPU Virtualization
  3. Memory Virtualization
  4. Threading
  5. Concurrency
  6. I/O
  7. File Systems

See the course schedule for the most up-to-date desciption of the course schedule.

Computer security is very relevant in operating systsems, so security issues and approaches will be discussed in concert with the related topics.

Class Recording

Video and audio recordings of class lectures may be utilized for some lectures. The video and audio recording is used for educational use/purposes and only will be made available to students presently enrolled in the class. For purposes where the recordings will be used in future class sessions/lectures, any type of identifying information will be adequately removed. Students are not allowed to record class sessions without permission. (See Policy).

Copyright Statement

All course materials students receive or to which students have online access are protected by copyright laws. For courses in which they have previously been or are currently enrolled, students may use course materials and make copies for their own use as needed, but unauthorized distribution and/or uploading of materials without the instructor’s express permission is strictly prohibited. See Policy AD 40 . (Recording of Classroom Activities and Note Taking Services) addresses this issue. Students who engage in the unauthorized distribution of copyrighted materials may be held in violation of the University’s Code of Conduct, and/or liable under Federal and State laws.

Academic Integrity Policy

Academic integrity is the pursuit of scholarly activity in an open, honest, and responsible manner. Academic integrity is a basic guiding principle for all academic activity at The Pennsylvania State University, and all members of the University community are expected to act in accordance with this principle. Consistent with this expectation, the University’s Code of Conduct states that all students should act with personal integrity, respect other students’ dignity, rights, and property, and help create and maintain an environment in which all can succeed through the fruits of their efforts.

Academic integrity includes a commitment by all members of the University community not to engage in or tolerate acts of falsification, misrepresentation, or deception. Such acts of dishonesty violate the fundamental ethical principles of the University community and compromise the worth of work completed by others.

Dishonesty of any kind will not be tolerated in this course. Dishonesty includes, but is not limited to, cheating, plagiarizing, fabricating information or citations, facilitating acts of academic dishonesty by others, having unauthorized possession of examinations, submitting work of another person or work previously used without informing the instructor, or tampering with the academic work of other students. Students who are found to be dishonest will receive academic sanctions and will be reported to the University's Office of Student Conduct for possible further disciplinary sanctions.

The Academic Integrity policy for the Department of Computer Science and Engineering for programming projects can be explicitly found at Please go through it carefully and do ask the instructor for any clarifications if something is not clear.

Disability Accommodation Statement

Penn State welcomes students with disabilities into the University’s educational programs. Every Penn State campus has an office for students with disabilities. Student Disability Resources (SDR) website provides contact information for every Penn State campus ( For further information, please visit Student Disability Resources website (

In order to receive consideration for reasonable accommodations, you must contact the appropriate disability services office at the campus where you are officially enrolled, participate in an intake interview, and provide documentation: See documentation guidelines ( If the documentation supports your request for reasonable accommodations, your campus disability services office will provide you with an accommodation letter. Please share this letter with your instructors and discuss the accommodations with them as early as possible. You must follow this process for every semester that you request accommodations.

Counseling and Psychological Services Statement

Many students at Penn State face personal challenges or have psychological needs that may interfere with their academic progress, social development, or emotional wellbeing. The university offers a variety of confidential services to help you through difficult times, including individual and group counseling, crisis intervention, consultations, online chats, and mental health screenings. These services are provided by staff who welcome all students and embrace a philosophy respectful of clients’ cultural and religious backgrounds, and sensitive to differences in race, ability, gender identity and sexual orientation.

Counseling and Psychological Services at University Park (CAPS) ( 814-863-0395

Counseling and Psychological Services at Commonwealth Campuses  (

Penn State Crisis Line (24 hours/7 days/week): 877-229-6400

Crisis Text Line (24 hours/7 days/week): Text LIONS to 741741

Educational Equity/Report Bias Statements

Penn State takes great pride to foster a diverse and inclusive environment for students, faculty, and staff. Acts of intolerance, discrimination, or harassment due to age, ancestry, color, disability, gender, gender identity, national origin, race, religious belief, sexual orientation, or veteran status are not tolerated and can be reported through Educational Equity via the Report Bias webpage (

Course Updates