Calculability, Logic and Complexity

linfo1123  2021-2022  Louvain-la-Neuve

Calculability, Logic and Complexity
5.00 credits
30.0 h + 30.0 h
This course assumes that the student acquired programming skills,
algorithmic and programming language targeted in course LEPL1402 and discrete mathematics as seen in courses LINFO1114 or LEPL1108

The prerequisite(s) for this Teaching Unit (Unité d’enseignement – UE) for the programmes/courses that offer this Teaching Unit are specified at the end of this sheet.
Main themes
  • Theory of computability: problems and algorithms, computable and non-computable functions, reduction, undecidable problem classes (Rice's theorem), fixed point theorem, Church-Turing thesis
  • Logic: logic of propositions and logic of predicates (syntax, semantics, proof, quantifiers, model checking, resolution)
  • Computability Models: Turing Machine
  • Theory of complexity: complexity classes, NP-completeness, Cook's theorem, NP-complete problem solving.
Learning outcomes

At the end of this learning unit, the student is able to :

Given the learning outcomes of the "Bachelor in Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
  • AA1.1, AA1.2
  • AA2.4
Given the learning outcomes of the "Bachelor in Computer science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
  • S1.I3, S1.G1
  • S2.2
Students who have successfully completed this course will be able to
  • recognize, explain and identify the limitations of information processing by a computer;
  • explain and make good use of the main computability models by explaining their bases, differences and similarities;
  • convert current language assertions into logical expressions using the syntax and semantics of the logic of propositions or predicates
  • recognize, identify and apprehend non-calculable problems as well as intrinsically complex problems.
Students will have developed methodological and operational skills. In particular, they will have developed their capacity to
  • take a critical look at the performance and capacity of computer systems
  • Introduction
  • Enumerable sets
  • Computability: fondamenbtal results
  • Models of computability
  • Propositional logic
  • Introduction to algorithmic complexity
  • Complexity classes
Teaching methods
This course can be given in a variety of face-to-face and distance modalities.  These may include lectures, readings, preparations, exercises, as well as individual or group work.
Evaluation methods
Different modes of evaluation can be organized: continuous assessment, graded work, participation, exam.  The exam will be written, but in case of doubt on the part of the teacher as to the grade to be given to a student, the student may be questioned orally.  Depending on the number of studentrs, the September exam can be an oral exam.
Faculty or entity

Programmes / formations proposant cette unité d'enseignement (UE)

Title of the programme
Learning outcomes
Bachelor in Computer Science

Bachelor in Mathematics

Additionnal module in Mathematics

Specialization track in Computer Science