George Mason University
Department of Computer Science

CS 471-DL1 Operating Systems

Fall 2024

Synchronous Online Section - MW 3:00 - 4:15

Instructor: Dr. Hakan Aydin

Description: This course covers the principles of operating systems theory and practice. Fundamental concepts such as processes, synchronization, scheduling, memory management, file systems, and security will be presented.

Prerequisites: (Grade of C or better in CS 310 or ECE 340) and (grade of C or better in CS 367 or ECE 445). The students should be fluent in C programming language in order to complete the course work, which includes substantial programming projects. Prerequisites will be strictly enforced.

Course Format: This course is scheduled to be delivered fully online (synchronous). The class meetings will be held on MW 3:00 - 4:15 PM over Zoom. Registration information for the Zoom meetings will be sent to the student's GMU e-mail addresses.

Course Outcomes: Upon completion of this course, the students should be able to:

Readings:
The main resource for this class is the online lectures delivered by the instructor, supported by the course slides. There is no required textbook. As additional reading, the following textbooks are suggested:
Operating System Concepts by Silberschatz, Galvin and Gagne (9th or 10th Edition, John Wiley & Sons)
Operating Systems - Principles and Practice (2nd Edition, Recursive Books) by Anderson and Dahlin
Modern Operating Systems (5th Edition, Pearson) by A. S. Tanenbaum and Herbert Bos
Operating Systems: Three Easy Pieces (Online Book v1.00, Arpaci-Dusseau Books) by R. H. Arpaci-Dusseau and A. C. Arpaci-Dusseau

Instructor Office Hours: Tuesday 2:00 PM - 3:00 PM and by appointment over Zoom. (Link will be available on Blackboard))

Graduate Teaching Assistant (GTA): TBA

Topics:

Grading: Grading components will be as follows.

Grading Scale: The grades will be based on the following scale (there will be no curving):

A+ 95%
A 90%
A- 88%
B+ 85%
B 80%
B- 78%
C+ 73%
C 68%
D 50%
F 0%

The final exam will be cumulative; that is, it will include all topics discussed during the term. A total score less than 50 or a final exam score less than 40 will result in F. No early midterm/final exams will be given and make-up exams are strongly discouraged.  A student should present an official and verifiable excuse to miss a midterm/final exam (such as a doctor's note). There will no make-up quizzes; however, two quiz scores of every student with lowest scores will not be considered in grading at the end of the semester.

Completed programming assignments must be submitted on the Blackboard. For group programming assignments, each member of the group must make a separate submission. If a student makes multiple submissions, only the last submission will be graded. It is critical that the students double check the files they are submitting, as submitting a wrong, corrupt, or empty file is very likely to result in a score of 0 for that assignment. Students are responsible for keeping back-ups of their work while they are working on a programming assignment. The students are required to take measures to protect the confidentiality of their class work on shared computers, including the zeus system (such as by using the proper directory and file protection settings).

The students, if they feel that their work is not accurately graded, must initiate contact with the grader within seven days that follows the availability of the grade on Blackboard. Grade contesting beyond this time window will not be allowed.

Questions about the programming projects should be directed to the Piazza forum or the section GTA. All other questions (lecture-, exam-, homework-related) should be sent to the instructor.

AI tools: The use of assistive technology or artificial-intelligence-based tools is not allowed in any assignment/project/assessment.

Inclusion: Every student in this class, regardless of background, sex, gender, race, ethnicity, class, political affiliation, physical or mental ability, veteran status, nationality, or any other identity category, is an equal member of our class.

Academic Standards Code (Honor Code): All students must abide by the GMU Academic Standards Code and CS Department's Honor Code and Academic Integrity Policies during the semester. The students are supposed to work individually on the assignments. Collaboration will be allowed only for the group assignments, within each group. We reserve the right to use automated tools such as MOSS to detect plagiarism. The violations of Honor Code will be reported to GMU Academic Office without any exception. The university procedures for adjudicating such violations, including types of sanctions and GMU Sanctions Matrix can be found at the following link . All students must be familiar with the Academic Standards code, as well as Common Policies Affecting All Courses at George Mason University.

Class Home Page: Throughout the term, all course material (announcements, slides, handouts, etc.) will be available on the GMU Blackboard system. Important announcements will be also sent by e-mail to the students' GMU e-mail addresses.

Computer Accounts: All students should have accounts on CEC Unix cluster (aka zeus.vse.gmu.edu). Information can be found here. Your programs will be tested and graded on the CEC Unix Cluster. If you develop your programs on systems other than zeus, it will be your responsibility to port them to zeus before the submission deadlines.

Disability Statement: If you have a learning or physical difference that may affect your academic work, you will need to furnish appropriate documentation to GMU Disability Resource Center (DRC). If you qualify for accommodation, the DRC staff will give you a form detailing appropriate accommodations for your instructor. If you have such a condition, you must contact the instructor during the first week of the term about the issue.