Design and Analysis of Algorithms


Grades will be tentatively weighted as follows:
35% Homework Assignments
5% Classroom and Lab participation
30% Tests
30% Final Exam

Most labs will consist of in-lab exercises that will not be graded. My goal for lab exercises is to give you a opportunities to practice your algorithm design and analysis skills without the stress of a grade.

Homework assignments will come out roughly weekly and will be due Sunday night at 11:59pm. Many but not all homework assignments will be partnered; each assignment will specify if working with a partner is allowed.

I expect to give five low-stakes tests this semester; they will come out approximately every two weeks. Both tests and the final exam will be given online via Gradescope.

Homework Policy

Written homework will typically go out Monday afternoon and be due the next Sunday evening. We should have around nine homework assignments. The initial couple of homeworks will be individual assignments; after the first few weeks, you'll be able to work with a partner. You must write your solutions in LaTeX and submit .tex files using git. Resources for LaTex are here.

Extra Challenge Policy. In many of the homework assignments, there will be one or two extra challenge problems. These problems are completely optional -- do not feel obligated in any way to complete these problems. Extra credit will not be directly applied to your overall grade; at best, they will be used to make up some credit lost by not handing in assignments on time. Please contact me if you have questions about the extra credit policy.

Late Policy. Each student will be given 5 late days for the semester. This will encompass any reason---illness, interviews, paper deadlines, hackathons, etc. You can use at most two late days on any single assignment. For partnered assignments, both students need to have late days to use them. If only one partner has late days remaining, you cannot use late days for the assignment. Once you use up your late days, further late assignments will not be accepted except in very unusual extreme circumstances. Even if you do not fully complete a lab assignment you should submit what you have to receive partial credit.

You do not need to notify me ahead of time to use late day(s). Instead, just push your completed solution (.tex and any other relevant files) to github, and email me to inform me of the late submission.

Exam Policy

Both tests and the final exam will be online and open book. You may use any course materials (including code you've written, class notes, and the class website), as well as relevant online resources. You should not contact anyone else for help on this exam. Do not communicate with other students about this exam.

In an effort to make tests as low-stakes/low-stress as possible, your lowest test score will be dropped; your test average (worth 30% of your final grade) will be an average of your four highest test scores.