Typing is no substitute for thinking.
This page is primarily aimed at my students, hence its content is mainly in French.
⚠ Attention, le matériel de cours proposé ici l'est pour l'instant uniquement à destination de mes étudiant·e·s qui souhaitent disposer de notes de cours. Sa qualité est fortement et négativement impactée par la nécessité de le préparer en flux tendu.
Méthodologie de la programmation
Premier semestre de L1 informatique.
Apprendre à (apprendre à) programmer : langages, paradigmes, outils, et notions importantes pour la programmation.
Séances
- Séance 0 : Présentation du cours ; Programmation impérative avec Python.
- Séance 1 (TP) : Terminal, shell, éditeur de texte ; Premiers pas avec Python.
- Séance 2 : Correction du TP de la séance 1 ; Révisions.
- Séance 3 : La programmation objet avec Python.
- Séance 4 : Les bibliothèques en Python ; Pygame ; Projets (fichiers).
- Séance 5 (TP) : MiniPaint avec Pygame (fichiers).
- Séance 6 : Correction du TP de la séance 5 ; Révisions.
- Séance 7 : Introduction à Git.
- Séance 8 : Introduction à LaTeX (fichiers).
- Séance 9 (TP) : Démarrage projet.
- Séance a : Un peu de logique.
- Séance b (TP) : Encadrement projet.
- Séance c : Un aperçu de la calculabilité.
- Séance d (TP) : Programmation sur machines de Turing (fichiers).
- Séance e : Correction du TP de la séance d ; Encadrement projets.
- Séance f : Aperçu du langage C : introduction.
- Séance g : Aperçu du langage C : mémoire, modules, compilation (fichiers).
- Séance h (TP) : Jeu de pendu en C (fichiers).
- Séance i : Correction du TP de la séance h ; Révisions.
- Séance j (TP) : Encadrement projets.
Projet
- Thème : petit jeu 2D avec Python et Pygame (choix du jeu libre, à valider avec moi).
- Date limite pour rendre le rapport intermédiaire : 13 novembre 2017.
- Date limite pour rendre le code et le rapport final : 22 décembre 2017.
Devoir surveillé
- 2017–2018 : jeudi 14 décembre 2017 à 13h en salle B104.
Réseaux : modèles, protocoles, programmation
Second semestre de L2 informatique.
Comprendre la transmission de données sur Internet : les modèles OSI et TCP/IP, les protocoles, et apprendre la programmation réseau.
Séances
- Séance 0 : Chargement d'une page web ; Présentation du cours (fichiers).
- Séance 1 : OSI ; Couche physique ; Couche liaison de données.
- Séance 2 : Couche réseau (fichiers).
- Séance 3 (TP) : Trace ta route ! (fichiers).
- Séance 4 : Correction du TP de la séance 3.
- Séance 5 : Couche transport (fichiers).
- Séance 6 : Couches session, présentation, et application ; Programmation TCP (fichiers).
- Séance 7 (TP) : ncat.
- Séance 8 : Correction du TP de la séance 7.
- Séance 9 : ncat en Python, Racket, et OCaml ; Encadrement projets (fichiers).
- Séance a : Programmation réseau (un peu plus) avancée (fichiers).
- Séance b (TP) : Jeu des allumettes (fichiers).
- Séance c : Correction du TP de la séance b ; Encadrement projets.
- Séance d (TP) : Encadrement projets.
- Séance e : Quelques outils réseau.
- Séance f (TP) : Encadrement projets.
Projet
- Créer un protocole client-serveur en groupe puis chacun·e l'implémente avec un langage différent.
- Date limite pour rendre le rapport de groupe : 2 mars 2018.
- Date limite pour rendre le code et le rapport final : 20 avril 2018.
Devoir surveillé
- 2017–2018 : lundi 16 avril à 11h en salle B133.
Langages : interprétation et compilation
Premier semestre de L3 informatique.
Comprendre jusqu'à être capable de construire l'outil fondamental de l'informatique.
Séances
- Séance 0 : Langages ? Interprétation ? Compilation ? ; Présentation du cours.
- Séance 1 : Analyse lexicale (fichiers).
- Séance 2 (TP) : Analyse lexicale.
- Séance 3 : Analyse syntaxique (fichiers).
- Séance 4 (TP) : Analyse syntaxique (fichiers).
- Séance 5 : Analyse sémantique (fichiers).
- Séance 6 : Corrections des TPs des séances 2 et 4 ; Révisions.
- Séance 7 : Écrivons ensemble un interpréteur (fichiers).
- Séance 8 (TP) : Démarrage projet.
- Séance 9 : Compilation vers le λ-calcul (fichiers).
- Séance a (TP) : Premiers pas en MIPS avec SPIM (fichiers).
- Séance b : MIPS et SPIM.
- Séance c (TP) : Encadrement projet.
- Séance d : Compilation de langages impératifs (fichiers).
- Séance e (TP) : Programmation MIPS (fichiers).
- Séance f : La mémoire (fichiers).
- Séance g : Corrections des TPs des séances a et e ; Encadrement projet.
- Séance h : Représentations intermédiaires (slides à venir…).
- Séance i : Révisions ; Encadrement projet.
- Séance j : Révisions ; Encadrement projet.
Projet
- Sujet : compilateur Python vers MIPS en Racket.
- Date limite pour rendre le rapport intermédiaire : 24 novembre 2017.
- Date limite pour rendre le code et le rapport final : 31 décembre 2017.
Devoir surveillé
- 2017–2018 : vendredi 15 décembre 2017 à 14h en salle J001.
Histoire de l'informatique
Premier semestre de L3 informatique.
L'histoire de l'informatique, sujet par sujet.
Séances
- Séance 0 : Introduction ; Présentation du cours.
- Séance 1 : Histoire du calcul.
- Séance 2 : Histoire des machines.
- Séance 3 : Histoire des systèmes.
- Séance 4 : Histoire des langages de programmation.
- Séance 5 : Histoire de la logique.
- Séance 6 : Histoire de la cryptologie.
- Séance 7 : Histoire du logiciel libre.
- Séance 8 : Une Contre Histoire des Internets.
- Séance 9 : Exposés.
- Séance a : Exposés.
- Séance b : Exposés.
Exposé
- Thème : libre, en rapport avec le cours.
- Durée : 10 à 15 minutes.
- Date de passage : voir avec moi par email, en même temps que la validation du thème.
Développement de logiciels libres
Second semestre de L3 informatique.
Apprendre à collaborer sur des projets libres déjà existants (outils et méthodologie) dans le but de s'impliquer jusqu'à une vraie contribution.
Séances
- Séance 0 : Contribuer à un projet libre.
- Séance 1 (TP) : Recherche de projets / constitution des groupes.
- Séance 2 : Gestion de versions avec Git.
- Séance 3 (TP) : Premiers pas avec Git ; Analyse des projets et choix des bugs.
- Séance 4 : Communiquer avec IRC.
- Séance 5 (TP) : Premiers pas avec IRC ; Suivi des projets.
- Séance 6 et 7 (TP) : Suivi des projets.
- Séance 8 : Gouvernance des projets libres.
- Séance 9 (TP) : Suivi des projets.
- Séance [a-j] (TP) : Suivi des projets.
Projet
- Date limite de constitution des groupes et choix du projet : 2 février 2018.
- Date limite de choix du bug et rendu d'analyse du projet : 9 février 2018.
- Soutenances : mercredi 18 avril 2018 à 13h en salle A162.
Sécurité et systèmes embarqués
Premier semestre de M1 informatique.
Les bases de la cryptologie et les problématiques de sécurité liées aux systèmes embarqués.
Séances
- Séance 0 : Présentation du cours ; Chiffrement par substitutions (fichiers).
- Séance 1 : La cryptographie symétrique (fichiers).
- Séance 2 : La cryptographie asymétrique.
- Séance 3 : La cryptanalyse (fichiers).
- Séance 4 (TP) : Cryptanalyse linéaire.
- Séance 5 : Les canaux auxiliaires ; Correction du TP de la séance 4.
- Séance 6 (TP) : Simple Power Analysis (fichiers).
- Séance 7 : Les injections de fautes ; Correction du TP de la séance 6.
- Séance 8 (TP) : Attaque BellCoRe (fichiers).
- Séance 9 : Correction du TP de la séance 8 ; Révisions ; Discussions.
Synthèse d'article de recherche
- Choix de l'article : libre, sur un thème du cours, à choisir/valider avec moi par email.
- « Monsieur, c'est quoi une synthèse ? »
- Longueur : 2 pages (3 max), en français.
- Date limite de rendu : 27 décembre 2017.
Devoir surveillé
- 2017–2018 : lundi 12 décembre 2017 à 9h30 en salle B104.
Contribuer à Wikipédia
Il est possible de gagner des points dans chacun de mes cours en contribuant à Wikipédia.
- Choisissez un article qui a le statut d'ébauche ou de bon début depuis le tableau récapitulatif du Projet Informatique.
- Vérifiez sur sa page de discussion si quelqu'un d'autre n'est pas déjà en train de travailler dessus.
- Si vous n'avez pas déjà un compte utilisateur sur Wikipédia, créez-en un.
- Ajoutez une petite phrase type « Team P8 » sur votre page utilisateur pour valider que c'est bien votre compte.
-
Envoyez-moi un email avec :
- votre nom d'utilisateur,
- le lien vers l'article avant vos modifications,
- le cours sur lequel vous voulez des points,
- si possible une justification du rapport entre l'article et le cours.
- Attendez mon accord, que vous obtiendrez après que je vérifie l'état, la page de discussion, et l'historique de l'article.
- Apportez vos contributions à Wikipédia !
- Envoyez-moi un nouvel email pour me signaler quand vos contributions sont faites. Je vous donnerai alors le nombre de points que vous avez gagné en fonction de l'importance et de la qualité de vos contributions.
Pensez à bien restecter les règles en vigueur sur Wikipédia pour contribuer correctement. N'hésitez pas à consulter l'aide pour débutant.
Archives
Courses that I no longer teach.