Skip to main content

Semester 2: Algorithms & Data Structures

Build algorithms you can explain, verify, compose and revise when requirements change. The six modules supply individual skills; the semester project tests whether their contracts fit together. Passing requires each competency, not an average that hides a missing invariant.

Entry and status​

Use the relevant Semester 1 prerequisite evidence, then each module's diagnostic to repair proof, discrete structures, probability or programming gaps. Start with the bridge review for concrete incoming skills.

The canonical readiness label remains Learner-ready as a structural classification. The revised modules and semester assessment are authored candidates, with local execution/build checks. Independent technical review, scoring agreement and learner pilots remain pending. Neither readiness nor content volume establishes a top-percentile outcome.

Modules and focused effort​

ModuleCore outcomeAuthor estimate
1: Analysis and designCost models, proofs, recurrences and algorithm choice45–65 hours
2: Sorting, searching and structuresStable order, boundaries, selection and mutable structures65–90 hours
3: Graph algorithmsGraph contracts, traversals, optimization and certificates85–120 hours
4: Dynamic programmingState sufficiency, witnesses and resource limits90–125 hours
5: Advanced structuresMutation invariants, amortization, ranges and history95–135 hours
6: Complexity and approximationReductions, hardness, certificates and bounded alternatives45–65 hours
Semester integration projectReuse module work in a coherent planner24–36 hours
Exam, grading and targeted repairIndependent synthesis with worked calibration8–12 hours
Cumulative review, defense and delayed transferEvidence audit, fresh adaptation and handoff8–12 hours

Module subtotal: 425–600 hours. Semester integration adds 40–60 hours, giving 465–660 focused hours, approximately 47–66 weeks at ten hours weekly or 24–33 weeks at twenty. These are estimates awaiting pilots. Remediation, full-book reading and optional depth can add time; retention delays are calendar time, not extra counted study hours. Reusing a module artifact does not require reimplementing it or counting the same work twice.

The former ten-week/Weeks 22–31 schedule is a legacy roadmap slot, not an adequate part-time allocation for this revised core. Plan from available hours and evidence.

Learning sequence​

  1. Work through Modules 1–5 in dependency order, interleaving earlier problems. Add Module 6 after Modules 1–3; its numeric-encoding example reuses Module 4. Module 5 is not its prerequisite.
  2. Preserve each module's required implementations, proof notes, assessment and delayed recheck. Follow its own competency scale and required core/depth distinction.
  3. Start the integration project after graph and DP work; add version isolation and resource analysis after Module 5. Reuse tested algorithms.
  4. Attempt cumulative review, then the exam independently. Open the worked key after preserving the attempt.
  5. Apply the rubric, complete the checkpoint, and record a fresh transfer after 7–14 days before semester sign-off.

Reading and supporting habits​

Use selective reading through each module's reading guide. The local Books, reading and Resources collections supply Skiena, CLRS, Competitive Programming and optional depth. Read a second source to resolve a stated question and produce a proof, counterexample or implementation decision. Full-book study has its own path.

Testing, version control and measurement remain active engineering tracks. Preserve reviewable changes and runnable setup; a commit quota, flashcard quota or timed memorization drill is not a substitute for a competency. Keep optional katas and research implementations optional. Record tools, collaborators and generated assistance.

Completion packet​

  • All six module gates satisfied under their own rubrics, with evidence paths.
  • Integration planner, correctness witnesses, independent checks and one fair comparison.
  • Exam attempt, scoring, repaired critical errors and fresh rechecks.
  • Adversarial and search-transfer evidence, included in the project.
  • Checkpoint decision, delayed transfer and Semester 3 handoff.

Use failure modes for targeted repair and portfolio guidance to prepare the durable artifact. Publishing is optional; independent inspection must be possible.

Integer arithmetic prerequisite​

Use the Semester 01 Integers and Modular Arithmetic gate before number-theoretic algorithm work. Carry forward Euclid invariants, repeated squaring and the cycle audit. A stride visiting every table slot does not establish uniform hashing; preserve that distinction when studying data structures. No additional full-book assignment is introduced by this link.

Computational limits and solver guarantees​

The new complexity and approximation module connects existing algorithm analysis to reduction proofs and bounded optimization. Complete CA1–CA6 and AC1–AC4 and reuse its solver-selection appendix in S6. Elementary discrete algorithms do not require the entire calculus/inference extension first; follow each target module’s specific dependencies. Full Semester 1 completion still requires its own gates.