This unit focuses on the algorithm design process. Students develop the knowledge and skills to identify the resources that an algorithm needs to function effectively. In Area of Study 1 students investigate the correctness
and efficiency of algorithms and apply these to the formal analysis of a naïve algorithm for a given problem.
In Area of Study 2 students encounter a variety of more sophisticated algorithm design patterns, and apply their knowledge of these to construct an improved solution for the problem posed in Area of Study 1. In Area of Study 3 students
learn about the hard limits to computability, and that there are computational problems which cannot be solved using any kind of computational machinery.
Area of Study 1: Formal algorithm analysis
Area of Study 2: Advanced algorithm design
Area of Study 3: Universality of computation and algorithms