COMP 173: Operating Systems (Spring 24)
Course Description
Students are introduced to the fundamental concepts of modern operating systems. Topics include an overview of the computer hardware that supports the operating system, process management, threads, and CPU scheduling. Students also study process synchronization that uses primitive and high-level languages, virtual memory management, file systems, system protection, and distributed systems.
Prerequisites: Completion of all Fundamental Skills; COMP 053; COMP 175 or ECPE 170 with a "C-" or better or permission of instructor.
When enrolling in this course, you should already understand the basics of binary numbers, digital electronics, and serial and parallel digital communications. Further, you should be comfortable programming in a high-level language such as C, C++, Python, or Java and understand the basics of loops, arrays, structures, pointers, and function calls.
Website: Syllabus, Canvas LMS
Credits: 4 units
Course Catalog: http://catalog.pacific.edu/search/?P=COMP%20173
Semester: Spring 2024
Instructor:
Sepehr Amir-Mohammadian
Email:
Lecture:
MW 15:30-16:45, CTC 114
F 15:30-16:45, on Zoom
Office hours: MW 14:00-15:15, CTC 122
Students need to request alternate meeting times outside of scheduled office hours through email.
Teaching Assistant: John Lam
Email: j_lam31@u.pacific.edu
Learning Objectives
The vision for this course is: What do I, as a computer scientist, need to understand about the fundamental concepts of modern operating systems and what are the the strategies that the operating systems implement to manage computer hardware resources in an effective way?
You will have many different opportunities to gain this knowledge through:
- Reading assignments
- Homework assignments
- Labs
- Course projects
- Class lectures and discussions
After taking this course, you should be able to:
- Describe and comparing modern operating system architectures.
- Understand basic concepts of processes and threads
- Write simulators to demonstrate your understanding of essential process management techniques, including process creation and termination, inter-process communication and synchronization, CPU scheduling, multithreaded programming, and deadlock handling.
- Describe how various memory management schemes, such as paging and segmentation, work and write simulators to demonstrate your understanding of these schemes.
- Understand the function of file systems, describe the interfaces to file systems, and discuss file-system design tradeoffs.
University of the Pacific Core Competencies: This course reflects the following university-wide core competenceies in the undergraduate program:
- Critical Thinking
- Information Literacy
- Quantitative Reasoning
Outcomes for COMP program: The assessment plan for this course comprises the following outcomes identified by ABET:
- Outcome 1: "Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions."
- Outcome 2: "Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline."
- Outcome 5: "Function effectively as a member or leader of a team engaged in activities appropriate to the program's discipline."
- Outcome 6: "Apply computer science theory and software development fundamentals to produce computing-based solutions."
Collection of Work for Assessment: Student work may be retained to assess how course learning objectives are being met and for accreditation purposes.
Course Material
We will use the following zyBook along with additional resources that are referred through the semester. In order to use the zyBook follow these steps:
- Sign in or create an account at learn.zybooks.com.
- Enter zyBook code: PACIFICCOMP173AmirMohammadianSpring2024.
- Subscribe. Note that a subscription is $64. Students may begin subscribing on Jan 02, 2024 and the cutoff to subscribe is Apr 24, 2024. Subscriptions will last until May 22, 2024.
The zyBook is based on the following textbook:
- Operating System Concepts, 10th edition, by Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne.
The slides, assignments, supplementary material, etc. will be provided through Canvas LMS.
Major topics that will be covered in the course are:
- OS architectures: Windows, Linux, Mac OS, Parallel and Distributed Computing
- Process Management: Concepts, Threads, Scheduling, Interprocess Communication, Synchronization, and Deadlocks.
- Memory Management: Basics, Paging, Segmentation
- File System: Directories, Access Methods, Free Space Tracking, File Allocation, and
Mounting.
Grading and Attendance Policy
Grades for the course are assigned on the scale below:
A |
A- |
B+ |
B |
B- |
C+ |
C |
C- |
D+ |
D |
F |
[93,100] |
[90,93) |
[87,90) |
[83,87) |
[80,83) |
[77,80) |
[73,77) |
[70,73) |
[67,70) |
[60,67) |
[0,60) |
Final grades will be assigned based on several performance
factors. These factors and their quantitative contribution to
the final grade are as follows:
- Reading assignments: 20%
- Homework assignments: 30%
- Course projects: 25%
- Labs: 25%
Attendance:
Class attendance and participation is highly recommended. There will be numerous labs in class, and doing the labs in the class boosts the quality of learning. Participation requires that you are properly prepared for classroom discussions and activities, and have completed all reading assignments before the relevant class.
Assignment Guidelines
Release and Submission
- Reading Assignments: Reading assignments will be released on the course Canvas page at most one or two days before each lecture session. Students must study the referred material before each class session, and accomplish all of the requested participation and challenge activities. zyBook traces your activities and numerically reports how much you have progressed in reading the (sub)sections precisely by date/time. Those evaluations will be used as your grades for reading assignments, considering the due dates which are based on PST. Each lecture session accompanies a reading assignment, which must be done until that day. There will be no due date extensions on reading assignments. Reading assignments are considered as individual efforts.
- Labs: Labs will be released on the course Canvas page for each lecture session. The goal is to accomplish all class activities and submit in Canvas until Friday of that week. Late submissions will not be accepted. Lab assignments are considered to be group-based.
- Homework Assignments: Homework assignments will be released on the course Canvas page with a clearly indicated due date. Timely submissions are accepted until 11:59PM on the due date. Homework assignments are considered as individual efforts.
- Course Projects: Course projects will be released on the course Canvas page with a clearly indicated due date. Timely submissions are accepted until 11:59PM on the due date. These assignments are considered to be group-based.
Solutions: Solutions to homework assignments and labs will be submitted via Canvas.
Late submission policy: Deliverables for homework assignments and course projects will be accepted up
to three weekdays late, with a 5% per day penalty.
All assignments will be considered individual efforts
unless otherwise specified, and
will be treated as such under the Academic Honesty Policy.
Academic Honesty
The Honor Code at the University of the Pacific calls upon each student to
exhibit a high degree of maturity, responsibility, and personal integrity.
Students are expected to:
- Act honestly in all matters
- Actively encourage academic integrity
- Discourage any form of cheating or dishonesty by others
- Inform the instructor and appropriate university administrator if she
or he has a reasonable and good faith belief and substantial evidence that
a violation of the Academic Honesty Policy has occurred.
Violations will be referred to and investigated by the Office of Student
Conduct and Community Standards. If a student is found responsible, it
will be documented as part of her or his permanent academic record. A
student may receive a range of penalties, including failure of an
assignment, failure of the course, suspension, or dismissal from the
University. The Academic Honesty Policy is located in Tiger Lore and online.
Course-specific Honor Code Policy: Engineering is generally a cooperative endeavor and collaborative learning can be a valuable experience for all involved. However, proper assessment (i.e., grading) requires that work be done by individuals. To balance these two requirements, the following policy will apply:
- Collaborative work on course assignments is encouraged. This includes working together on planning solution strategies and helping each other to debug programs.
- Collaboration must stop short of someone else writing your assignment. You may not directly copy the work of another student. You also may not copy the work of another student, and then modify it so that it does not look the same as the original author's work. It is your responsibility to ensure that the work you submit is an honest representation of your own understanding of the material.
Marginal cases will be resolved by oral examination of the student(s) involved. If they each understand the material in the assignment, it will be considered honest collaboration. If they do not, then it will be considered academic dishonesty.
In many cases, it may be possible to identify reusable source code from textbooks, web sites or other resources that can help you with assignments. You are permitted to use such references provided that:
- The amount of code reused does not exceed 25% of the total assignment length, and
- In the source code comments, you clearly identify any code that you did not write, state where it came from, and to what extent you modified it.
You are responsible for understanding the theory behind all algorithms or source code used, regardless of their source.
Accommodations for Students with Disabilities
- Students who have not previously registered for accommodations can
request services by visiting pacific.edu/disabilities
and selecting New
Students Apply Here. Once registered, students will be asked to
provide documentation of their disability, and meet with the accommodation
specialists to determine reasonable accommodations.
- Students who have previously been approved for services with SSD can
request accommodation(s) letters each semester by selecting the Returning Students
Login Here link located on pacific.edu/disabilities
The Office of Services for Students with Disabilities is located in the
McCaffrey Center, Second Floor. Phone: 209-946-3221. Email: ssd@pacific.edu. Online: pacific.edu/disabilities
Nondiscrimination Policy
The University of the Pacific does not discriminate in the administration of any of its educational programs, admissions, scholarships, loans, athletics, or other University activities or programs on the basis of race, color, national and ethnic origin, handicap, sexual orientation or preference, sex or age.
The instructor reserves the right to change these policies and guidelines at any
time, and students agree to abide by the most recent version of this syllabus.
Back to top