Grading | Sections | Section Quizzes | Knowledge Checks | Ed Discussions | Homework | Generative AI Policy
Grading
Your grade will based on weekly homework, knowledge checks, section quizzes, two prelims, and one final exam. These components will be weighted as follows:
CS 4820
- Homework: 10%
- Knowledge checks: 10%
- Section quizzes: 10%
- Exams: 70%
- Prelim 1: 20%
- Prelim 2: 20%
- Final exam (cumulative): 30%
- Course Evaluation: 1% Extra Credit
CS 5820
- Homework: 10%
- Knowledge checks: 8%
- Section quizzes: 8%
- Project: 10%
- Exams: 64%
- Prelim 1: 18%
- Prelim 2: 18%
- Final exam (cumulative): 28%
- Course Evaluation: 1% Extra Credit
The lowest knowledge check score, the lowest homework score, and the two lowest quiz scores will be dropped. Passing 4820/5820: If the score computed above exceeds 45%, you are guaranteed a passing grade.
B- or better in 4820/5820: If the score computed above exceeds 75%, you are guaranteed a B-.
A- or better in 4820/5820: If the score computed above exceeds 85%, you are guaranteed a A-.
Sections, Section Quizzes, and Knowledge Checks
The sections will begin with brief ten-minute quizzes, each covering topics from the past week's lectures and homework. Students should bring their own writing implements to sections to answer the quiz questions. In addition, during each session, several students will be invited to participate in a knowledge check. A knowledge check is a conversation with the TAs covering topics from several of the most recent homework assignments whose solution set has been released.
Ed Discussions
We will be using Ed Discussions as an online discussion forum. Ed Discussions allows for open discussions of all course-related questions. You are encouraged to post any questions you might have about the course material. The course staff monitor Ed Discussions closely and you will usually get a quick response. If you know the answer to a question, you are encouraged to post it. Posting questions or answers that are endorsed by TAs or instructors can improve your participation grade.
By default, your posts are visible to the course staff and other students, and you should prefer this mode so that others can benefit from your question and the answer. However, you can post privately so that only the course staff can see your question, and you should do so if your post might reveal information about a solution to a homework problem. You can also post anonymously if you wish. If you post privately, we reserve the right to make your question public if we think the class will benefit.
Ed Discussions is the most effective way to communicate with course staff. Please avoid email if Ed Discussions will do. Ideally, email to the instructors should be reserved for sensitive communications. Broadcast messages from the course staff to students will be sent using Ed Discussions and all course announcements will be posted there and pinned, so check the pinned announcements often!
Homework
Homework is an important part of the course. We will have weekly homework assignments. All homework assignments (and solutions) will be posted on Ed. In general, homework assignments will be due on Monday at 11:59pm.
Late Submissions
We encourage on-time submission of homeworks, in order to stay on top of the course material. That said, we understand that this ideal is not always possible. Every homework can be submitted as late as Wednesday at 11:59pm with no penalty. Additional late days will not be given, except in extraordinary circumstances, or in line with an SDS accommodation.Typesetting
We require problem sets to be typeset and submitted as a PDF. This requirement is for everyone's benefit. In general, we recommend that you first develop your solutions in draft form, and then write or type your solution in a concise way. Typesetting not only makes the last step essential (instead of handing in solution in draft form), it also makes it much easier for you to edit and improve your writeup, as well as easier for your TAs to read your proofs. It is up to you which tool you use. We recommend LaTeX, as it is the de facto typesetting standard used in Computer Science and other mathematical/scientific disciplines. That said, tools like the Equation Editor in Microsoft Word can be surprisingly effective as an alternative. See typesetting resources for a list of typesetting software and references.
For some proofs or writeups, it may be helpful to use a figure to explain your thinking more concisely. This is encouraged! Again, it is up to you how you want to include that in your writeup, whether it is a picture of a drawing in your notebook that you took with your phone or something you made digitally, as long as the figure was produced by you personally and is clear enough to see, it's a great idea to include it.
Collaboration
In the real world of algorithms research, collaboration and conversation is an important part of how ideas get generated. So too in this course; we encourage you to collaborate with your peers in the course to brainstorm ideas for how to get through homework. You may talk with any students about the problems, but you must limit the set of significant collaborators (i.e. collaborations that go beyond high-level ideas, involving writing or drawing diagrams together) to at most two other students. While you may collaborate to solve the problems, your solutions must be written up completely on your own. You are not allowed to share digital/written notes or images of your work in any form with each other (including your significant collaborators). This includes problems that involve writing a piece of code: the code you submit must be your own, not copied from your homework partner. Just like in research, your work must also include acknowledgements of all with whom students who you collaborated. Both the physical or digital distribution of information about solutions and the failure to acknowledge collaborators are serious violations of academic integrity.
Admissible Resources
When completing homework, we discourage the use of external sources, including but not limited to overreliance on Generative AI. Do not solicit help from people outside of the class (beyond classmates and course staff). Do not submit solutions that you do not understand: you should be able to explain your solution, in your own words (without referencing your write-up). If you choose to consult sources beyond the course material and textbook, either written or GenAI, you must list each of these sources in your submission.
Note: Exams will be closed book, closed internet, closed generative AI. As such, the staff recommends you use these tools sparingly, as a resource for learning, not as an integral part of solving homeworks.
Generative AI Policy
You may use AI systems — including generative tools, coding assistants, and agents — for all take-home work in this course, i.e. the homework and the CS 5820 project. You may decide when and how to use them without requesting permission, and course activities and assessments are designed with that availability in mind. AI use is optional. You remain responsible for understanding the work you submit and for its correctness and provenance. You should review AI-generated contributions carefully for correctness and for your own understanding, and you should be prepared to explain, evaluate, and modify any part of the submission. You may not upload copyrighted or proprietary class materials (such as problem set files) to AI systems.
You must acknowledge use of generative AI in your homework solutions. Here are some examples:
- ChatGPT 5.6 was used for brainstorming. Some ideas in the solution came from GPT, some from me and my homework partners. All of the words in this solution were written by me.
- I solved the problem myself and wrote an initial draft describing my solution. Claude Opus 5 verified the solution and typeset it for me.
- Gemini 3.2 wrote the entire solution. I checked Gemini's response for correctness and copied it here.
- I generated some initial ideas for solving the problem, but couldn't make much headway. I prompted ChatGPT 5.6 with my ideas, and it completed the solution which is presented here.
We are also planning to investigate the relationship between AI usage on homework and learning outcomes in the course, as evidenced by grades on the supervised evaluations such as prelims and final. We will share our analysis with you, in an anonymized and privacy-preserving manner, at the end of the semester. In order for the analysis to be meaningful, we depend on your sincerity in disclosing AI usage.
This policy reflects the learning goals and assessment design of this course rather than a judgment that AI should always be used in computer science. Other courses may appropriately prohibit the use of AI.
Advice for Success
Algorithms assignments can often require creative insights and complex proofs beyond what previous courses have required. Here are a few tips for succeeding in this course:- Start your assignments early. Even if you aren't writing anything down yet, looking over the problem set well in advance of the due date can ensure you have enough time to brainstorm possible solutions and to clear up confusion about how to interpret a problem. Creativity doesn't work well on a deadline.
- Talk with classmates at a similar level about ideas. As previously stated, while you cannot share physical or digital solutions of any kind to these problems, we actively encourage you to talk to classmates while you work through them. In particular, we recommend finding a group of students to meet with throughout the semester in advance of the deadline to talk about ideas. For best results, make sure those students are at the same level of understanding of the material as you; talking through your ideas with colleagues with a similar level of understanding will make talking through ideas with each other easier and more equitable, and is more likely to leave you prepared for course exams.
- Ask questions in class, in office hours, and on Ed Discussions. The material in this class moves quickly and is often cumulative. If you find yourself scratching your head after a lecture, even after consulting the textbook and course notes, you're certainly not alone, and it's better to seek help then than to wait until you are more confused.
- Use LLMs to fortify your own ideas, not to substitute for them. Mastering the art of designing and analyzing algorithms takes practice and struggle. Like training for a sporting event, there are no shortcuts. If you delegate the hard work to AI, the consequence is that you will have a shallower understanding of the subject.