Algorithms and programming
Teacher
ECTS:
3
Course Hours:
0
Tutorials Hours:
24
Language:
French
Examination Modality:
TP noté
Objective
This course presents the fundamentals of programming and introduces algorithms in a variety of fields such as graphs, numerical optimisation methods, sorting methods and dynamic programming. Each method is illustrated with a computer program in the Python language, the concepts of which are also introduced during the course. Each session is divided into two parts. The first part presents the Python language, while the second is devoted to studying an algorithm.
Planning
PYTHON LANGUAGE test work
- Data manipulation
- Loops, tests, functions
- Classes and object-oriented programming
- Exceptions
- Modules
- Graphical user interfaces
ALGORITHMS
- Sorting algorithms
- Queues, computer simulation
- Shortest path in a graph
- Shortest path linking all the nodes in a graph, Kohonen maps
- Edit distance, the distance between two sequences
- Numerical optimisation, BFGS and DFP algorithms
- Clustering using the k nearest neighbours (k-NN), optimising the search for the nearest neighbour
- Hidden Markov models and the expectation-maximisation (EM) algorithm
References
- Apprentissage de la programmation, Gérald Swinnen
- Précis de recherche opérationnelle, Robert Faure, Bernard Lemaire, Christophe Picouleau
- Problem Solving with Algorithms and Data Structures, Brad Miller, David Ranum