Due to the COVID19 crisis, the information below is subject to change,
in particular that concerning the teaching mode (presential, distance or in a comodal or hybrid format).
Teacher(s)
Language
French
Prerequisites
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.
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 noncomputable functions, reduction, undecidable problem classes (Rice's theorem), fixed point theorem, ChurchTuring 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, NPcompleteness, Cook's theorem, NPcomplete problem solving.
Aims
At the end of this learning unit, the student is able to :  
1 
Given the learning outcomes of the "Bachelor in Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:
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:

The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled “Programmes/courses offering this Teaching Unit”.
Content
 Introduction
 Concepts : enumerable sets
 Computability: fondamenbtal results
 Models of computability
 Analysis of ChurchTuring thesis
 Introduction to algorithmic complexity
 Complexity classes
Teaching methods
Due to the COVID19 crisis, the information in this section is particularly likely to change.
This course can be given in a variety of facetoface and distance modalities. These may include lectures, readings, preparations, exercises, as well as individual or group work.
Evaluation methods
Due to the COVID19 crisis, the information in this section is particularly likely to change.
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.
Faculty or entity
Programmes / formations proposant cette unité d'enseignement (UE)
Title of the programme
Sigle
Credits
Prerequisites
Aims
Master [120] in Computer Science
Master [60] in Computer Science
Additionnal module in Mathematics
Specialization track in Computer Science