Course Syllabus – Operating Systems
CS 326 ⋅ Spring 2019 ⋅ 4 Credits
Operating systems are found in nearly every modern computing device, from phones and tablets to workstations and the cloud. An operating system (OS) manages hardware resources (CPU, memory, disks, etc.) and provides a layer of abstraction to make working with these resources easier.
In this course, you will learn the fundamentals of operating system design and implementation. This includes system calls, inter-process communication, virtual memory, networking, and file systems.
Lectures: Tuesday & Thursday
- Section 1: 9:55 – 11:40am ⋅ LS 307
- Section 2: 2:40 – 4:25pm ⋅ LS 307
Lab Session: Monday
- Section 1: 4:45 – 5:50pm ⋅ LS 307
- Section 2: 2:15 – 3:20pm ⋅ HR 435
Final Exam: Tuesday, May 14
- Section 1: 10:00 am – 12:00 pm
- Section 2: 3:00 pm – 5:00 pm
Communication: Piazza ⋅ Zoom Live Stream
Instructor: Matthew Malensek
Office: HR 412A
Hours: M 3:25 – 4:40pm ⋅ T & Th 12:50 – 2:25pm
TA: Davin Jimenez
Hours: W & F 1:00 – 3:00pm
TA: Edmund Wong
Hours: M 10:30 – 11:30am & 12:30 – 2:00pm ⋅ W 10:30 – 11:30am
- CS 220 (C and Parallel Programming) or CS 221 (C and Systems Programming) with a grade of C or better.
- CS 245 (Data Structures and Algorithms) with a grade of C or better.
- An understanding of basic data structures such as linked lists, queues, trees, and hash tables.
- Good C programming skills.
- Required textbook (available free online): Operating Systems: Three Easy Pieces. Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau.
- Operating Systems: Principles and Practice. 2nd Edition. Thomas Anderson and Michael Dahlin.
- The C Programming Language, 2nd Edition. Brian W. Kernighan and Dennis M. Ritchie.
- Head First C: A Brain-Friendly Guide. David Griffiths and Dawn Griffiths.
After completing the course, students will be able to:
- Configure a Linux-based operating system and work from the shell
- Understand and evaluate operating system implementations
- Understand the implementation of fundamental OS structures, including threads, processes, synchronization, system calls, scheduling, virtual memory, and file systems
- Develop and debug systems software
The course will be graded on an A-F basis. The grade distribution is:
- Projects: 50%
- Homework and Labs: 20%
- Quizzes: 30%
- Individual: 25%
- Group: 5%
Grades will be assigned as follows:
|100 – 93||A|
|92 – 90||A-|
|89 – 87||B+|
|86 – 83||B|
|82 – 80||B-|
|79 – 77||C+|
|76 – 73||C|
|72 – 70||C-|
|69 – 67||D+|
|66 – 63||D|
|62 – 60||D-|
|59 – 0||F|
This scale is subject to change; scoring in the ranges above guarantees you will receive at least the grade listed.
Homework/Labs: There will be several homework and lab assignments over the course of the semester. These assignments are designed to give you a chance to practice what you’ve learned and get feedback on your progress. You must demonstrate your finished lab assignments in the class, lab sections, or office hours to get credit.
Quizzes: Your knowledge of the concepts covered in class will be evaluated via quizzes. These quizzes consist of two phases: individual and team, with a separate score for each. During the team phase of the quiz, you can discuss the questions with your teammates and come to a consensus on the answers. The individual and team portions of the quiz are turned in separately.
Final Exam: This course has an optional comprehensive final exam that boosts your final score up to 5%. If you miss a quiz or are borderline between grades, plan on taking the final exam.
Projects: The best way to learn is by putting theory into practice. This course features large projects that count for the majority of your grade. Remember to start early, ask questions, and go to office hours if necessary.
- Do not cheat. Review the Honor Code, and if in doubt about whether or not something is cheating, ask the professor.
- The course staff will run cheat detection software that includes past assignments.
- If you cheat, you will get a 0 on the assignment or an F in the class.
- Submit code via GitHub. Commit your changes frequently as you work on the assignments.
- Grading will be carried out on the VMs we set up in class. If your code does not compile or run on your VM, you receive an automatic 0.
- All assignments are due on the date posted on Canvas.
- Late homework/lab assignments are not accepted.
- Each student is allocated 3 ‘slip days’ that can be used to turn in projects late. Use your slip days wisely!
- To use slip days, continue working past the deadline and email the course instructor when you are finished. If you do not inform the instructor or use more days than you have left, your original submission will be graded.
- In the event of an excused absence, you may make up a missed individual quiz if arranged at least one week in advance.
You are here to learn. Be professional and courteous toward your peers, and help create a learning environment that supports diverse thinking, experiences, perspectives, and identities. If you need to use an electronic device during a lecture, do so in a way that doesn’t distract others. And most importantly, be excellent to each other.
- January 28 – Last day to add classes
- February 8 – Census Date (last day to drop classes with a refund)
- February 18 – No class, Presidents’ Day
- March 11–15 – Spring Break
- April 19 – Easter
- April 8 – Last day to drop classes or withdraw
- May 9 – Last day of class
- May 10 – Study/review day
- May 11–16 – Final exams
As a Jesuit institution committed to cura personalis — the care and education of the whole person — USF has an obligation to embody and foster the values of honesty and integrity. USF upholds the standards of honesty and integrity from all members of the academic community. All students are expected to know and adhere to the University’s Honor Code. You can find the full text of the code online at http://myusf.usfca.edu/academic-integrity/. The policy covers:
- Plagiarism – intentionally or unintentionally representing the words or ideas of another person as your own; failure to properly cite references; manufacturing references.
- Working with another person when independent work is required.
- Submission of the same paper in more than one course without the specific permission of each instructor.
- Submitting a paper written by another person or obtained from the internet.
- The penalties for violation of the policy may include a failing grade on the assignment, a failing grade in the course, and/or a referral to the Academic Integrity Committee.
Students with Disabilities
If you are a student with a disability or disabling condition, or if you think you may have a disability, please contact USF Student Disability Services (SDS) at 415 422-2613 within the first week of class, or immediately upon onset of disability, to speak with a disability specialist.
If you are determined eligible for reasonable accommodations, please meet with your disability specialist so they can arrange to have your accommodation letter sent to me, and we will discuss your needs for this course. For more information, please visit: http://www.usfca.edu/sds or call (415) 422-2613.
All students are expected to behave in accordance with the Student Conduct Code and other University policies (see http://www.usfca.edu/fogcutter/). Open discussion and disagreement is encouraged when done respectfully and in the spirit of academic discourse. There are also a variety of behaviors that, while not against a specific University policy, may create disruption in this course. Students whose behavior is disruptive or who fail to comply with the instructor may be dismissed from the class for the remainder of the class period and may need to meet with the instructor or Dean prior to returning to the next class period. If necessary, referrals may also be made to the Student Conduct process for violations of the Student Conduct Code.
Learning, Writing, and Speaking Centers
The Learning, Writing, and Speaking Centers at USF provide individualized support to assist you in better understanding course material and to aid you on your path to success. Services are free and include one-on-one tutoring, group tutoring, and one-on-one Academic Skills Coaching appointments to discuss effective study strategies. The Learning Center supports over 80 courses each semester. The Writing Center helps students develop their writing skills in rhetoric, organization, style, and structure, through one-on-one interactive conferences. The Speaking Center helps students prepare for public speaking - including speeches, oral presentations, team presentations, and visual aid demonstrations. International students may also contact us to learn more about communicating with professors and general academic study skills. The Learning, Writing, and Speaking Centers are located on the Lower Level of Gleeson Library (G03). Please contact them at (415) 422-6713 for further assistance or visit: https://myusf.usfca.edu/lwsc to make an appointment.
Counseling and Psychological Services
Our diverse staff offers brief individual, couple, and group counseling to student members of our community. CAPS services are confidential and free of charge. Call 415-422-6352 for an initial consultation appointment. Having a crisis at 3 AM? We are still here for you. Telephone consultation through CAPS After Hours is available between the hours of 5:00 PM to 8:30 AM; call the above number and press 2.
Confidentiality, Mandatory Reporting, and Sexual Assault
As an instructor, one of my responsibilities is to help create a safe learning environment on our campus. I also have a mandatory reporting responsibility related to my role as a faculty member. I am required to share information regarding sexual misconduct or information about a crime that may have occurred on USFs campus with the University. Here are other resources:
- To report any sexual misconduct, students may visit the Title IX Coordinator Leighia Fleming (UC 5th floor) or see many other options by visiting our website: https://myusf.usfca.edu/title-ix
- Students may speak to someone confidentially, or report a sexual assault confidentially by contacting Counseling and Psychological Services at 415-422-6352 or speaking to a clergy member in University Ministry at 415-422-4463.
- To find out more about reporting a sexual assault and resources at USF, visit USFs Callisto website at: https://usfca.callistocampus.org/.
- For an off-campus resource, contact San Francisco Women Against Rape (SFWAR) (415) 647-7273 (www.sfwar.org).
Student Accounts – Last day to withdraw with tuition reversal
Students who wish to have the tuition charges reversed on their student account should withdraw from the course(s) by the end of the business day on the last day to withdraw with tuition credit (census date) for the applicable course(s) in which the student is enrolled. Please note that the last day to withdraw with tuition credit may vary by course. The last day to withdraw with tuition credit (census date) listed in the Academic Calendar is applicable only to courses which meet for the standard 15-week semester. To find what the last day to withdraw with tuition credit is for a specific course, please visit the Online Class Schedule at www.usfca.edu/schedules.