Build the foundation for AI engineering.
Master Data Structures and Algorithms through interactive, color-coded visual models. Strip away the mathematical intimidation and build an intuitive understanding — from Python basics to advanced trees and graphs.
Core pathing concepts
Essential traversal mechanics, color-coded for visual parsing.
Breadth-First Search
Expanding outward, layer by layer. The foundation for finding the shortest path in unweighted networks.
Depth-First Search
Diving deep into a branch until hitting a dead end, then tracking back. Crucial for topological sorting and cycle detection.
Dijkstra's Algorithm
Navigating weighted edges to find the absolute cheapest route. The engine behind GPS routing and network optimization.
Data Structures and Algorithms
A graduate-level treatment of the design, implementation, and analysis of data structures and algorithms in Python — from asymptotic analysis and the core ADTs to balanced search trees, sorting, graphs, and external-memory B-trees. Based on Goodrich, Tamassia & Goldwasser, Data Structures and Algorithms in Python (Wiley, 2013).
Tentative schedule
15 modules- 01Week 1 — Python Primer & Computational FoundationsOpen →
- Python Primer: Objects, control flow, functions, exceptions, iterators/generators, comprehensions, scopes, and modules.
- 02Week 2 — Object-Oriented Programming & DesignOpen →
- OO Design: OO design goals, special methods, operator overloading, inheritance, abstract base classes, name resolution, and deep copy.
- 03Week 3 — Algorithm AnalysisOpen →
- Analysis: Seven core functions, asymptotic (Big-Oh / Omega / Theta) notation, justification techniques, and loop invariants.
- 04Week 4 — RecursionOpen →
- Recursion: Linear, binary, and multiple recursion; analyzing recursive algorithms; tail-recursion elimination.
- 05Week 5 — Array-Based SequencesOpen →
- Sequences: Low-level and referential arrays, dynamic arrays, amortized analysis, and multidimensional data.
- 06Week 6 — Stacks, Queues & DequesOpen →
- Linear ADTs: Array-based stack/queue/deque implementations and applications: expression matching and schedulers.
- 07Week 7 — Linked ListsOpen →
- Linked Lists: Singly, circularly, and doubly linked lists; positional list ADT; link- vs array-based trade-offs.
- 08Week 8 — TreesOpen →
- Trees: General and binary trees, traversals (pre/in/post/BFS), Euler tours, and expression trees.
- 09Week 9 — Priority Queues & HeapsOpen →
- Heaps: Heap data structure, bottom-up construction, heap-sort, and adaptable priority queues.
- 10Week 10 — Maps, Hash Tables & Skip ListsOpen →
- Maps & Hashing: Hash functions, collision handling, rehashing, sorted maps, skip lists, sets/multisets.
- 11Week 11 — Search Trees IOpen →
- BST & AVL: Binary search trees, the balanced-tree framework, AVL trees and rotations.
- 12Week 12 — Search Trees IIOpen →
- Splay, (2,4), Red–Black: Splay trees, (2,4) multiway search trees, and red-black trees.
- 13Week 13 — Sorting & SelectionOpen →
- Sorting & Selection: Merge-sort, quick-sort, the sorting lower bound, bucket/radix-sort, and randomized selection.
- 14Week 14 — Text Processing & Graph AlgorithmsOpen →
- Text Processing: Pattern matching, tries, and dynamic-programming approaches to text problems.
- Graph Algorithms: Graph ADTs, traversals (BFS/DFS), shortest paths, and minimum spanning trees.
- 15Week 15 — Memory Management & B-TreesOpen →
- External Memory: The memory hierarchy, external-memory algorithms, B-trees, and course synthesis & review.
All submitted work must be entirely your own. Cheating earns a zero on the assignment plus a −10 penalty on the final grade. Sharing solutions — during or after the course — is not permitted.
Step-by-step algorithm guides
Walkthroughs of every data structure and algorithm — from arrays and linked lists to trees, graphs, and B-trees, with pseudocode, complexity analysis, and runnable Python.
Deep dives & case studies
Long-form articles on real-world applications: routing engines, social networks, dependency graphs, and competitive programming.
Code submission
Templates, structure guides and grading rubrics for writing clean code alongside working implementations.