Syllabus
CS 3410, “Computer System Organization and Programming,” is your chance to learn how computers really work. You already have plenty of experience programming them at a high level, but how does your code in Java or Python translate into the actual operation of a chunk of silicon? We’ll cover systems programming in C, assembly programming in RISC-V, the architecture of microprocessors, the way programs interact with operating systems, and how to correctly and efficiently harness the power of parallelism.
TL;DR
- Course communication will happen on Ed.
- Log in with your
netid@cornell.edu
email address. You should already have access. - You’re responsible for knowing everything that we post as announcements there. Ignore announcements at your own risk.
- Log in with your
- Homework hand-in and grading happens on Gradescope.
- There are 11 assignments.
- The deadline is usually Wednesday night at 11:59pm. See the schedule for details.
- You have 12 total “slip days” you can use throughout the semester. You may use up to 3 for a given assignment.
- Your lowest homework score will be dropped.
- There is one prelim and a final exam. For the prelim, there is only one make-up exam the following week with partial weight transfer (read the syllabus carefully, no exceptions).
Organization
Lecture Materials
Lecture materials will be made available through the schedule right before class.
Announcements and Q&A: Ed
In Fall 25, we will be using Ed for all announcements and communication about the course. Log in there with your netid@cornell.edu
email address. The course staff will post important updates there that you really want to know about! Check often, and don’t miss the announcement emails.
You can also ask questions—about lectures, homework, or anything else—on Ed.
What to post. 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.
How to ask a good question. A good post asks a specific question. Here are some examples of bad posts:
- “Tell me more about broad topic X.”
- “Does anyone have any hints for problem Y?”
If you need help with a homework problem, for example, be sure to include what you’ve tried already, exactly where you’re stuck, and what you’re currently thinking about how to proceed. If you just ask for help without any evidence of effort, we’ll punt the question back to you for more details.
Never post screenshots of code. They are inaccessible, hard to copy and paste, and hard to read on small screens (i.e., phones). Use Ed’s “code block” feature and paste the actual code.
Use Ed, not email. Do not contact individual TAs or the instructors via email. Use private Ed posts instead. The only exception is for sensitive topics that need to be kept confidential; please email cs3410-prof@cornell.edu (not the instructors’ personal addresses) with those.
Assignments: Gradescope
You will submit your solutions to assignments and receive grades through Gradescope.
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!)
Content
Grading
Final grades will be assigned with these proportions:
- Assignments: 30%
- Preliminary Exam: 25%
- Final Exam: 25%
- Topic Mastery Quizzes: 10%
- Participation: 10%
Assignments
Problem sets are usually due on Wednesday at 11:59 PM. See the course schedule. All assignments are individual. You’ll turn in assignments via Gradescope.
Slip days. You have a total of 12 slip days to use throughout the semester, of which you can use at most 3 for a given assignment. A “slip day” is a 24-hour penalty-free extension on an assignment deadline that you can use without even asking for permission. Use slip days to make your life easier when dealing with:
- routine illness
- minor injury
- travel
- job fairs
- job interviews
- large workloads in other courses
- extra-curriculars
- just getting overwhelmed
We trust you to use your slip days wisely. They often mean you have less time to work on the next assignment.
Dropped score. We will drop one score to calculate your final grade: that is, your lowest-scoring problem set won’t count, even if that score is zero. Use this policy to cope with extenuating circumstances, or that especially difficult week in your semester, by skipping one assignment.
Other lateness. Late submissions (beyond slip days) will not be accepted. In truly exceptional circumstances where slip days do not cut it, contact the instructors. Exceptional circumstances require some accompanying documentation.
Grade cap. In terms of your final course grade, assignment scores are capped at 85%. All scores above 85% will count as “full credit” and an A average; scores below 85% will be scaled accordingly (e.g., 80% on an assignment maps to a final-grade value of 94.1%). 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 will be one prelim exam and a final exam. See the course schedule for dates.
-
Check your schedule now. To sign up for a make-up, post privately on Ed.
-
If you have a conflict with another class exam at 7:30 pm, you may instead take the alternate prelim on October 9 at 5:30 pm. Please check your conflicts now.
-
For any other reason including minor illness (no documentation required), you may take the makeup prelim on October 16, 5:30–7:00 pm with partial weight transfer. Please see Prelim Exam section of the syllabus for details.
-
No other make-up(s) will be scheduled. There is one and only one prelim makeup exam. Please see Prelim Exam section of the syllabus for details.
Prelim Exam (October 9, 7:30 pm)
- If you have a conflict with another class exam, you may instead take the alternate prelim on October 9 at 5:30 pm. Please check your conflicts now.
- For any other reason including minor illness (no documentation required), you may take the makeup prelim on October 16, 5:30–7:00 pm.
- ATP cannot schedule a makeup prelim at any other time/day for CS 3410. It’s either October 9th or October 16th during similar times of the day.
- If you take the October 16th makeup, 50% of the prelim’s weight will automatically transfer to the final exam. I.e., your prelim will count for 12.5% and your final for 37.5% of your final grade.
- If you do not take the prelim or the makeup, 100% of the prelim’s weight will automatically transfer to the final exam. I.e., your prelim will count for 0% and your final for 50% of your final grade.
- No other make-up(s) will be scheduled.
Topic Mastery Quizzes
Weekly topic mastery quizzes will help reinforce the lessons from a given week’s lectures. We’ll release the quiz on Monday. The material will be covered in lectures that week. The quiz due date is the following Friday. These quizzes are also on Gradescope.
Because they’re meant to help you practice, grading on these quizzes is very forgiving:
- You are welcome to retake the quiz as many times as you like. We’ll keep your best attempt.
- The score is capped at 90%, so scoring 9/10 is “full credit” and counts the same as scoring 10/10.
- We will drop your two lowest scores.
No extensions are available on these quizzes.
Labs
CS 3410 has lab sections that are designed to help you get started on assignments. During lab, you are welcome to work together with other students on solving the lab exercise. However, for the actual assignment, you may not collaborate and thus you should never start working on solving the graded part of the assignment in lab.
Attendance, from the start of your lab section until you receive a checkoff from a TA, is required. You must attend the lab section you are registered for. (If you need to change lab sections, please use the “swap” feature on Student Center to avoid losing your spot in the main course registration.) You are responsible for making sure that your attendance is recorded each time.
Participation
The “participation” segment of your grade has three main components:
- 4% for Lecture attendance, as measured by occasional Poll Everywhere polls.
- 4% for lab attendance, as recorded by the lab’s instructors.
- 2% for surveys:
- The introduction survey (on Gradescope) in the first week of class.
- The mid-semester feedback survey.
- The semester-end course evaluation.
We know that life happens, so you can miss up to 3 lab sections and 5 lectures without penalty.
Policies
Academic Integrity
Absolute integrity is expected of all Cornell students in every academic undertaking. The course staff will prosecute violations aggressively.
You are responsible for understanding these policies:
- Cornell University Code of Academic Integrity
- Computer Science Department Code of Academic Integrity
On assignments, everything you turn in must be 100% completely your own work. You may discuss the work in generalities with other students using natural language, but you may not show anyone else your code or look at anyone else’s code. Specifically:
- Do not show any (partial or complete) solution to another student.
- Do not look at any (partial or complete) solution written by another student.
- Do not post solutions on Ed, except in private threads with course staff.
- Do ask someone if you’re confused about what the assignment is asking for.
- Definitely ask the course staff if you’re not sure whether or not something is OK.
This semester, you are allowed to search the internet for example code, e.g., on Stack Overflow, GitHub, or Google. However, for all online sources, the same rules apply as for LLM-generated answers, e.g., you are not allowed to copy code. Please consult our GenAI policy for details.
Here’s the policy for exams: you may not provide assistance to anyone or receive assistance of any kind from anyone at all (outside of the course staff. All exams are closed book.
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.
Generative AI
You can use the Microsoft 365 Copilot Chat AI through Cornell to support your learning in CS3410. However, the use of these tools must follow strict guidelines to ensure academic integrity and independent understanding. (Note: There are several AI tools called “Copilot”, only “Microsoft 365 Copilot Chat” is allowed. This is because Microsoft 365 Copilot chat is licensed through Cornell. Cornell IT has a helpful link distinguishing the various AI tools which are called “Copilot”, you are highly encouraged to peruse this link to understand the differences.)
Other GenAI tools such as ChatGPT, Claude, GitHub Copilot, etc. are not allowed. This is because Copilot ensures that when you log in with your NetID, your prompts, answers, and viewed content are not used to train the underlying LLMs.
The work you submit must be 100% handwritten by you. This means that every line of code, every explanation, and every answer must be written by you, and based on your own understanding. This also applies to Stack Overflow, GitHub, or Google. You may not copy and paste code, assignment instructions, or links to assignment materials into GenAI tools (e.g., GitHub repositories, CMS pages, shared documents). You may not copy code, instructions, or links generated by GenAI tools into your assignment submission.
You may use GenAI tools to generate and explain code, but only as a learning aid. You are encouraged to use GenAI to ask questions, explore ideas, and understand course concepts. You may ask GenAI to generate or explain code to help you learn. However, you may not copy that code into your submission. You must write your own implementation from scratch, based on your understanding.
You must disclose the use of GenAI. Each assignment includes a GenAI Usage Quiz. You must complete this quiz honestly to report how you have used the GenAI tools.
Any violation of this policy will be considered an academic integrity violation and will be handled according to university guidelines. If you are unsure whether a specific use of GenAI is permitted, ask the course staff before proceeding.
Respect in Class
Everyone—the instructors, TAs, and students—must be respectful of everyone else in this class. All communication, in class and online, will be held to a high standard for inclusiveness: it may never target individuals or groups for harassment, and it may not exclude specific groups. That includes everything from outright animosity to the subtle ways we phrase things and even our timing.
For example: do not talk over other people; don’t use male pronouns when you mean to refer to people of all genders; avoid explicit language that has a chance of seeming inappropriate to other people; and don’t let strong emotions get in the way of calm, scientific communication.
If any of the communication in this class doesn’t meet these standards, please don’t escalate it by responding in kind. Instead, contact the instructors as early as possible. If you don’t feel comfortable discussing something directly with the instructors—for example, if the instructor is the problem—please contact the CS advising office or the department chair.
Special Needs and Wellness
We provide accommodations for disabilities. Students with disabilities can contact Student Disability Services at for a confidential discussion of their individual needs.
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.