Metadata
Title
Programs and Courses
Category
courses
UUID
217894554d424356a86efda36042fd97
Source URL
https://programsandcourses.anu.edu.au/specialisation/THCS-SPEC
Parent URL
https://programsandcourses.anu.edu.au/program/AACOM
Crawl Time
2026-03-11T02:26:31+00:00
Rendered Raw Markdown
# Programs and Courses

**Source**: https://programsandcourses.anu.edu.au/specialisation/THCS-SPEC
**Parent**: https://programsandcourses.anu.edu.au/program/AACOM

- Total units
  24 Units

- Areas of interest
  Mathematics, Software Engineering, Advanced Computing, Computational Foundations
- Specialisation code
  THCS-SPEC

- Academic career
  Undergraduate
- Academic Contact
  [AsPr Alwen Tiu](mailto:u4301469@anu.edu.au)

[Tweet](https://twitter.com/share)

var encodedUri = encodeURIComponent(location.href);

[Share on Facebook](#)

[Wattle Share](https://wattle.anu.edu.au/)

[Canvas](https://canvas.anu.edu.au)

Theoretical Computer Science Specialisation

- [Introduction](#introduction)
- [Learning Outcomes](#learning-outcomes)
- [Other Information](#other-information)
- [Requirements](#requirements)
- [Relevant Degrees](#relevant-degrees)

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? A team of computer scientists helped with 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.

Graduates will be prepared for a range of research roles to drive research and innovation in computational foundations in fundamental areas of computing such as programming language design and implementation, software verification and security.

## Learning Outcomes

1. Describe and explain key concepts of algorithm design, formal models of computation and complexity theory
2. Expertly apply techniques of logic, information theory and finite mathematics to the analysis of algorithms
3. Think critically and assimilate information from different disciplines in order to solve problems related to computer science
4. Evaluate and critically analyse scientific literature to extend their knowledge in the field
5. Communicate and present their knowledge of computer science clearly to diverse audiences

## Other Information

To enrol in [MATH4343](https://programsandcourses.anu.edu.au/2026/course/MATH4343) students will need to apply to the course convener for a permission code.

[COMP4011](https://programsandcourses.anu.edu.au/2026/course/COMP4011) Advanced Topics in Formal Methods and Programming Languages is a special topics course and the particular topics taught under this code will vary. The topic to be covered in each instance of the course will be advertised on the School of Computing website.

## Relevant Degrees

- [Bachelor of Advanced Computing (Honours) (AACOM)](https://programsandcourses.anu.edu.au/program/AACOM)
- [Bachelor of Advanced Computing (Research and Development) (Honours) (AACRD)](https://programsandcourses.anu.edu.au/program/AACRD)

[Back to the top](#top)

## Requirements

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

A minimum of 12 units must come from the completion of 4000-level courses.

\

A minimum of 12 units from completion of the following courses:

[COMP4011](https://programsandcourses.anu.edu.au/2026/course/COMP4011) Advanced Topics in Formal Methods and Programming Languages

[COMP4600](https://programsandcourses.anu.edu.au/2026/course/COMP4600) Advanced Algorithms

[MATH4343](https://programsandcourses.anu.edu.au/2026/course/MATH4343) Foundations of Mathematics

\

A maximum of 12 units from completion of courses from the following list:

[COMP2620](https://programsandcourses.anu.edu.au/2026/course/COMP2620) Logic

[COMP3610](https://programsandcourses.anu.edu.au/2026/course/COMP3610) Principles of Programming Languages

[COMP3630](https://programsandcourses.anu.edu.au/2026/course/COMP3630) Theory of Computation

[COMP4712](https://programsandcourses.anu.edu.au/2026/course/COMP4712) Compiler Construction

\

\

This specialisation is only available to students studying Bachelor of Advanced Computing (AACOM) and Bachelor of Advanced Computing Research & Development (AACRD).

\

\

[Back to the top](#top)