Theoretical Computer Science

Subject COMP30021 (2013)

Note: This is an archived Handbook entry from 2013.

Credit Points: 12.50
Level: 3 (Undergraduate)
Dates & Locations:

This subject is not offered in 2013.

Time Commitment: Contact Hours: 36 hours, comprising two 1-hour lectures one 1-hour tutorial per week
Total Time Commitment:

120 hours

Study Period Commencement:
Credit Points:
Not offered in 2013


One of the following

Study Period Commencement:
Credit Points:
Not offered in 2013
Not offered in 2013
Not offered in 2013


Recommended Background Knowledge:


Non Allowed Subjects:

433-330 Theory of Computation

Core Participation Requirements:

For the purposes of considering request for Reasonable Adjustments under the Disability Standards for Education (Cwth 2005), and Student Support and Engagement Policy, academic requirements for this subject are articulated in the Subject Overview, Learning Outcomes, Assessment and Generic Skills sections of this entry.

It is University policy to take all reasonable steps to minimise the impact of disability upon academic study, and reasonable adjustments will be made to enhance a student's participation in the University's programs. Students who feel their disability may impact on meeting the requirements of this subject are encouraged to discuss this matter with a Faculty Student Adviser and Student Equity and Disability Support:



Subject Overview:

At the heart of theoretical computer science are questions of both philosophical and practical importance. What does it mean for a problem to be solvable by computer? What are the limits of computability? Which types of problems can be solved efficiently? What are our options in the face of intractability? This subject covers such questions in the context of a wide-ranging exploration of the nexus between logic, complexity and algorithms, and examines many important, sometimes surprising, results about the nature of computing. It provides students with fundamental conceptual understanding that transcends specific computing technology.


On completion of this subject students should be able to:

  • Design, manipulate, and reason about formal computational models, such as automata and Turing machines.
  • Describe the limitations of different types of computing devices.
  • Identify relations between classes of computational problems, formal languages, and computational models.
  • Account for the inherent complexity of many computational problems of practical importance.
  • Conduct formal reasoning about machines, problems and algorithms, including reduction-based proof.

Two individual assignments involving mathematical proof and possibly some programming during semester (30%), due around Weeks 6 and 10, expected to take 36 hours (addressing all ILOs)

A 3-hour end-of-semester written examination (70%) (addressing all ILOs)

To pass the subject, students must obtain at least: 50% overall 15/30 in project work 35/70 in the written examination

Prescribed Texts:


Breadth Options:

This subject potentially can be taken as a breadth subject component for the following courses:

You should visit learn more about breadth subjects and read the breadth requirements for your degree, and should discuss your choice with your student adviser, before deciding on your subjects.

Fees Information: Subject EFTSL, Level, Discipline & Census Date
Generic Skills:

On completion of this subject students should have developed the following generic skills:

  • Analytical skills.
  • Reasoning and problem-solving skills.
  • Communication skills, in particular ability to communicate precise formal arguments and proofs.
  • Ability to apply knowledge of science and engineering fundamentals.
  • Capacity for creativity and innovation.
  • Ability to undertake problem identification, formulation and solution.
Related Course(s): Bachelor of Engineering (Software Engineering)
Bachelor of Engineering (Software Engineering)/Bachelor of Science
Master of Information Technology
Master of Information Technology
Related Majors/Minors/Specialisations: B-ENG Software Engineering stream
Computer Science
Computer Science
Computer Science
Computer Science
Master of Engineering (Software)
Science credit subjects* for pre-2008 BSc, BASc and combined degree science courses
Science-credited subjects - new generation B-SCI and B-ENG. Core selective subjects for B-BMED.
Software Systems

Download PDF version.