Algorithms I - What is an Algorithm? (8:16 mins, .mov file)
Why are they important? Examples: recipes, musical scores, assembly instructions, computer programs.
Algorithms II - The Components of a Complex Algorithm. (13:20 mins, .mov file)
What are they? How are they used?
Algorithms III - Devising Algorithms. (14:20 mins, .mov file)
How do we apply steps to problem solving to assist us to devise algorithms? Example: Fake Coin problem
Invariants in problem solving. (7:20 mins, .mov file)
How do we apply invariants to problem solving? Example: Chocolate Cutting problem
Binary Search (11:25 mins, .mov file)
How does it work?
Recursion I - What is Recursion? (15 mins, .m4v file) [YouTube version, local version]
How does it work? Examples: recursive sub-division, factorial.
Recursion II - Recursive tree search (15 mins, .m4v file)
How do we recursively search a tree using depth first search?
The Halting Problem (10:40 mins, .mov file)
What is it? Can we solve it?
What is a tree? What is a graph? (6:25 mins, .mov file)
How are trees and graphs related?
How can we use trees and graphs to represent mazes? (7:05 mins, .mov file)
An application of graphs and mazes to computer games.
Why sort? (18:34 mins, .mov file)
An introduction to sorting, searching and binary search trees.
Merge sort (11:09 mins, .mov file)
How does Merge sorting work? What is the algorithm?
Heaps (11:43 mins, .mov file)
What is a heap? How do we insert nodes into it and remove nodes from it?
Abstraction (18:20 mins, .mov file)
What is abstraction? How does it relate to generalisation? Can we use it to help us solve the boat problem?
Brute Force (11:34 mins, .mov file)
What is brute force? Can we use it to help us solve the boat problem and the travelling salesman problem?
Decomposition (14:49 mins, .mov file)
What is decomposition? Can we use it to help us solve the boat problem?
Symmetry (7:39 mins, .mov file)
What is symmetry? How can we use it to help us solve problems?
Edit distance (23:30 mins, .mov file)
What is it? How can we calculate it?
The Turing Machine (16:12 mins, .mov file)
What is it? How does it work?
Running Time (13:26 mins, .mov file)
What is it? What is an algorithm's Time Complexity?
Big O Notation (10:35 mins, .mov file)
What is it? How is it used to represent Time Complexity?