2022-2023
- "Mathematics for Computer Science", Master International. ([MoSIG]).
- Remediation [Test] [correction part 1] [correction part 2] [correction part 3] [Fundamentals in proba]
- Week 0 - Preliminaries (methodology) [Overview of proof techniques] [Example: multiple proofs for triangular numbers]
- Week 1 - Various ways for solving a problem [Sum of squares and Tetrahedral numbers] [Lab class: sum of cubes]
- Week 2 - Recurrences [Slides recurrences] [Josephus number]
- Week 3 to 5 - Basic of combinatorics [Binomial coefficients and related topics] [Exercises]
- Week 6 - Random simulation [Discrete Random Simulation] [Exercises]
- HomeWork: strict deadline friday 18 nov. midnight [Rules and subject]
- Week 7 - Progressions [More on Fibonacci and Stern] [Exercises]
- Week 8 - Divisibilty and primes [slides]
- Week 9 - Discrete structures [Part1. Basics] [Part2. Structured graphs] [Lab class: counting triangles] SlidesGraphsBasics
- Week 10 - Graph Theory [coloring problems]
- "Algorithmique avancee", ENSIMAG 2A, alternants.
- Sequence 1. Rappels de Maths pour l'analyse d'algorithmes (asymptotique et sommations) [Le Token Game]
- Sequence 2. Divide and Conquer [Logarithmes] [Master Theorem] [Exercices: Karatsuba]
- Sequence 3. Element majoritaire et Algorithmes brute-force [Element majoritaire]
- Sequence 4. Les B-tree, complexité, recherche et insersion [Btrees]
- Sequence 5. Parcours exhaustifs [Nombres nobles] [TP1 Plus grande sous-séquence commune]
- Sequence 6. Programmation dynamique [Introduction, principe et sac-à-dos]
- Travaux pratiques [Consignes] [TP2 Plus longue sous-séquence commune]
- Séquence 7. Heuristiques et algorithmes d'approximation et Synthèse [Sac à dos] [2 partition]
- Séquence 8. Branch-and-Bound [Principe et application au sac-à-dos]
- Travaux pratiques [Gestion d'un data centre] [Consignes]
- Séquence 9. Une introduction à la théorie de la complexité
2021-2022
- "Mathematics for Computer Science", Master International.
- Week 1: Proofs and summations.
- Week 2: Recurrences, counting.
- Week 3 and 4: Combinatorics and binomial coefficients.
- Week 5: probabilistic proofs.
- Week 6: linear recurrences, variants of Fibonacci numbers.
- Week 7: Divisibility and primes: generalities and 3 examples
- Home Work Strict deadline november 15, 23:59 pm [Subject]
- Week 8: Discrete structures
- Week 9: Graph Theory
- Week 10: Simulation
- Week 11: Markov chains
- Seminar on research methodology (M1Info et MOSIG1).
- Une introduction à l'éthique [Présentation générale] [Atelier]
- A gentle introduction to ethics in Science [slides]
- "Algorithmique avancee", ENSIMAG 2A, alternants.
- Semaine 1. Test et Rappels
- Semaine 2. Divide and Conquer
- mini-projet : allocation de jobs dans un data centre
- Semaine 3. Algorithmes brute-force et parcours exhausitifs
- Semaine 4. Heuristiques et algorithmes d'approximation
- Semaine 5. Programmation dynamique
- Semaine 6. Une introduction à la complexité
- Semaine 7. Synthèse
2020-2021
- "Fundamental Computer Science", MoSIG1-M1info (second semester).
- Week 1. Turing machines [Introduction] [Basics on Turing Machine] [Extensions] [Church-Turing thesis]
- Training [Lab. session]
- Week 2 Extensions and Non-determinism [Non deterministic TM] [The RAM model]
- Training [Lab. session]
- Week 3. Complexity classes and Reductions [Complexity Classes] [Reduction]
- Week 4. Introduction to Quantum Computing [Quantum Information Postulates] [Lab. session on Quantum]
- Week 5. Quantum Computing cont'd [Quantum circuits]
- Week 6. NP-completeness [Complexity] [Cook theorem] [Vertex Cover] [Variants of SAT] [Training]
- Week 7. More on NP-hardness [Pseudo-polynomial algorithms] [A first look at approximation]
- Week 8. Lambda Calculus [training without correction] [slides including corrections]
- Week 9. Lambda Calculus (cont'd) [slides including corrections] [Examples in Python]
- Week 10. Approximation schemes and related classes [Training with solution] [Solving BinPacking]
- Week 11. Interactive proofs [Slides]
- Focus points [Subjects]
- Seminar on research methodology.
- Part 1: Overview [Research structures and institutions] [How to write a scientific paper?]
- Part 2: Ethical aspects of research [Slides with case studies]
- "Mathematics for Computer Science", Master International.
- Week 1 and 2 Proofs and summations.
- Recurrences.
- Combinatorics and binomial coefficients.
- Week 3 and 4: Combinatorics
- Week 5: Bilinear recurrences
- Week 6: Divisibility and Primes
- Week 7: Computing with coins
- Discrete structures
- Week 8 Graph Theory
- Week 9: Coloring and paths
- Week 10: Simulation
- Week 11: Markov chains
- Archives examens [2008] [2009] [2010] [2011] [2012] [2013] [2014] [2015] [2016] [2017] [2018] [2019]
- "Algorithmique avancée", ENSIMAG 2A (36h), alternants.
2019-2020
- "Mathematics for Computer Science", Master International.
- "Fundamental Computer Science", MoSIG1 (second semester).
- Week 1. Turing machines and computational models [Slides Turing Machines (definition and variants)] [Lab. session (training)]
- Week 2 Non-deterministic TM and reductions [Slides Non deterministic TM] [Slides Sets P and NP and Reduction]
- Training: the RAM turing machine [Lab. session] [solution]
- Week 3 Introduction NP-complete problems [Slides NP-completeness]
- Week 4 Proofs of NP-completeness [Slides Vertex Cover] [Carpenter Meter]
- Week 5 More proofs of NP-completeness, pseudoplynomial [Slides SumSetSum]
- Week 6 Toward (good) approximations [Slides Approximation]
- Week 7 FPTAS and PTAS
- Week 8 mastering weak and strong NP-hard problems
- "Algorithmique avancee", ENSIMAG 2A, apprentis.
2018-2019
- "Mathematics for Computer Science", Master International.
- "Fundamental Computer Science", MoSIG1 (secund semester).
- "Algorithmique avancee", ENSIMAG 2A, apprentis.
2017-2018
- "Mathematics for Computer Science", Master International.
- "Algorithmique avancee", ENSIMAG 2A, apprentis.
2016-2017
- "Mathematics for Computer Science", Master International.
- "Algorithmique avancee", ENSIMAG 2A, apprentis.
2015-2016
- "Mathematics for Computer Science", Master International.
- Cours "Complexité, Approximation, Algorithmes probabilistes et Heuristiques" M2R.
- Bibliographie de référence [click here]
- Semaine 1. [Rappels de Calculabilité] [Complexité]
- Semaine 2. [Réductions] [Variations autour de SAT]
- [problèmes NP-complets] [Théorème de Cook]
- Semaines 3. Training: Vertex Cover, scheduling on m machines and other problems
- Semaines 4, 5 et 6. [Définitions des classes de complexité et d'approximation]
- Semaines 7, 8 et 9. (Meta-heuristiques)
- Semaines 10, 11 et 12. (Algorithmes probabilistes)
2014-2015
- Responsable du cours "Mathematics for Computer Science", Master International.
- Responsable du cours "Complexité, Approximation, Algorithmes probabilistes et Heuristiques" M2R.
2013-2014
- Responsable du cours "Mathematics for Computer Science", Master International.
- Responsable du cours "Complexité, Approximation, Algorithmes probabilistes et Heuristiques" M2R.
- Participation to "Algorithmique 2" ENSIMAG 1A.
2012-2013
- Responsable du cours "Mathematics for Computer Science", Master International.
- Responsable du cours "Complexité, Approximation, Algorithmes probabilistes et Heuristiques" M2R.
- Participation to "Algorithmique 2" ENSIMAG 1A.
2011-2012
- Responsable du cours "Mathematics for Computer Science", Master International
- Responsable du cours "Modèles de calcul, Complexité, Approximation et Heuristiques" M2R.
- Responsable du cours "Ordonnancement dans les systèmes informatiques et manufacturiers", level M2.
- Responsable du cours "Algorithmique avancée" ENSIMAG 2A-apprentissage.
2010-2011
- Responsable du cours "Mathematics for Computer Science", level M1
- Responsable du cours "Modèles de calcul, Complexité, Approximation et Heuristiques" M2R.
- Responsable du cours "Ordonnancement dans les systèmes informatiques et manufacturiers", level M2.
- Responsable du cours "Algorithmique avancée" ENSIMAG 2A-apprentissage.