Learning Outcomes

Once you have taken the course, you master the key complexityclasses, their underlying models of computation, andrelationships.You are able to formalise and abstract from a given computationaltask relevant computational problems and argue that they belongto appropriate complexity classes.You understand the concept of reductions and how it can be usedto order problems by their computational complexity. You are ableto show using reductions that a problem is complete for a centralcomplexity class (such as NP) and you understand theimportance and implications of such a result.You are familiar with the concepts of randomised, approximation,and parallel computation and aware of related complexity classesand their relation to other complexity classes and their models ofcomputation.