Mastery of Discrete Mathematics is recommended prior to self-study for this exam.
This exam assesses undergraduate (honors-level) mastery of core algorithms and data structures, with emphasis on formal correctness reasoning and runtime analysis. Solutions are expected in clear English and pseudocode; no programming-language specifics are required.
The exam is closed-book and does not provide definitions of core concepts or standard algorithms. Candidates should be able to state definitions precisely.
The scope described here is subject to refinement.
Candidates are expected to be able to implement and analyze the core operations for each data structure—insert, delete, search, min, max, and enumeration/traversal—and may be asked to write correct pseudocode for these operations on demand.
Candidates should understand average and worst-case runtime complexity, memory usage, stability, and the assumptions or constraints that distinguish these algorithms from one another.
The following topics are not covered in the exam. This section is provided to clarify boundaries and help candidates focus their preparation.
Randomization and complexity theory
Advanced computational models
Number-theoretic and cryptographic topics
Numerical and applied domains
Specialized data structures
Results are reported as Mastery, Proficiency, Partial, or Insufficient.
Results reflect absolute performance against defined criteria, not relative ranking among candidates.
These are recommended primary resources for preparation. The exam is governed by the published scope; these texts reflect the level and style expected.