FIT2014 - Theory of computation - 2018

6 points, SCA Band 2, 0.125 EFTSL

Undergraduate - Unit

Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.


Information Technology

Chief examiner(s)

Professor Graham Farr

Unit guides



  • Second semester 2018 (On-campus)


  • Second semester 2018 (On-campus)


One of FIT1045, FIT1048, FIT1051, FIT1053, ENG1003 or an equivalent introductory programming unit or (FIT1040 and FIT1029), and one of MAT1830, MTH1030, ENG1005 or equivalent.

Students are expected to have basic competence in computer programming.




Students who have not done one of the programming units specified are encouraged to consult the Chief Examiner regarding possible approval to enrol in this unit.


This unit introduces formal languages, models of computation, and computational complexity. It looks at what computers can and cannot compute. Topics include finite state automata, regular expressions, grammars, pushdown automata, computable functions, Turing machines, polynomial-time reductions, complexity classes P and NP, and NP-completeness. Skills at writing formal proofs will be developed.


At the completion of this unit, students should be able to:

  1. use propositional logic, predicates and quantifiers to represent and analyse problems in the theory of computation;
  2. construct Finite Automata, Nondeterministic Finite Automata, Context-Free Grammars, and Turing Machines to describe languages;
  3. convert Regular Expressions into Finite Automata and vice versa;
  4. find a Regular Grammar for a Regular Language;
  5. find a parse tree, leftmost derivation and rightmost derivation for a word in a Context Free Language;
  6. use Turing Machines to represent computable functions;
  7. demonstrate the limitations of the models of computation considered;
  8. show a language is not regular, or not context-free, or not decidable;
  9. show that a language is in P, or in NP, or NP-complete;
  10. write rigorous formal proofs, including proofs by construction, cases, contradiction and induction.


Examination (3 hours): 60%; In-semester assessment: 40%

Workload requirements

Minimum total expected workload equals 12 hours per week comprising:

  1. Contact hours for on-campus students:
    • Two 1-hour lectures
    • One 2-hour tutorial
  2. Additional requirements (all students):
    • A minimum of 8 hours of independent study per week for reading, working on exercises and assignment(s).

See also Unit timetable information

This unit applies to the following area(s) of study

Additional information on this unit is available from the faculty at: