In 2009, a group of Australian researchers, including several associated with the ANU, announced the comprehensive formal verification of an entire operating system micro kernel. It now provides guaranteed security in over a billion mobile devices. This was a world first at the time, and remains one of the outstanding success stories of its field. How was it done? By a team of computer scientists helped by logical reasoning software and deep understanding of the semantics of programming languages. The specialisation in Theoretical Computer Science gives you that kind of understanding and the knowledge to devise and apply such software. You will use the tools of logic and discrete mathematics to investigate the complexity of problems, the scope and limits of computation and the fundamental properties of algorithms. The focus of this specialisation is on the foundations of the entire discipline: the science and mathematics of computation itself.

## Learning Outcomes

Upon successful completion, students will have the knowledge and skills to:- Describe and explain key concepts of algorithm design, formal models of computation and complexity theory.
- Expertly apply techniques of logic, information theory and finite mathematics to the analysis of algorithms.
- Think critically and assimilate information from different disciplines in order to solve problems related to computer science.
- Evaluate and critically analyse scientific literature to extend their knowledge in the field.
- Communicate and present their knowledge of computer science clearly to diverse audiences.

## Relevant Degrees

## Requirements

This specialisation requires the completion of 24 units, of which:

12 units from completion of courses from the following list:

COMP2610 Information Theory

COMP2620 Logic

COMP3610 Principles of Programming Languages

COMP3630 Theory of Computation

MATH3343 Advanced Foundations of Mathematics

12 units from completion of the following courses:

COMP4600 Advanced Algorithms

COMP4630 Overview of Logic and Computation