Syllabus
Communications
Announcements and Q&A: Ed
We will be using Ed for all announcements and communication about the course. Each assignment will also have a pinned post at the top of the Ed Discussion forum which you should check regularly, especially before you begin work on an assignment. We recommend checking Ed often, and don’t miss the announcement emails.
For time sensitive matters, please email cs3410-staff@cornell.edu. This is the fastest way to get a response as it goes straight to many inboxes.
For sensitive topics that need to be handled exclusively by the instructor(s), please email cs3410-prof@cornell.edu or meet with the instructor(s) during their bookable office hours. Please do not email the instructor(s) directly using a netID email address; it is important to keep all 3410 communication in one place.
Accessing Ed
Log in to Ed with your netid@cornell.edu
email
address. You can also access the Ed Discussion through the link on Canvas.
How to use Ed
99% of all matters can be handled on Ed. Do not reach out to the instructor or a TA if your question/problem is one other students might have. Asking on Ed will get you your answer faster and also help others benefit from your asking. Additionally, if you can answer someone else’s question yourself, please do (but be careful not to post solutions)!
If you’re not sure whether something is OK to post, contact the course staff privately. You can do that by marking your question as “Private” when you post it.
Never post screenshots of code.
Screenshots are inaccessible, hard to copy and paste, and hard to read on small screens (e.g., phones). Use Ed’s “code block” feature and paste the actual code.
Assignments: Gradescope
You will submit your solutions to assignments and receive feedback and grades through Gradescope. The weekly topic mastery quizzes will also be posted on Gradescope, as well as graded exams.
We try to grade anonymously, i.e., the course staff won’t know who we’re grading. So please do not put your name or NetID anywhere in the files you upload to Gradescope. (Gradescope knows who you are!)
Accessing Gradescope
Log in to Gradescope with your netid@cornell.edu
email
address. You can also access Gradescope through the link on Canvas.
Textbooks
This course does not closely follow any one text. You will be responsible for understanding the material presented in lecture and the lecture notes. You can find the lecture note that corresponds to each lecture on the schedule.
That said, we will post readings to accompany each lecture (also found on the schedule page). We will be using three textbooks:
- Computer Organization and Design RISC-V Edition: The Hardware Software
Interface, 2nd Edition by David A. Patterson and John L. Hennessy (ISBN:
9780128245583)
- This textbook will be provided digitially to you via the Cornell Academic Materials Program.
- Operating Systems: Three Easy Pieces by Remzi H. Arpaci-Dusseau
and Andrea C. Arpaci-Dusseau
- This textbook can be downloaded for free from the book’s webpage.
Course Policies
Lectures
PollEverywhere
For in-class activities and polls, we will be using PollEverywhere instead of iClickers. Your participation using PollEverywhere factors into your semester grade. PollEverywhere requires you to bring an Internet-connected device, preferably one that can scan a QR code.
Typically, answering all but 1 of the questions for a given day will give you full points for the day. (This doesn’t really work when there is only one question, obviously.) There will often be a question at the very start of class. Because of the leniency baked into the scoring, we will not manually adjust your clicker score if you are late to class, must leave early, your car battery dies, you were in the bathroom for a question, you are feeling ill, you have to quarantine, etc. We know there are very good reasons to miss a PollEverywhere activity, but if we adjust scores by hand the software recognizes the inconsistency and refuses to sync future scores.
Electronic Devices
Electronic devices are known distractors for users and those nearby.
-
Phones: Phone use is only allowed to participate in PollEverywhere activities.
-
Laptops: Laptop use is allowed only in the left-hand part of the lecture hall, facing the front.
-
Tablets: If you use your tablet like a laptop (propped up and you type on it) then please use it in the laptop section. If you use your tablet like a notebook (write on it with a stylus and keep it at an angle such that those behind you do not see what your are writing) you may use it in any section.
Labs
Your physical and mental attendance at the Lab Section that you are enrolled in is required. If you work on a lab for the entire lab section, you will get credit regardless of how far you get. If you show up and do non-lab work (even if it is work for CS 3410) or if you don’t show up to lab but argue that you did the work on your own you will not get credit for the lab.
You are responsible for ensuring that your attendance was recorded properly before the end of your lab. You can check your lab attendance grade on Canvas under the grades tab or from the lab itself. We are unable to retroactively change your lab attendance grade.
Missing (i.e., not getting credit for) more than 3 labs will lower your final grade by one grade per missed lab. For example, if you earn an A- in the class but you miss 5 labs, you will receive a B in the class.This flexibility is there to account for unavoidable absences. Furthermore, due to the add/drop period, the first lab is optional (but strongly recommended!).
To help maintain a high staff-to-student ratio we require that you attend the lab section that you are enrolled in. If you need to change Lab Sections, do so officially on Student Center, but use the swap feature so as not to lose your spot in the lecture.
Office Hours
-
TA office hours are a great place to get help with assignments, weekly topic mastery questions, and technical support (e.g., setting up the course infrastructure, VS Code, using Git). See Office Hours for details.
-
Instructor office hours are for lecture material, conceptual questions, and sensitive issues. For debugging and assignment help, please use TA office hours instead (or post on Ed)!
Students with Disabilities
Your access in this course is important to us. Please register with Student Disability Services (SDS) to document your eligibility early in the semester and let us know so that we have adequate time to arrange your approved academic accommodations.
Exam Accomodations
If you have an accommodation of extended time or access to a low-distraction room, we have mechanisms in place to meet your needs. If your letter has been sent 2 weeks prior to the prelim, you can verify our awareness of your needs by checking your “score” on the Exam Accommodation Assignment. You will also receive an email confirming our awareness of your needs no later than the Friday before the exam. If, however, your accommodation is granted within 2 weeks of the prelim or you have a unique exam accommodation (for example, you need the exam to be printed in a larger font), please email cs3410-prof@cornell.edu to make sure we accommodate you in a proper and timely manner.
Lecture Accommodations
If you have an accommodation that has to do with the lecture (you need a particular seat or require that the instructor wear a particular mic), please send an email to cs3410-prof@cornell.edu to make us aware of your needs.
Efforts have been made to comply with all accessibility requirements. If you experience any access barriers in this course, such as with printed content, graphics, online materials, or any communication barriers, please reach out to the instructor or your SDS counselor right away. If you need an immediate accommodation, please speak with the instructor after class or email the instructor and SDS at sds_cu@cornell.edu. If you have or think you may have a disability, please contact SDS for a confidential discussion: sds_cu@cornell.edu, 607-254-4545, https://sds.cornell.edu.
If you experience personal or academic stress or need to talk to someone who can help, contact the instructors or:
- Engineering academic advising
- Arts & Sciences academic advising
- Learning Strategies Center
- Let’s Talk Drop-in Counseling at Cornell Health
- Empathy Assistance and Referral Service (EARS)
Please also explore other mental health resources available at Cornell.
Academic Integrity
All submitted work must be completed exclusively by you. Please adhere to the following rules of collaboration:
- Do not look at or be in possession of other students’ (current or former) solutions.
- Do not look at code that you did not write (including code online or generated by an AI tool).
- Do not show other students your work or (screen) share solutions, not even to help each other.
- Do not write documentation together.
- Do not design or write a test suite together.
- Cite your sources.
- Definitely ask the course staff if you’re not sure whether or not something is OK.
Discussing an assignment with others is fine as long as you do not actually look at each other’s work or discuss matters in such detail that the implementation is essentially finished. As a general rule, if you walk away from your discussion without any written (or snapshotted) notes and then start working on the assignment later on your own, you should be fine.
Most academic integrity violations occur in a moment of panic and stress. If you are tempted to make a bad choice, please do not. The grade penalty for cheating is typically a -100% on the entire assignment, which is significantly worse than simply not turning it in. Other repercussions are detailed on the official university page on Academic Integrity. (As a side note, many academic integrity violations come about when students code up an assignment for hours at the same time, sitting right next to each other. This level of fine-grain interaction usually produces effectively one submission produced by two people. This is not okay; your source code must not bear remarkable syntactic similarity to someone else’s because of your collaboration.)
This AI policy does not apply to the weekly Topic Mastery Quizzes Quizzes. You may help each other with these as much as you like. The goal is to learn the material. If you don’t, that will be obvious when assignments and prelims are graded.
Accepting Responsibility (AR)
This course is participating in Accepting Responsibility (AR), which is a pilot supplement to the Cornell Code of Academic Integrity (AI). For details about the AR process and how it supplements the AI Code, see the AR website.
Use of Generative Artificial Intelligences (GenAI)
Mastering the essential, foundational concepts of this course takes effort and practice. Accordingly, the use of generative artificial intelligence (GenAI) tools is generally discouraged in this course, but will be allowed as an experiment for Spring 2025 under the following conditions:
- Be careful about any use of GenAI. It is known to produce incorrect responses. You are responsible for the correctness of all your work. Although GenAI could be useful as a tutor or helper in programming, it must not become the sole creator of your work.
- You may only use Microsoft Copilot
Enterprise using Cornell’s institutional
license. You can log in using your NetID.
- This policy is in place for your protection. By using Copilot Enterprise under Cornell’s license, Microsoft cannot view your conversations with Copilot, and your prompts, answers, and viewed content are not used to train the underlying large language models. Another side benefit of using Cornell’s paid license is that the answers that are provided are likely to be of higher quality than other, free GenAI tools (e.g., a personal ChatGPT or Copilot account).
- More details about using Microsoft Copilot Enterprise at Cornell can be found here.
- If you use GenAI on an assignment, you must cite it by providing the following information:
- the prompt you used,
- the answer provided by Copilot,
- a short statement about how useful the interaction was to you.
Failure to follow this GenAI policy will constitute a violation of the academic integrity policy.
Late Policy for Assignments
- Assignments 1-10 can be submitted up to three days late.
- Late submissions to Assignment 11 will not be accepted.
- You are given ten (10) free slip days (i.e., 24-hour penalty free extension).
- Each slip day used beyond your initial 10 will cost you 0.25% of your semester grade.
Gradescope will accept each assignment (with the exception of the final assignment) up to 3 days late. For each day you submit an assignment late, Gradescope records that you have used a slip day. Each slip day allows you to submit an assignment 24 hours later without penalty. You may never submit an assignment more than 3 days late.
5% of your semester grade is for Punctuality Points. You earn these points by not using more than 10 slip days across assignments 1-10. No slip days will be accepted for the last assignment. At the end of the semester, we will use your slip day usage to calculate your Punctuality Points using the following formula: \[ 5 - \frac{1}{4} \max(0, \mathit{slip~days~used} - 10) \] Here are some possible scenarios:
Slip Days Used | Scenario | Punctuality Points |
---|---|---|
0 | You submitted each assignment on time. | 5 (no advantage for using < 10) |
10 | You submitted each assignment one day late. | 5 |
10 | You submitted two assignments one day late, one assignment two days late, and two assignments three days late. | 5 |
14 | You submitted six assignments one day late and four assignments two days late. | 4 |
20 | You submitted each of the ten assignments two days late. | 2.5 |
30 | You submitted each of the ten assignments three days late. | 0 |
Gradescope knows no mercy. If an assignment is due on Tuesday @ 11:59 and you turn it in at 11:59.20 (yes, before midnight!), you just used a slip day.
Be sure to download your assignment once it it is uploaded to Gradescope to verify that it’s the file you meant to submit. Last semester we had an inordinate number of students who submitted the release code instead of their assignment code. They had to submit their actual work as a regrade with associated penalties weeks later.
Late Policy for Topic Mastery Quizzes
There is a 48 hour grace period for all online exercises and Topic Mastery Quizzes. Submissions within the grace period incur no late penalty. Many surveys will not have that grace period because either we do not control them (TA assessments, course evaluations) or your on-time response is required to effectively manage the course (e.g., prelim conflicts, etc.) After the grace period, the quizzes will be unavailable and there is no possibility of viewing or submitting them.
Regrade Policy
If you feel that your project or exam was not graded according to the stated rubrics, you may submit a regrade request within one week of the project or exam’s return. Regrade requests are submitted via Gradescope. Please note, regrade requests are a venue for discussion about the application of rubrics, not the rubrics themselves.
If your regrade involves us grading different files than your original submission, please send the changed file(s) to cs3410-staff@cornell.edu. In your regrade request, be sure to mention that the file(s) to be graded are in the staff inbox. Also please explain how these files differ from the original ones you submitted and whether you deem these changes to be significant or minor. (Course staff will assume the changes are major unless you convince them that the changes are minor.) All regrades that involve us grading new files will incur a blanket 25/100 point deduction. If we deem your changes significant (more than just changing a few lines of C code), the regrade will incur an additional 15/100 point deduction. This will be applied even if you submitted wrong/release/corrupted/empty files the first time around. (Again, we strongly suggest you download and check the files you submit to Gradescope at submission time.)
Inclusiveness
You should expect and demand to be treated by your classmates and the course staff with respect. You belong here, and we are here to help you learn and enjoy this course. If any incident occurs that challenges this commitment to a supportive and inclusive environment, please let the instructors know so that the issue can be addressed. We are personally committed to this and subscribe to the Computer Science Department’s Values of Inclusion.
Assessment
Grading
Your semester grade will be calculated approximately as follows :
- Assignments: 35%
- Exams (Prelim1, Prelim2, Final): 45%
- Weekly Topic Mastery Quizzes: 10%
- Assignment Punctuality Points: 5%
- Surveys: 2%
- Online Exercises: 3%
- Grade adjustments:
- up to 3% bonus for up to ~22 Poll Everywhere attendance points (capped at 100% total)
- possible grade deductions for excessive Lab absences
Assignments
Generally, assignments are released weekly on Thursdays and are due on Wednesdays at 11:59PM. See the course schedule. All assignments are to be done indvidually. You’ll turn in assignments via Gradescope. You may use generative AI on all assignments as long as you follow our policy.
In terms of your final course grade, assignment scores are capped at 90%. All scores above 90% will count as “full credit” and an A average; scores below 90% will be scaled accordingly (e.g., 85% on an assignment maps to a final-grade value of 94.4%). This policy is meant to help you focus holistically on learning what each assignment is trying to teach you, not on maximizing individual points.
Exams
There are two preliminary examinations and a final exam. See the course schedule.
Bring your student ID to all of your exams. We will be taking attendance by having you swipe it through a card reader upon arrival.
Makeup exams must be scheduled within the first three weeks of class. Check the exam schedule now to see if you have a conflict with another class.
Please register your conflict by completing the corresponding survey found on Gradescope so we can schedule a makeup exam. Specifically, register
Topic Mastery Quizzes
Weekly topic mastery quizzes (TMQs) will help reinforce the lessons from a given week’s lectures. We’ll release the quiz on Sunday. The material will be covered in lectures that week. The quiz due date is the following Friday. These quizzes are also distributed on Gradescope.
As the goal of these quizzes is to give you practice with the lecture material, the grading scheme is very forgiving:
-
Don’t like your score? You are welcome to retake the quiz as many times as you like before the due date. We’ll keep your best attempt.
-
Your lowest quiz score in grading, so one quiz in the semester is a “freebie.” Also, your quiz grade will be capped at 90%, meaning if you get 9/10 you do not have to retake the quiz to receive a “perfect” quiz score. Note: this cap will be implemented via post-processing by the instructor, so you will not see this cap reflected on Gradescope.
-
You may submit each quiz up to 48 hours late without penalty. See the relevant late policy here.