Skip to content

Course Syllabus

Course: CS 2860

Division: Natural Science and Math
Department: Computer Science & Engineering
Title: Operating Systems

Semester Approved: Fall 2022
Five-Year Review Semester: Summer 2027
End Semester: Summer 2028

Catalog Description: This course will introduce students to the various components that comprise a modern operating system. Topics include OS virtualization of memory, virtualization of processes, concurrency inside processes and data persistence. Case studies include Linux and Windows.

Semesters Offered: Spring
Credit/Time Requirement: Credit: 3; Lecture: 3; Lab: 0

Prerequisites: CS 2810

Justification: As a software engineer, it is critical to understand the role of operating systems. A software engineer must have the practical skills needed to understand how operating systems control their programs and the implications of those controls. This course is part of the recommended curriculum for computer science majors at Snow College and is part of the required curriculum for software engineering majors at Snow College.


Student Learning Outcomes:
Understand operating system virtualization layers: 1) process virtualization, 2) memory virtualization. Students will be assessed via homework, quizzes and exams.

Understand process scheduling algorithms. Students will be assessed via homework, quizzes and exams.

Understand memory virtualization, including: 1) address translation, 2) segmentation, 3) paging. Students will be assessed via homework, quizzes and exams.

Understand concurrency principles, including: 1) process vs threads, 2) locks, 3) semaphores. Students will be assessed via homework, quizzes, exams, and hands-on programming assignments.

Understand data persistence, including: 1) HDD, 2) SDD, 3) RAID, 4) File System implementations. Students will be assessed via homework, quizzes and exams.


Content:
This course will cover the following topics: Operating systems history and architecture; Processes and Threads; Synchronization; Memory Management; File Systems.This course addresses diverse issues when covering the historical and ongoing role of women in software development by highlighting the contribution of pioneers such as Ada Lovelace and Grace Hopper.

Key Performance Indicators:
Homework exercises & programming deliverables 20 to 50%

Exams 30 to 60%

Quizzes 10 to 25%

Final examination 10 to 35%


Representative Text and/or Supplies:
Required: Operating Systems Three Easy Pieces. Remzi H. Arpaci-Dusseau. Arpaci-Dusseau Books. Aug 2018

Representative: Michael Kerrisk's The Linux Programming Interface (No Starch Press); Nick Parlante's, Pointers and Memory (pdf download)

Representative: Tannenbaum's "Modern Operating Systems."; Kernigham & Ritchie, The C Programming Language, any edition.


Pedagogy Statement:
This course utilizes a multiple exposure classroom teaching method. The first exposure is where students do their reading and initial learning of concepts before class time. The second exposure to a concept is during class time which permits the students go deeper and discuss the concepts as a class. When a 3rd level of exposure is needed, a personal homework assignment is provided for an outside of class (third exposure) student growth experience. The 4th level of exposure is when the feedback on a homework submission is given to the students, where they can be corrected or encouraged on their application of the skill.Inclusivity is promoted by fostering a culture of regularly seeking student contributions during course lectures. Each student is expected to contribute, but the instructor should strive to limit the speaking of those who might otherwise monopolize the conversation and instead actively seek out the comments from all other classmates. The instructor will be sensitive to personal student feelings during this act of inclusivity so that it does not unduly put a student on the spot by utilizing techniques such as allowing an unprepared student to pass the question on to a different classmate.

Instructional Mediums:
Lecture

Maximum Class Size: 24
Optimum Class Size: 20