Teacher-curated, self-paced courses. Looking for a guided sequence through a full topic? See Learning Paths.
Real tools are made of the small ideas that you already know, put together with care. In this course you plan and build three tools: a contact book that uses a dictionary and try and except, a code cracker that counts letters and uses the shift of a Caesar code, and a marks report that uses the statistics module, sorting and binary search. Each project starts with a plan and a table of expected answers, keeps the thinking in small functions, and ends with ideas for you to extend. A lesson on a command menu joins tools into one program that reads commands, and a last lesson gives a method for planning your own project and shows what comes next. The practice tests your functions on many cases and tells you which ones fail.
A list finds items by position. A dictionary finds them by a name. If you want the phone number of Ravi, you would like to ask for Ravi, and not for position 7. In this course you make dictionaries of keys and values, add, change and remove pairs, look things up without errors, go through a dictionary with a loop, and count with it. You learn to put a dictionary inside a dictionary, to keep a list as a value, and to group items. A tiny shop with prices, stock and a basket is the project at the end. The practice runs your code on real data and tells you which results are wrong.