Computing
These notes connect the way data is stored with the algorithms and programs that operate on it. Start with a concrete task below; use the subject overviews when you want a wider view.
Understand performance
Read time complexity to describe how work grows with input size. Then try binary search, where the loop invariant explains both correctness and stopping. Browse Algorithms for other search, sorting, and design techniques.
Choose a data structure
Start with arrays for indexed access and resizing, then compare linked lists for traversal and local insertion. The Data Structures overview also compares stacks and queues when access order is the main constraint.
Write and test Python
- New to the language? Basic syntax and the object model explains names, values, and imports. Follow it with functions for parameters, return values, and mutable defaults.
- Working with files? Reading and writing files covers text and binary modes, resource lifetimes, and safer writes.
- Checking behavior? Unit tests introduces assertions, fixtures, and test doubles with pytest and unittest.
For broader context, Fundamentals outlines representation, execution, resources, and reliability; Programming Languages helps you continue through Python or find the R notes.
Environments and tools
Tools & Workflows covers development environments, Git, notebooks, terminal work, servers, and media utilities. For tools built around AI agents, start with AI tools.