The crosscutting theme in this course is providing abstractions above imperfect hardw\ are to make it usable by programmers and users. At the end of the course, students should understand a set of abstractions (concurrent programming, virtual addressing, memory protection, caching, ...) that are useful in many large-scale software systems, not just OS kernels. Students should come to understand these abstractions well enough to synthesize their own abstractions when faced with new problems. Another important goal of the course is for students to understand the computers they use and on which they build their applications: the course aims to make them see that there is no magic in how their computers operate, though, hopefully, still much wonder.
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.

Inclusiveness

You belong here, and we are here to help you learn and enjoy this course. We strive to make CS4410 a welcoming, inclusive, respectful, and supportive environment, consistent with Cornell's Computer Science Department's Values of Inclusion. If you witness something that goes counter to a supportive and inclusive environment, please let Lorenzo know so that the issue can be addressed. You can also file a confidential report with Cornell.

Lectures

Lectures take place on Tuesdays and Thursdays, 2:45PM-4:00PM in 185 Statler Hall.

Communications

  • All enrollment related questions should be sent to courses@cis.cornell.edu.
  • Use the Ed Discussion for questions about course organization and technical material
  • Use this Zoom link to connect with the teaching staff during remote office hours.
  • For time-sensitive matters, please email cs4410-staff
  • For non-technical 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

Homework

  • Your first homework assignment is already waiting for you -- it will become available on August 23 at 4:00 PM on gradescope.
  • Late policy: max 2 slip days per assignment, six slip days total
  • Regrades: You have one week after a test or homework is returned to submit a regrade request. No regrade requests will be considered after that time.
  • Academic integrity:
  • Students are expected to know and abide by Cornell’s policy on academic integrity, including All submitted work should be your own
    • It is OK to discuss concepts explored in the homework with any other student. However, you are required to write up (and understand) the homework on your own, and you should acknowledge the naDmes of the students, if any, with whom you collaborated.
    • Students in the same project group can submit the same code
    • Different groups are not allowed to share code, or develop code together
    • OK to discuss concepts with students in other groups
    • Academic integrity violations will be prosecuted aggressively. If you are not sure what constitutes an academic integrity violation, please ask.

Exams

  • There will be two prelims and one final exam, all in person:
    • Prelim 1: September 29, 7:30pm, BLY 101 -- Alternate time: 5:30pm in Kennedy 116 (Call Auditorium)
    • Prelim 2: November 17, 7:30 pm GSHG64, KLRKG70 -- Alternate time: 5:30 pm in GSHG64. The exam for students who need special accommodations will take place in Statler 198, starting at 6:45 pm.
    • Final: Saturday December 10, 9:00 am -- Location: KND 116 (Call Auditorium). The exam for students who need special accommodations will take place on the same day in Gates 114, also starting 9:00 am.
  • Semester grade: For students enrolled in CS4410: 39% assignments (6% homework, 33% programming assignments), 60% exams, 1% completing course eval. For students enrolled in CS5410: 39% assignments (9% homework, 30% programming assignments), 60% exams, 1% completing course eval. The following grade percentages will guarantee you the corresponding letter grades -- however, grades can be earned with a lower percentage of the overall score than the one indicated below, depending on the score distribution in the class.
    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