Free module
Algorithms and complexity
Learn algorithms and complexity hands on: count steps, search, sort, write recursion, memoise answers and find paths in graphs.
The lessons
Each lesson is free to read in full. Create a free account to run its commands in a live lab and to sit its quizzes and tasks.
1 · Virtual machine lab
Time complexity and counting steps
I can count the steps of an algorithm and say how the count grows.
Read the lesson2 · Virtual machine lab
Linear search and binary search
I can compare linear search and binary search by the steps they take.
Read the lesson3 · Virtual machine lab
Insertion, selection and merge sort
I can trace insertion sort, selection sort and merge sort and compare what they cost.
Read the lesson4 · Virtual machine lab
Recursion and the call stack
I can write a recursive function with a base case.
Read the lesson5 · Virtual machine lab
Memoisation and dynamic programming
I can speed up a slow recursion by remembering answers.
Read the lesson6 · Virtual machine lab
Breadth-first search in graphs
I can find a path with breadth-first search.
Read the lesson
Worked in a real lab
Every lesson of this module is worked in a lab started for you alone. The labs it uses:
Teaching a class? Set this module for your students with a teacher guide, marked assignments and a lab for every student.