Computability and Complexity


Recommended prerequisite for participation in the module

The module adds to knowledge obtained in Syntax and Semantics

Content, progress and pedagogy of the module

Learning objectives


Students should achieve knowledge on the following theories and methods:


  • deterministic and nondeterministic Turing machines; decidable and recognizable languages ​​and their properties: Church-Turing thesis
  • acceptance problem for Turing machines; other undecidable problems for Turing machines; reductions and their properties

Complexity theory:

  • time complexity of deterministic and nondeterministic Turing machines; time complexity classes, polynomial reductions and their uses; NP-completeness; satisfiability problem (SAT); other NP-complete problems
  • space complexity of deterministic and nondeterministic Turing machines; space complexity classes, the relationship between time and space complexity


  • the ability to explain course concepts precisely using the terminology and notations of the discipline for important achievements in the theory of computability and computational complexity, and how and to what extent these results can be used to classify computational problems
  • the ability to make use of the necessary writing skills in these contexts


  • be able to apply concepts and techniques from the theory of computability and computational complexity for the analysis of computational problems

Type of instruction

See the general description of the types of instruction described in § 17.

Extent and expected workload

It is expected that the student uses 30 hours per ECTS, which for this activity means 150 hours



Name of examComputability and Complexity
Type of exam
Written or oral exam
Assessment7-point grading scale
Type of gradingExternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Additional information

Contact: The Study board for Computer Science at or 9940 8854

Facts about the module

Danish titleBeregnelighed og kompleksitet
Module codeDSNCSITK223
Module typeCourse
Duration1 semester
Language of instructionEnglish
Empty-place SchemeYes
Location of the lectureCampus Aalborg
Responsible for the module


Education ownerMaster of Science (MSc) in Computer Science (IT)
Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyThe Technical Faculty of IT and Design