Exam Logistics


Our final exam will be held on Saturday, June 7th from 3:30PM - 6:30PM in our (normal) room 370-370. If you are taking the exam at an alternate time, you should have already heard from us with details on time and location; ping us ASAP if this is not the case.

Topic Coverage

The final exam is cumulative over the course and all topics covered in lectures and the problem sets are fair game. The exam will focus more on topics from the units in the course covered in the problem sets (RMQ, succinct data structures, hashing and sketching, balanced trees, and amortization), but topics from later on (cuckoo hashing, IBLTs, filters, strings, and integers) may be covered on the exam.

Exam Format

The exam is a traditional pencil-and-paper exam and will not involve or require computers. It will be three hours long. It's closed-book, closed-computer, and limited-note. You can bring a single, double-sided, 8.5” × 11” sheet of notes with you when you take the exam. That note sheet can be handwritten, typed, etc. We encourage you to hand-write your notes sheet as it will help you prepare for the exam and refresh concepts.

Devices and Belongings Policy

No electronic devices may be used during the exam, except as required for OAE accommodations. Aside from a pencil and your notes sheet, all personal belongings (backpacks, bags, phones, smart watches, etc.) must be placed at the front of the exam room during the exam. You must request permission from the course staff to access your personal effects during the exam.

Frequently Asked Questions

We want to be transparent about our grading philosophy for exams and our exam policies. Here's a quick rundown of some of the frequently asked questions about CS103 exams.

  • Can I cite results from lecture or the problem sets? Yes, absolutely! You are more than welcome to cite results from lecture, the course notes, the course website, the readings, or the problem sets and state them without proof. Don't copy the proofs onto the exam – that takes up TA grading time (and eats up precious real estate on your notes sheet!) and doesn’t accomplish much. If you do use a result from elsewhere in the course, please mention where the result you are citing can be found. We're happy to let you use results we've covered as a starting point, as long as we know what result you're referring to.

  • Do you give partial credit? We do award partial credit on the exams for answers that are on the right track but contain errors. Because you're allowed to bring a note sheet with you to the exam, we generally do not award partial credit for answers that just consist of a lot of definitions of terms mentioned in the question. The best way to earn partial credit on the problem is to make a good effort to solve it, and to do so in a way that shows you understand the underlying methodology we’ve been teaching.

  • Can I write more than one answer to a problem? No, please do not do this. If you put down multiple answers to a question, we will grade whichever answer gives you the fewest number of points. This policy is in place to prevent “shotgunning” down multiple answers with the hope that one of them will work.

  • Do I need to write code, and, if so, will you grade for style? Coding questions are fair game for the exam. We will grade coding questions both for correctness and for style, so make sure to write beautiful code.

Practice Problems

We have provided you a practice final exam. This exam is the one that was given in Spring 2023. Solutions are available here.