Design and Analysis of Algorithms

Grading

Grades will be weighted as follows:
30% Homework Assignments
5% Classroom and Lab participation
30% Tests
35% 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 Wednesday 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 3-4 low-stakes tests this semester; they will come out approximately every 4 weeks.

Homework Policy

Written homework will typically go out Thursday afternoon and be due the next Wednesday evening. We should have around ten 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 4 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

Students must strictly adhere to the following policy, which applies to all exams taken in a Computer Science course at Swarthmore:

Exam takers must place all non-essential items at the front of the room (or other designated area). Unless otherwise permitted, students may not have any electronic devices or course materials in their possession during the entirety of the exam. This includes cell phones, tablets, laptops, smart watches, course notes, articles and books, among others. These items should be placed at the front of the room near the proctor. If you need to leave the room during the exam, you must obtain permission from an instructor first. Any non-permitted discussion or aide in regards to exam material will result in immediate forfeiture of the exam and a report to the College Judiciary Committee. Please discuss any concerns or accommodations with your instructor prior to starting the exam.