We will cover the key components of operating systems and some of the techniques used to build them, including
All students in CS 4410 should have mastered the material in CS3410/ECE3410. In addition, you should be familiar with Python programming in order to complete the programming portions of homework assignments.
Since this is a summer course, it will work a little differently than the academic-year version of CS 4410. The good news is that the summer version of this course has a much lower enrollment, so we'll have a nice small class where we can get to know each other. I encourage everyone to speak up and participate in class.
On the other hand, summer courses are particularly intense because of the compressed time schedule. Class meets every day of the week, and we will cover the same material in six weeks that is typically covered in 14. As a result, it is very important that you keep up with the material and the assignments. I will not be officially taking attendance, but keep in mind that missing class will cause you to fall behind.
The course schedule and office hours are on the course website: http://www.cs.cornell.edu/courses/cs4410/2019su. Lecture slides will be posted on the website shortly after each class.
We will be using Piazza for all course announcements. Please enroll yourself.
We will be using CMS for assignment submissions and grades.
There is no required textbook. The textbooks "Operating Systems: Principles and Practice" by Anderson and Dahlin and "Operating System Concepts" by Silberschatz, Galdin, and Gagne are both good references for this material.
These textbooks do not cover networking; "Computer Networks" by Tanenbaum and Wetherall is a good reference for the section on networking.
I will follow roughly the same outline as the previous iteration of this course, taught by Michael George in summer 2018.
This course requires 5 homework assignments, each of which will inlcude some combination of written questions and programming problems. Assignments are due on CMS every Monday before class (except for July 8, which is only the third day of class). There will also be a small in-class quiz every Wednesday, which helps ensure everyone is keeping up with the material.
The final exam will be held in class on the last day of the course (August 14).
Your grade will be based on the following weighting of assignments:
Academic integrity is important for two reasons. The first is that the course is designed to help you learn the material. If you don't do the work you won't learn the material. The second is that we grade you; this would be meaningless if the work we grade is not yours.
You are encouraged to work together to figure out solutions to the homework assignments. However, the work you submit should be your own. Be sure to put away your laptops and solution sets while working with other students.