Algorithmic thinking
Break down a problem into steps, use repetition and conditions, and determine whether an algorithm solves the problem for all possible inputs — not just one example.
Prerequisites
- ASequences and precise instructionsrequired
Everyday explanation
An algorithm is a systematic procedure: a sequence of steps that solves a type of problem, not just a single case. "Find the highest value in a dataset" must work regardless of what values are in the data.
Two basic components make the procedure robust:
- Repetition — "perform this step for every item in the data".
- Conditions — "if the value is higher than the current maximum, update the reference value".
Intuition
Find the highest value in a list:
max = first value
for each value in the list:
if value > max:
max = value
return max
Mentally test the logic with the list [3, 9, 2]. Then with [−5, −1]. Then with an empty list — where the algorithm fails. Identifying such edge cases is a central part of developing robust algorithms.
Mastery means
- Write an algorithm with a loop and a condition
- Find a case where a given algorithm gives the wrong answer
Sign in to do the exercises and build your mastery up.
Sources
Leads to
Part of the goals (43)
- The mathematics behind the models
- Foundations of computer science
- The developer's toolbox
- The language of mathematics in AI texts
- AI for beginners
- Build an AI service that survives production
- Systems knowledge for AI engineers
- Build a RAG system you can trust
- From blocks to Python
- Run models more cheaply: quantisation
- Understand how generative AI works
- Classical machine learning in practice
- Training neural networks for real
- Build an NLP system end to end
- Statistics for experiments
- Builder — collect data, train a model and test AI critically
- AI, ethics and society
- Language models in practice
- Data: collect, clean, document
- An AI service in operation
- Computers that see and hear
- Classical ML for real
- Build a transformer from scratch
- Seeing and hearing with AI
- Image classification with convolutional networks
- Multimodal systems
- Frontier Lab — an independent research project
- AI safety in practice
- Fine-tune a model with LoRA
- AI in production
- Generative models in depth
- Evals in practice
- Train an agent with reward
- Build a voice interface
- Interpreting a language model
- Responsible AI in practice
- Train your first neural network
- Discoverer — build a game and train a machine
- Build an agent you can trust
- Build a memory system for an agent
- Deep reinforcement learning
- Fine-tune and run your own models
- Reproduce a paper