Computability and Complexity


Prerequisite/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 course will also involve one or more advanced topics that can be e.g. other models of computation, other results on undecidability or results about further complexity classes.


  • 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

The teaching is organized according to the general teaching methods for the education, cf. chapter 3

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 codeDSNCSITK102
Module typeCourse
Duration1 semester
Language of instructionDanish and English
Empty-place SchemeYes
Location of the lectureCampus Aalborg
Responsible for the module


Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyTechnical Faculty of IT and Design