Data Structures
Lists and dictionaries are not the only ways to organise data. Some jobs fit a pile of things, some a waiting line, some a chain of nodes, some a family tree, and some a map of connections. In this course you use a stack and a queue, build a linked list from nodes, write a binary search tree and walk through it in order, and store a graph as a dictionary of neighbours. You use breadth-first search to find the fewest steps between two places, and depth-first search to find everything that can be reached. A route finder on a small map is the project at the end. The practice runs your code on real cases and tells you which results are wrong.