Milestone map
3 milestones
Implement Sorting Algorithms and Core Data Structures
8–14 weeks
Implement from scratch without standard library implementations: merge sort, quicksort (median-of-three pivot), heap sort, binary search tree (insert, delete, in-order traversal), and a hash table with chaining. Write a test harness with at least ten test cases per data structure, including edge cases.
Proof required
Submit: a public GitHub repository containing all five implementations with a test harness showing correctness on at least ten cases per data structure (including empty input, single-element, sorted, and reverse-sorted); a performance benchmark comparing merge sort, quicksort, and heap sort on 1,000 / 10,000 / 100,000 random integers; and a 150-word explanation of the performance results. A CS lecturer or senior engineer must confirm the implementations are correct.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
Implement Graph Algorithms and Dynamic Programming
8–14 weeks (after milestone 1)
Implement from scratch: BFS and DFS (with cycle detection), Dijkstra's shortest path, Bellman-Ford (with negative cycle detection), Prim's MST, and at least three dynamic programming solutions — one 1D DP (coin change or Fibonacci with memoisation), one 2D DP (longest common subsequence or edit distance), and one DP-on-graphs problem.
Proof required
Submit: a public GitHub repository containing all graph algorithms and DP solutions with a test harness covering at least eight cases per algorithm (including cycles, disconnected graphs, and negative edges where applicable); and a 200-word explanation of why Bellman-Ford is necessary when Dijkstra fails, with a concrete counterexample. A CS lecturer or senior engineer must confirm the implementations are correct.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
Present Portfolio and Solve a Novel Algorithmic Problem Live
2–4 weeks to prepare and schedule (after milestone 2)
Present your full algorithm implementation portfolio to a CS lecturer or senior engineer in a live technical review. The reviewer will pose a novel algorithmic problem not in your portfolio, and you must sketch a solution and analyse its complexity in real time.
Proof required
Submit: a recording or transcript of the live technical review with a CS lecturer or senior engineer; the portfolio repository as the basis for the review; and documentation of the novel problem posed, your on-the-spot solution sketch, and the reviewer's assessment.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.