Logistics
- Class: CS 537 - Introduction to Operating Systems, Fall 2023
- Instructor: Louis Oliphant
- Office: 7358 Computer Sciences
Office Hours:
- Wed: 10am-11:45am
- Thu: 4pm-5pm
- Lecture Sections:
- Section 1: Tue, Thu 9:30 - 10:45 @ 1100 Grainger Hall
- Section 2: Tue, Thu 2:30 - 3:45 @ 2650 Humanities
- Section 10: Tue 5:30 - 8:30 @ Epic Campus
- Discussion Sections:
- Discusion 311: Wed, 8:50 - 9:40 @ Noland 119
- Discusion 312: Wed, 9:55 - 10:45 @ CS 1325
- Discusion 313: Wed, 11:00 - 11:50 @ Engr Hall 2239
- Discusion 314: Wed, 12:05 - 12:55 @ CS 1257
- Discusion 315: Wed, 1:20 - 2:10 @ Engr Hall 2534
- Discusion 316: Wed, 2:25 - 3:15 @ Engr Hall 3534
- Discusion 321: Wed, 8:50 - 9:40 @ CS 1263
- Discusion 322: Wed, 9:55 - 10:45 @ Engr Hall 2540
- Discusion 323: Wed, 11:00 - 11:50 @ CS 1263
- Discusion 324: Wed, 12:05 - 12:55 @ CS 1263
- Discusion 325: Wed, 1:20 - 2:10 @ Sterling 1313
- Discusion 326: Wed, 2:25 - 3:15 @ Engr Hall 2540
- Labs:
- There are no lab sessions for this course. Programming projects are a very important part of this course and the projects should be done on departmental PCs running the Linux operating system. We will cover some aspects of Unix/Linux in class and discussion.
- Questions: We will be using Piazza for outside-class Q&A and for all announcements. Please make sure you read Piazza often especially around project deadlines. The system is highly catered to getting you help fast and efficiently from classmates, TAs and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza.
Textbook
We will be using the free OS textbook Operating Systems: Three Easy Pieces. You can also buy a printed copy if you like from the same website.
For the programming projects, there are two textbooks that are recommended but not required
Prerequisites
This course assumes familiarity with basic computer organization (e.g., processors, memory, and I/O devices as covered in CS354) and data structures (e.g., stacks and hash tables as covered in CS367). You will need to be able to program in C (not C++, not Java, not Python, not Javascript, not Ruby, etc.) to perform the assignments in the course. We will spend some time covering background, but learning C on your own is important and valuable.
Grading Components
- Quizzes (5%):We will have in-class quizzes covering the content of the lectures. I will drop your lowest 5 quizzes.
- Projects (50%): You will have seven coding projects over the course of the semester. Projects are back-to-back so start early. You may turn in projects up to 3 days late but you will lose 10 percentage points per day. You will also have 2 slip days for projects 1 - 4 (individual projects) and 2 slip days for projects 5 - 7 (group projects). These are for emergencies. Do not squander them and discover when you do have an emergency that you have no slip days left.
- Code Review (5%): For one of your projects you will have an in-person code review where you will be expected to explain aspects of your solution.
- Exams (40%): Three exams, all in-person
- Exam 1 - Oct 12, During Class (15%)
- Exam 2 - Nov 9, Evening (10%)
- Exam 3 - Dec 18-12:25-2:25pm (Lec 1), Dec 19-7:25-9:25pm (Lec 10), Dec 20-10:05-12:05pm (Lec 2) (15%)
- OPTIONAL:Homeworks from the textbook (ungraded)