Course Policies
- 7 homework assignments (21%, or 3% each).
- One "HW0" homework (1%), graded for completion.
- Exam I (Oct 16) (21%)
- Exam II (Nov 6) (21%)
- Final Exam (Dec 10) (36%)
- Bonus Points (see Bonus Point Policy below).
Students who may need academic accommodations based on the impact of a disability should initiate the request with the Office of Accessible Education (OAE) and notify us as soon as possible (no later than the add-drop deadline). It is the student’s responsibility to reach out to the course staff regarding their accommodations on exams and assignments in advance. Please email OAE forms to cs161-staff-aut2526@cs.stanford.edu.
General Guidelines:
- Contact the OAE to obtain an official accommodation letter if you have a health condition that may impact your coursework.
- Only accommodations explicitly stated in your current OAE letter will be accommodated. If you need additional or revised accommodations, you must request an updated letter from the OAE.
- If you have any questions or concerns regarding your accommodations, please contact your disability advisor.
Deadlines and Assignments:
- Students with OAE letters must request a separate extension for each assignment (you cannot auto-apply your OAE extensions).
- Students with the standard OAE extension accommodation must request an extension before the original due date, as it says in your OAE letter. Retroactive extension requests will not be approved.
- As per the Late Homework policy below, homework will not be accepted more than three days late (or two days if it's an assignment right before the exam), even with an OAE letter. This is so that we can release solutions in a timely fashion.
Exams: If you plan to use your OAE-approved exam accommodations for a specific exam, students must provide their letter and inform the instructor by:
- 10 calendar days prior to the relevant exam date.
- No later than November 17, 2025, at 5:00 pm, for accommodations on the final exam.
- The HW assignments will be submitted in small groups (up to three). It is fine and good to discuss between groups (please acknowledge your collaborators), but each group must type up their solutions on their own, from scratch.
- The following is OK: Your group and another group work through the problems together over a couple of days. You bounce ideas off each other, and eventually come up with a pretty good solution idea. You and your group type up that idea in your own words, perhaps lightly consulting notes you took while working with the other group.
- The following is NOT OK: Your group and another group work through the problems together over a couple of days. You bounce ideas off each other, and eventually come up with a pretty good solution idea. Your group types up the solutions first. Since the other group helped, you share your write-up with them as a starting point for their own write-up.
- A good test: if you ever share your typed-up solutions with another group, or if someone shares theirs with you, it is probably NOT OKAY. Collaboration outside of this quarter's CS161 class is not allowed.
- No collaboration is permitted on exams.
This course is participating in the proctoring pilot overseen by the Academic Integrity Working Group (AIWG). The purpose of this pilot is to determine the efficacy of proctoring and develop effective practices for proctoring in-person exams at Stanford. To find more details on the pilot or the working group, please visit the AIWG’s webpage.
- Aside: Why should you learn the material yourself if LLMs can do lots of it? LLMs currently can't do as well at algorithm design and analysis as skilled humans at the highest level, and Mary would argue that they won't in the near future (keeping in mind that humans get more powerful as our tools get more powerful). If you want to eventually be an algorithmically-high-skilled human, you'll need to learn the basics so that you can surpass LLMs (possibly by using LLMs). Also, in the short term, LLMs still make mistakes, and if you hand in buggy AI slop you'll get a bad grade.
With that in mind, the policy is:
- It is a violation of the honor code to copy-paste the output of an LLM into your homework, just as it is not allowed to copy another group's write-up. Everything you hand in should be in your group's own words.
- It is okay to use LLMs to help you brainstorm on the homework. However, we encourage you to be thoughtful in your use of LLMs, and to use them in a way that supports your learning. Best practices include:
- Think about the problem on your own (or with your group) first, just like you should think about something first before going to office hours.
- If you are stuck and are going to turn to an LLM, ask it for a hint instead of for the answer. You can start out asking it for a "minimal hint."
- Ask the LLM to formulate and solve a related problem, or to formulate an easier "warm-up" problem for you.
- Another interesting way to use an LLM to learn is to ask it for an incorrect answer to the problem, so that you can debug it. Any TA will tell you that grading an incorrect answer is a great way to learn about the problem! Maybe after that you'll be able to come up with a correct answer on your own.
- (Do you have a way to use LLMs that you think contributes to your learning? If so, feel free to share it with the course staff or on Ed!)
-
LLMs are not allowed on the exams. It is a violation of the honor code to use LLMs, or any other resource other than your cheat-sheet, during the exams.
- The exams are the incentive for you to use LLMs in a way that enhances your learning -- perhaps following some of our suggestions above -- on the homework.
- You have six late days to distribute among the seven homework assignments. You may use a maximum of three late days per assignment for HW1, HW3, HW5 and HW6. For HW2, HW4, and HW7, you have a maximum of two late days. (That's because these are the homeworks right before exams, and we want to release solutions more quickly so that you can study from them!)
- Each late day is an extension of 24 hours. Late days round up, so if you are 30 hours late, that is two late days.
- You are responsible for keeping track of your own late days.
- The point of late days is to give you flexibility to deal with extenuating circumstances (illness, travel, etc). Do not ask for an extension if you have extenuating circumstances; this is what late days are for.
- No credit will be given for homework turned in more than two/three days after the due date (three days for HW1,3,5,6; two for HW2,4,7, as above). No credit will be given for late homework after all late days have been used.
- If you join the class late, you will receive a zero on any missed homework assignments. (Except HW0, which you can complete at any time).
- Please do not miss the exams! If you know you cannot take one of the exams, you should not take this class.
- We will not have scheduled alternate-time or make-up exams, and will not accommodate forecastable exam conflicts. In particular:
- If you are taking another class at the same time as this one, it is your responsibility to arrange with your other instructor that you can miss their class for our in-class exams; and that you can reschedule their final exam to take our final exam during the regularly scheduled time.
- We cannot accommodate pre-scheduled personal travel at the same time as one of the exams, even if it is for a very good reason.
- If you miss an exam, by default you will receive a zero on it.
- If you have an emergency (including illness) that means you have to miss an exam, please contact us at the course staff list and explain your circumstances. We can't promise to accommodate your emergency, but we will see what we can do. Please keep in mind that if you email us on exam day or the night before, the course staff will be busy with exam logistics and we may take a day or two to get back to you.
We hope that all course materials are bug-free. However, if you find an error in course materials (slides, iPython notebooks, or PSETs), point it out to us! (Post on Ed). The first finder of each error (that affects understanding) will get one bonus point. (See above for how bonus points will be applied).
"Errors that affect understanding" include pretty much anything other than little tpyos in wrds -- although we'd be grateful if you point those out too. For example, if there is incorrect arithmetic on a slide, or indexing errors in pseudocode, or a conceptual error (without a disclaimer), or if there's some piece of crucial information that's missing from a problem, those all count as errors that affect understanding. Please point these out to us! You'll help us, your classmates, and yourself (via bonus points). It's a win-win-win situation!
- A valid regrade request is one where a grader may have missed something in your answer. For example "I was marked wrong, but my answer matches that in the solutions" or "the grader said my algorithm doesn't work on XXX example, but I implemented it and it does work on that example", or "the grader missed part of my work on a second page" are all valid regrade requests. "I disagree with the rubric" or "I feel like I deserve more partial credit" are not a valid regrade requests.
- If you submit a regrade request, we may regrade your entire assignment (whether or not you get points back). In particular, if you submit a regrade request, you are not guaranteed that your score will weakly increase.