The crosscutting theme in this course is providing abstractions above imperfect hardware 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.
If you have any suggestions, such as improvements to the web site, syllabus, slides, etc., ypu can email cs4410-prof
Lectures
Lectures take place on Tuesdays and Thursdays, 2:55PM-4:10PM in
Baker Laboratory 200. Attendance at each lecture is expected: please contact the instructor if you cannot make class.
We also run a Recitation (optional), each week, to help you clarify any issues in the material discussed in class. The Recitation will take place on Thursdays, 6:00pm-7:30pm, in Gates G01.
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
- The first homework assignment is already waiting for you -- it will become available on August 22 at 4:10 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 names
of the students, if any, with whom you
collaborated.
- You can work on programming questions in groups of 2 or 3.
- Students in the same project group can submit the same code
- Do not share your group's code with anybody.
- 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.
Assessing Student Achievement
- The course offers two prelims and a final exam, all in person:
- Prelim 1: September 28, 7:30pm, KLKG70 -- Alternate exam: September 28, 5:30 pm, GSHG76.
- Prelim 2: November 21, 7:30 pm GSHG64, GSHG76, KLRKG70 -- We are working on a location for an alternate time exam, which will take place on the same day, most likely starting at 5:30 pm.
- Final: TBD
Your final grade will be determined by the two highest
score across these three tests — indeed, students are
required to only take two of the three tests, if they so
choose. The two-out-of-three policy provides accommodation
for situations where students cannot take a test because of
an interview, participation in a conference or a sporting
event, or a sudden emergency. Students who cannot make an
exam because of religious observance or official Cornell
sanctioned activities should notify the instructor
at cs4410-prof within the
first three weeks of the semester.
- Assignments will take the form of both homework
(problem sets) and three programming projects. Homework
is to be completed individually, while programming
projects (coded in Harmony) can be completed in groups of
two or three students.
- Basis for grade determination: For students
enrolled in CS4410: 37.5% assignments (3% homework, 34.5%
programming assignments), 61.5% exams, 1% completing
course eval. For students enrolled in CS5410: 37.5%
assignments (6% homework, 31.5% programming assignments),
61.5% exams, 1% completing course eval. Note: As discussed
in class, the percentage for homework has decresead by 3%
to reflect that much of the homework let you know if you
had the wrong answer and allowed you to submit until you
got the right one. That 3% has been equally split between
programming assignments and exams.
- Grading scale: This class uses a letter
grading system, which is the official grading system at
Cornell University. Grading in CS4410 is not a competition
with your peers, where only few can, by design, be at the
top. Anyone who earns above 90% is guaranteed at least an
A-, independent of how others in the class have done;
similarly, everyone who earns above 80%, 70%, and 60% is
guaranteed, respectively, at least a B-, C- and D.
This
said, an A can also be earned (and usually is) with a
lower percentage of the overall score, depending on the
distribution of scores in the class. Typically, about one
third of the students earn at least an A-, and about 80%
at least a B-, and the median is typically in the B/B+
range.
- If you require exam accommodations, please contact Ms. Coralia Torres (ct635). We are happy to meet the needs of our students in this matter!