Previous Lecture e02

e02, Mon 06/09

Final Exam Instructions and Study Tips

Final Exam Logistics

Tips for studying for the final exam

  1. Start with Leetcode Sets – Go in Reverse Order Begin with lp05 (graph search) and work your way back to lp01 (linked lists).

    • Try to solve each problem within ~20 minutes.

    • If a problem is tricky or taking too long (e.g., >1 hour), skip it for now and circle back later. Don’t get stuck in a time sink.

  2. After solving a few problems in each problem set, review lectures materials Go back to the slides, handouts, and code that relate to the topic you just practiced. You should again focus on solving the problems discussed in class and in handouts yourself, and refering to annotations only when you get stuck. Use the pre-lecture slides/handouts first for problem solving practice, post lecture annotated slides and code to check how I solved problem. Be curious about any differences in approach.

  3. Use recorded lecture videos strategically: If you need a refresher, review relevant sections of the recorded lectures on that topic. Ask questions on office hours or on Ed. I expect you have a thorough understanding of all material covered in lectures.

    • Focus especially on:

    • Conceptual underpinnings (e.g., why BFS works the way it does, why do BFS and DFS have linear running time complexity)

    • Common pitfalls and edge cases

    • Code patterns and key implementation details

  4. Use Your Labs and Projects Strategically Each lab/project reinforces real-world applications of core data structures and how to work with the C++ STL. Here’s what to do:

    Skim your submissions (labs and PAs) and remind yourself:

    • What problem you were solving?

    • Which data structures you used and why?

    • Any implementation issues you ran into

    Focus especially on:

    • lab02/lab03 for Linked Lists and BSTs

    • lab05 for Heaps

    • pa01 for applying BSTs in a game

    • pa02 and pa03 for applied, multi-structure problem-solving

    • lab04 and lab06 for complexity analysis

  5. Consolidate Key Concepts Make a quick personal reference sheet (or flashcards) for:

  1. Simulate Exam Conditions Time yourself doing a few past practice exams available on Canvas or sample exercises without any notes.

Aim for clean, bug-free code in one go.

Bonus: explain your thought process out loud (yes, even to an empty room—teaching is a powerful study tool).