CS 4410/5410 covers systems programming and introductory operating system design and implementation. We will cover the basics of operating systems, namely structure, concurrency, scheduling, synchronization, memory management, filesystems, security and networking.
Prerequisites: CS 4410/5410 is open to any undergraduate who has mastered the material in CS3410/ECE3140. You may want to review the background document to make sure you remember everything. Students enrolled in 4410/5410 can also choose to take CS 4411/5411 and complete the practicum project


  • We strive to make CS4410/5410 a welcoming, safe, equitable, and respectful environment, consistent with Cornell's commitments
  • We recognize that the society we live in is none of those things, that we have implicit biases, and that we have to work hard every day to counter those biases to create an inclusive environment
  • If you witness a bias incident or have been the victim of one, please file a confidential report with Cornell
  • If you have any suggestions such as improvements to the web site, syllabi, slides, homework and exam questions, and so on, you can email cs4410-prof@cornell.edu


Lectures take place on Tuesdays and Thursdays 9:40-10:55am in Ives Hall 305, starting Tuesday January 24th. Attendance at each lecture is expected; please contact instructor if you cannot make class.


  • Ed Discussion
  • For time sensitive matters, please email cs4410-staff
  • For sensitive matters, please email cs4410-prof
  • Please do not contact any course staff or instructors via their email addresses, facebook, texting, etc. for matters concerning this course


  • First homework assignment is here. Filled and saved PDF must be submitted on CMSX.
  • (approximately) weekly homework assignments
  • Late policy: max. 2 slip days per assignment, 6 slip days total
  • Academic integrity:
    • Non-programming homework assignments are randomized and can be discussed with other students
    • For programming questions, you can work in groups of 2 or 3
    • Do not share your group's code with anybody
    • OK to discuss programming concepts with other students
    • Violations will be prosecuted


  • There will be two prelims and one final exam, all in-person unless specified otherwise.:
    • Prelim 1: March 21 (Ives 305)
    • Prelim 2: April 25 (KND101, KND103, KND116)
    • Final: May 18
  • Academic Integrity:
    • Do not share your exam form with others: exam forms are private property and securely watermarked
    • Violations will be prosecuted
  • Semester grade: 50% homework, 50% exams
    A+96⅔% - 100% A93⅓% - 96⅔% A-90% - 93⅓%
    B+86⅔% - 90% B83⅓% - 86⅔% B-80% - 83⅓%
    C+76⅔% - 80% C73⅓% - 76⅔% C-70% - 73⅓%
    D+66⅔% - 70% D63⅓% - 66⅔% D-60% - 63⅓%
    F0% - 60%
  • If you require exam accommodations, please contact Coralia Torres (ct635). We are happy to meet the needs of our students in this matter