Data Structures & Algorithms curriculum
A data structures and algorithms path from complexity and linear structures through trees, heaps, graphs, dynamic programming, and implementation audits.
Data Structures & Algorithms curriculum
A data structures and algorithms path from complexity and linear structures through trees, heaps, graphs, dynamic programming, and implementation audits.
- Choose data structures based on operations, invariants, and tradeoffs.
- Analyze algorithms with Big-O reasoning and edge-case tests.
- Implement classic structures and algorithms in a deterministic, testable style.
Unit sequence
Built for independent progress first, then tutor support where the student gets stuck.
- 01
Algorithm analysis and Big-O
- Estimate time and space complexity.
- Separate best, average, and worst cases.
Practice: Analyze three implementations of the same task and justify their asymptotic costs.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersComplexityWhat is the Big-O for scanning every item in a list of n items once?
Algorithm analysisWhich input should be checked when evaluating worst-case behavior?
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Algorithm analysis and Big-O"?
Practice artifactWhich practice artifact should you produce for "Algorithm analysis and Big-O" before asking a tutor for help?
- 02
Arrays, lists, and linked structures
- Compare contiguous arrays, dynamic arrays, and linked lists.
- Use invariants for insertion and deletion.
Practice: Implement a small list abstraction and test empty, one-item, and many-item cases.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersArraysIn a zero-indexed array, what is the index of the first item?
Linked listsA linked list is strongest when you need:
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Arrays, lists, and linked structures"?
Practice artifactWhich practice artifact should you produce for "Arrays, lists, and linked structures" before asking a tutor for help?
- 03
Stacks, queues, and deques
- Use LIFO and FIFO abstractions.
- Model call stacks, scheduling, buffering, and undo.
Practice: Build a balanced-symbol checker and a queue simulation.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersStacksA stack uses which access pattern: FIFO or LIFO?
QueuesA normal queue uses which access pattern?
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Stacks, queues, and deques"?
Practice artifactWhich practice artifact should you produce for "Stacks, queues, and deques" before asking a tutor for help?
- 04
Recursion and divide-and-conquer
- Write base cases and recursive cases deliberately.
- Trace recursion trees and combine steps.
Practice: Solve recursive search, tree, and divide-and-conquer problems with trace tables.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersRecursionEvery correct recursive algorithm needs a base case. Type the missing phrase: base ____.
Divide and conquerMerge sort splits the input, sorts parts, then:
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Recursion and divide-and-conquer"?
Practice artifactWhich practice artifact should you produce for "Recursion and divide-and-conquer" before asking a tutor for help?
- 05
Searching and sorting
- Implement linear search, binary search, selection, insertion, merge, and quicksort.
- Explain stability, in-place behavior, and comparison bounds.
Practice: Benchmark sorts on already-sorted, reverse-sorted, and random data.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersBinary searchBinary search on 64 sorted items needs at most how many halvings to reach one item?
SortingWhich sort has typical O(n log n) time and stable merge behavior?
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Searching and sorting"?
Practice artifactWhich practice artifact should you produce for "Searching and sorting" before asking a tutor for help?
- 06
Hash tables, maps, and sets
- Use hashing, collision handling, load factors, and resizing.
- Choose maps and sets for membership and counting tasks.
Practice: Implement a frequency table and explain collision behavior.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersHash tablesIf two keys map to the same bucket, that event is called a what?
SetsA set is best when the main operation is:
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Hash tables, maps, and sets"?
Practice artifactWhich practice artifact should you produce for "Hash tables, maps, and sets" before asking a tutor for help?
- 07
Trees, heaps, and priority queues
- Use binary trees, BSTs, traversals, heaps, and priority queues.
- Maintain ordering and heap invariants.
Practice: Implement traversal methods and a priority queue test suite.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersTreesIn a binary search tree, values less than a node usually go to which side?
HeapsA priority queue is commonly implemented with a:
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Trees, heaps, and priority queues"?
Practice artifactWhich practice artifact should you produce for "Trees, heaps, and priority queues" before asking a tutor for help?
- 08
Graphs and traversal
- Represent graphs with adjacency lists and matrices.
- Use BFS, DFS, shortest paths, and topological ordering.
Practice: Model a course-prerequisite graph and detect whether an ordering exists.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersGraphsIn an unweighted graph, BFS finds shortest paths by number of what?
TraversalDFS is naturally implemented using recursion or which structure?
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Graphs and traversal"?
Practice artifactWhich practice artifact should you produce for "Graphs and traversal" before asking a tutor for help?
- 09
Dynamic programming and greedy algorithms
- Identify overlapping subproblems and optimal substructure.
- Compare greedy choices with DP recurrences.
Practice: Solve coin change or knapsack with a recurrence table and edge cases.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersDynamic programmingDynamic programming stores solutions to overlapping subproblems in a table called a what?
OptimizationDP is appropriate when a problem has optimal substructure and:
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Dynamic programming and greedy algorithms"?
Practice artifactWhich practice artifact should you produce for "Dynamic programming and greedy algorithms" before asking a tutor for help?
- 10
Implementation capstone
- Design an algorithmic module with tests and complexity notes.
- Document preconditions, invariants, and failure cases.
Practice: Ship a small pathfinding, scheduler, search, or compression project with a correctness note.
Original practice checksAnswer in PeerTutor, then use the explanation or bring the miss to a tutor.
4 checked answersCapstoneA correct algorithm write-up should include complexity, proof idea, and what kind of cases?
Implementation auditWhich is strongest evidence that an algorithm is ready?
Unit readinessWhich target best matches the Data Structures & Algorithms unit "Implementation capstone"?
Practice artifactWhich practice artifact should you produce for "Implementation capstone" before asking a tutor for help?
Source library
These are source links, not scraped course copies. Licenses differ, so the label tells students how each source is used.
View the full citation indexData structures and algorithms materials with visualizations and interactive exercises.
Interactive Python textbook with active code, tracing, and chapter assessments.
Python-based computer science text adapted from CS 61A and SICP ideas.
Introductory Python course with lectures, notes, and problem sets.