2023--2024
Info201 : systèmes d'exploitation
-
-
le programme Python donné à la fin du TD, pour ceux qui veulent tester : concurrent_update.py
-
Info205 : mathématiques pour le numérique
Enseignant responsable : François Boussion
Info501 : logique et informatique
Info506 : systèmes d'exploitation
Enseignant responsable : Gerald Cavallini
Info601 : graphes et algorithmes
-
-
complément pour les matheux courageux TD5 : flot maximal, non convergence sur les réels
-
-
TP2 : plus court chemin, "seam carving", algorithm A* (lien)
-
TP3 : flot maximum, application à la segmentation d'image (lien)
Info602 : mathématiques pour l'informatique
Info002 : cryptologie
-
TD2 : un peu de probabilité – indice de coïncidence et secret parfait
-
TD3 : cryptographie symétrique, chiffrements par blocs
-
attaque de Vaudenay (Il faudra installer bottle et pycryptodome, par exemple avec pip install bottle pycryptodome -U.)
-
-
TD5 : cryptographie asymétrique (chiffrement et signature)
-
une clé RSA factice à factoriser,
-
le script Python qui a généré la clé.
-
2022--2023
Math105 : logique et ensembles
Enseignant responsable : Karim Nour
Info201 : systèmes d'exploitation
-
-
le programme Python donné à la fin du TD, pour ceux qui veulent tester : concurrent_update.py
-
info205 : mathématiques pour le numérique
Enseignant responsable : François Boussion
Info501 : logique et informatique
-
examen de l'année 2021 (attention, les règles utilisées étaient légèrement différentes)
Info506 : systèmes d'exploitation
Enseignant responsable : Gerald Cavallini
Info602 : mathématiques pour l'informatique
Info002 : cryptologie
-
TD2 : un peu de probabilité – indice de coïncidence et secret parfait
-
TD3 : cryptographie symétrique, chiffrements par blocs
-
attaque de Vaudenay (Il faudra installer bottle et pycryptodome, par exemple avec pip install bottle pycryptodome -U.)
-
-
TD5 : cryptographie asymétrique (chiffrement et signature)
-
une clé RSA factice à factoriser,
-
le script Python qui a généré la clé.
-
2021--2022
Info201 :systèmes d'exploitation
-
-
le programme Python donné à la fin du TD, pour ceux qui veulent tester : concurrent_update.py
-
Info501 : logique et informatique
Info502 : théorie des langages
Enseignant responsable : François Boussion
Info506 : systèmes d'exploitation
Enseignant responsable : Gerald Cavallini
Info602 : mathématiques pour l'informatique
Info002 : cryptologie
-
TD2 : un peu de probabilité – indice de coïncidence et secret parfait
-
TD5 : cryptographie asymétrique (chiffrement et signature)
-
une clé RSA factice à factoriser,
-
le script Python qui a généré la clé.
-
2020--2021
Info202 :systèmes d'exploitation
Info501 : logique et informatique
Les cours se tiendront à distance, probablement en utilisant Discord.
Contactez moi si vous n'avez pas reçu l'invitation.
Info502 : théorie des langages
Enseignant responsable : François Boussion
Les sujets de TP et TD sont disponibles sur Moodle
Info507 : systèmes d'exploitation
Info607 : mathématiques pour l'informatique
Info910 : cryptologie
-
TD2 : un peu de probabilité – indice de coïncidence et secret parfait
-
TD5 : cryptographie asymétrique (chiffrement et signature)
-
une clé RSA factice à factoriser,
-
le script Python qui a généré la clé.
-
2019--2020
Info202 :systèmes d'exploitation
-
CM2 : système d'exploitation, processus et shell quelques notes de cours pour pouvoir essayer de faire le TD2.
-
CM2 : compléments, questions de cours quelques questions à regarder pour compléter le cours. (Vous pouvez utiliser Wikipedia ou Stackoverflow !)
-
-
CM3 : système d'exploitation, ordonnancement, RAM et fichiers
Info502 : théorie des langages
Enseignant responsable : François Boussion
Les sujets de TP et TD sont disponibles sur Moodle
Info507 : systèmes d'exploitation
Info607 : mathématiques pour l'informatique
Info910 : cryptologie
-
TD2 : un peu de probabilité – indice de coïncidence et secret parfait
-
TD5 : cryptographie asymétrique (chiffrement et signature)
-
une clé RSA factice à factoriser,
-
le script Python qui a généré la clé.
-
2017--2018
Math102 : mathématiques pour le numérique
Enseignant responsable : Frédéric Garet
Les sujets de TD et TP sont disponibles sur Moodle.
Info201 : programmation et algorithmique
-
un livre d'apprentissage de la programmation en Python (lien direct pdf)
Les chapitres pertinents pour ce cours sont: chapitres 1 à 7, chapitre 9 et 10.
-
Autres liens pertinents :
-
Apprenez à programmer en dix ans, et la version originale (en anglais)
-
Project Euler, une liste de problèmes de programmation, à connotations mathématiques (en anglais)
-
défi Turing, une autre liste de problèmes de programmation, également à connotations mathématiques, inspiré du lien précédent (en français)
-
Info202 :systèmes d'exploitation
Math202 : mathématiques pour le numérique
Info502 : théorie des langages
-
« regex croisées », un jeu similaire aux mots croisés, mais avec des expressions régulières de type POSIX étendu, avec « backreference ».
-
TP1 : utilisations des expressions régulières (outils du shell) (lien)
-
TP2 : utilisations des expressions régulières : langage de programmation (lien)
-
TP4 : parser des expressions régulière à la Kleene, en C (lien)
Info507 : systèmes d'exploitation
Info607 : mathématiques pour l'informatique
2016--2017
Info101 : introduction à l'algorithmique
Enseignant responsable : Christine Ferrarris.
-
complément de cours : Apprendre à programmer avec Python (pdf), un livre d'introduction à la programmation, en français. (site web)
Math102 : mathématiques pour le numérique
Enseignant responsable : Frédéric Garet
Les sujets de TD et TP sont disponibles sur Moodle.
Info201 : programmation et algorithmique
-
un livre d'apprentissage de la programmation en Python (lien direct pdf)
Les chapitres pertinents pour ce cours sont: chapitres 1 à 7, chapitre 9 et 10.
Info202 :systèmes d'exploitation
Math202 : mathématiques pour le numérique
Enseignant responsable : Xavier Provencal
Les sujets de TD et TP sont disponibles sur le site de Xavier Provencal ou sur le wiki du LAMA.
Info524 : systèmes d'exploitation
Info528 : mathématiques pour l'informatique
Info633 : théorie des langages
-
« regex croisées », un jeu similaire aux mots croisés, mais avec des expressions régulières de type POSIX étendu, avec « backreference ».
2015--2016
Info113 : introduction à l'algorithmique
Enseignant responsable : Christine Ferrarris.
-
complément de cours : Apprendre à programmer avec Python (pdf), un livre d'introduction à la programmation, en français. (site web)
Info223 : science informatique
Info224 : algorithmique
-
un livre d'apprentissage de la programmation en Python (lien direct pdf)
Les chapitres pertinents pour ce cours sont: chapitres 1 à 7, chapitre 9 et 10.
-
les exemples écrits pendant le cours 1 : exemples-CM1.py (fichier Python)
Info524 : systèmes d'exploitation
Info528 : mathématiques pour l'informatique
Info633 : théorie des langages
-
« regex croisées », un jeu similaire aux mots croisés, mais avec des expressions régulières de type POSIX étendu, avec « backreference ».
2014--2015
Info113 : introduction à l'algorithmique
Enseignant responsable : Christine Ferrarris.
-
complément de cours : Apprendre à programmer avec Python (pdf), un livre d'introduction à la programmation, en français. (site web)
-
TP3 : boucles for, utilisation du débogueur en Python (lien)
-
TP5 : manipulation de dates représentées sous forme de tableaux (lien)
Info223 : science informatique
Info224 : algorithmique
-
un livre d'apprentissage de la programmation en Python (lien direct pdf)
-
les fichiers d'exemples utilisés pour le cours 1, avec la définition de la fonction tictac() :
Info524 : systèmes d'exploitation
Info528 : mathématiques pour l'informatique
Info633 : théorie des langages
-
« regex croisées », un jeu similaire aux mots croisés, mais avec des expressions régulières de type POSIX étendu, avec « backreference ».
-
ML-regular, un petit prototype pour expérimenter avec les expressions régulières de Kleene et les automates finis. Il faut avoir une installation de OCaml pour pouvoir le compiler... Reportez vous au fichier INSTALL de l'archive pour plus de détails.
Note : ce programme peut vous aider à résoudre certains des problèmes du cours, mais il ne remplace en aucun cas l'apprentissage des manipulations sur les expressions régulières et automates ! Vous n'aurez pas accès à ce programme pour l'examen...
2013--2014
Info113 : introduction à l'algorithmique
Enseignant responsable : Miguel Tomassena.
-
complément de cours : Apprendre à programmer avec Python (pdf), un livre d'introduction à la programmation, en français. (site web)
Info223 : science informatique
Info224 : algorithmique et programmation
-
un livre d'apprentissage de la programmation en Python (lien direct pdf)
-
compléments de cours : méthodes sur les chaînes de caractères
Info524 : systèmes d'exploitation
Info528 : mathématiques pour l'informatique
Info623 : théorie des langages et calculabilité
-
« regex croisées », un jeu similaire aux mots croisés, mais avec des expressions régulières de type POSIX étendu, avec « backreference ».
-
ML-regular, un petit prototype pour expérimenter avec les expressions régulières de Kleene et les automates finis. Il faut avoir une installation de OCaml pour pouvoir le compiler... Reportez vous au fichier INSTALL de l'archive pour plus de détails.
Note : ce programme peut vous aider à résoudre certains des problèmes du cours, mais il ne remplace en aucun cas l'apprentissage des manipulations sur les expressions régulières et automates ! Vous n'aurez pas accès à ce programme pour l'examen...
2012--2013
Info113 : introduction à l'algorithmique
Enseignant responsable : Miguel Tomassena.
-
complément de cours : Apprendre à programmer avec Python (pdf), un livre d'introduction à la programmation, en français. (site web)
Info223 : science informatique
Info224 : algorithmiques et programmation
Info421 : programmation fonctionnelle
Info524 : systèmes d'exploitation
Info528 : mathématiques pour l'informatique
2011--2012
Info223 : science informatique
Info224 : algorithmique et programmation
-
devoir à la maison (pdf), avec le fichier à compléter : rectangles.py,
-
devoir à la maison (lien), filière MASS, avec le fichier à télécharger : images.py.
Info421 : programmation fonctionnelle
-
-
racourci pour lancer l'interprète (à copier sur votre bureau)
-
Info524 : systèmes d'exploitation
Info528 : mathématiques pour l'informatique
-
TD0 : les subtilités de la puissance et des polynômes... (pdf)
-
TP2 : manipulation de grands entiers avec libgmp, RSA (lien)
2010--2011
Info223 : sciences informatiques
Info401 : programmation fonctionnelle
Info502 : systèmes d'exploitation
Info505 : algorithmes de graphes
%<<<2
%>>>2
Info614 : mathématiques pour l'informatique
-
TP2 : manipulation de grands entiers avec libgmp, RSA (lien)
-
TP3 : RC4 et le WEP, attaque de Fluhrer, Mantin et Shamir (lien)
2009--2010
Info-204 : science informatique
Quelques notes de cours sont disponibles sur le wiki du cours..
-
feuille de TD 1 (pdf)
-
feuille de TD 2 (pdf)
-
feuille de TD 3 (pdf)
-
le TP 2 et le lien vers les clés publiques
Info-401 : programmation fonctionnelle
Tout est disponible sur le wiki du cours...
Info-502 : systèmes d'exploitation
Cours pour les étudiants en troisième année des filières « STIC » (sciences et technologies de l'information et des communications). Le cours aborde les concepts de bases des systèmes d'exploitation tels que gestion des processus, gestion de la mémoire ou systèmes de fichiers.
Le cours est donné par moi même, et les TD/TP sont donnés soit par moi, soit par Florian Hatat.
Le cours possède un wiki contenant tous les détails techniques, compléments et références. Le wiki est accessible ici (wiki info-502). La participation au wiki est fortement encouragée.
Sujets de TD :
Sujets de TP :
-
Découverte de SOS :
-
Multiboot Specification : SOS respecte la spécification Multiboot, qui dit comment un système d'exploitation doit être chargé en mémoire par GRUB (ou tout autre chargeur respectant cette spécification).
-
Gestion de la mémoire du noyau :
-
Ordonnancement :
Info-505 : algorithmes de graphes
Seconde moitié d'un cours pour les étudiants en troisième année de la filière STIC (sciences et technologies de l'information et des communications), mention « informatique ». La première partie est donnée par Françoise Deloule et traite des graphes de manière assez théorique en général. Cette seconde partie traite plus particulièrement des problèmes d'implantation des graphes, des algorithmes associés et des problèmes de complexité qui y sont liés. Le langage de programmation utilisé pour les TP sera le langage C.
Le cours possède un wiki contenant tous les détails techniques, compléments et références. Le wiki est accessible ici (wiki info-505). La participation au wiki est fortement encouragée.
-
TP1 : préliminaires, parcours en largeur et résolution de labyrinthe
-
correction possible pour le TP1 :
TP1-hyvernat-pierre_correction.c
Info-614 : mathématiques pour l'informatique
Info-719 : rappels et compléments d'algorithmique et de programmation
Cours pour la première année du master IDESSE (ingénierie des données en économie en sciences sociales). Il s'agit essentiellement d'une mise à niveau et de compléments de programmation. Le langage utilisé en cours sera le langage Python.
Le cours possède un wiki contenant tous les détails techniques, compléments et références. Le wiki est accessible ici (wiki info-719). La participation au wiki est fortement encouragée.
-
lien vers la page de téléchargement de la bibliothèque PIL pour windows (prenez la version 1.1.6 pour Python 2.6)
2008--2009
Info-401 : programmation fonctionnelle en Caml
-
controle des connaissances - 1 (correction)
-
controle des connaissances - 2 (correction)
Info-502 : systèmes d'exploitation
Info-505 : algorithmes sur les graphes
-
le fichier qui contient l'algorithme de Kruskal détaillé
Info-710 : compléments de bases de données
Info-719 : rappels d'algorithmique et programmation C
Comme complément de cours pour le langage C, je suggère la lecture de l'introduction au langage C de Bernard Cassagne (disponible au format pdf ou online au format html).
Pour faire du C chez vous, vous pouvez :
-
soit installer linux (je vous conseille Ubuntu)
-
soit installer une "émulation Unix" pour Windows (Cygwin, en précisant à l'installation que vous voulez installer au moins gcc, gdb et make dans la partie Devel)
-
soit installer un environnement de programmation C pour Windows (par exemple, Dev-C++)
2007--2008
Info301 : algorithmique
Ce cours est donné par Jean-Charles Marty et fait suite au cours d'info-303. Je donne les TP avec Gwenael Gaborit.
-
le TP : fichier pdf (sur trois séances de 4 heures)
Info502 : système d'exploitation
Ce cours est donnés par Thibault Carron, et je ne donne que les TD (avec Thibault Carron) et les TP (avec Sylvie Ramasso et Brice Videau).
-
le TD 1 : fichier pdf
-
le TD 2 : fichier pdf
-
le TP1 : fichier pdf
-
le TP2 : fichier pdf
-
le TP3 : fichier pdf
Info505 : mathématiques pour l'informatique, partie I
La première partie de ce cours réintroduit les notions élémentaires d'arithmétique et d'algèbre necessaires pour comprendre les bases de la cryptographie et des codes correcteurs d'erreurs.
La deuxième partie du cours est faite par Françoise Deloule et traitera de l'algorithmique classique des graphes.
Info-614 : mathématiques pour l'informatique
Après quelques rappels, ce cours réintroduit les notions élémentaires d'arithmétique pour comprendre les bases de la cryptographie ; puis on s'interessera aux applications de l'algèbre aux codes correcteurs d'erreurs.
Info710 : compléments de bases de données
-
td1 : pdf
-
td3 : pdf
-
td4 : pdf
-
tp1 : pdf
-
tp2 : pdf
-
td5 : pdf
-
tp3 : pdf
-
td6 : pdf
-
tp3, suite : pdf
-
examen : pdf
2006--2007
info404 : algorithmes de graphes
Les tp se feront en utilisant le langage C. Je vous conseille le polycopié de de Bernard Cassagne : introduction au langage C (disponible au format pdf ou online au format html) (Lisez en particulier les chapitres 1, 2, 3, 4 et la partie du chapitre 6 sur les structures...)
-
td1 : pdf (bases, représentation des graphes)
-
td2 : pdf (parcours en largeur)
-
td3 : pdf (parcours en profondeur)
-
td4 : pdf (algorithmes de Kruskal et Prim)
-
complément de cours : version correcte de l'algorithme de Kruskal vu en cours (version optimisée)
-
td5 : pdf (chemins de cout minimal, algorithmes de Dijkstra, de Bellman et du tri topologique)
-
tp1 : pdf. Vous aurez besoin des fichiers suivant :
-
le fichier graphes.h qui contient les types de données et les prototypes des fonctions.
-
le fichier
graphes.cqui contient le code des fonctions préliminaires. -
le fichier hyvernat.c qui vous servira d'exemple pour le fichier que vous devrez me rendre.
-
le fichier test.c si vous voulez tester vos fonctions
-
le fichier Makefile pour la compilation "automatique"
-
-
complément de td5 : version correcte de l'algorithme du calcul des chemins optimaux pour les graphes acycliques
-
tp2 : pdf. En plus des fichiers "graphes.c" et "graphes.h", vous aurez besoin de :
-
le fichier labyrinthes.h.
-
le fichier labyrinthes.c.
-
le fichier hyvernat-tp2.c.
-
le fichier test-tp2.c si vous voulez tester
vos fonctions
-
le fichier Makefile-tp2 pour la compilation
"automatique"
-
le fichier affiche.c
N'oubliez pas de modifier les noms des fichiers en supprimant le suffixe -tp2...
-
Info602 : théorie des graphes et algorithmes sur les graphes
-
td1 : pdf (bases, représentation des graphes)
-
td2 : pdf (parcours en largeur)
-
td3 : pdf (parcours en profondeur)
-
td4 : pdf (algorithme de Kruskal, algorithme de Prim)
-
tp1 : pdf. Vous aurez peut-être envie des fichiers suivants :
-
le fichier graphes.h qui contient les types de données et les prototypes des fonctions.
-
le fichier
graphes.cqui contient le code des fonctions préliminaires. -
le fichier hyvernat-chaplin.c qui vous servira de squelette pour le fichier que vous devrez me rendre.
-
le fichier test.c si vous voulez tester vos fonctions
-
le fichier Makefile pour la compilation "automatique"
-
un polycopié sur le langage C (au format html) écrit par Bernard Cassagne.
-
Info608 / info609 : projet (TP)
Ce cours commun est destiné aux étudiants en L3. Il s'agit de programmer un jeu de type roguelike. Le cours (génie logiciel, cycle de développement, ...) est fait par Jacques Léger.
-
description du projet : pdf
-
liste et membres des groupes pour le projet : groupes-info608
Info502 : système d'exploitation
Ce cours est donnés par Thibault Carron, et je ne donne que les TD et les TP (avec Cyril Vachet et Mathieu Barcikowski).
-
le TD 1 : fichier pdf
-
le TD 2 : fichier pdf
-
le TP 1 : fichier pdf
-
le TP 2 : fichier pdf
-
le petit fichier C à compiler et modifier comme décrit dans le TP 2: pere-fils.c
-
le petit script Bash du TP 2: test-trap.sh
-
le TP 3 : fichier pdf
-
l'exemple commenté du TP 3 : shmdemo.c (il faut garder le nom du fichier, ou alors modifier la ligne 50).
Info607 : mathématiques pour l'informatique
-
td1 : pdf (récurrences)
-
td2 : pdf (approximations asymptotiques, fonction « partie entière »)
-
td3 : pdf (arithmétique)
-
td4 : pdf (cryptographie 1, DES et Diffie-Hellman)
-
td5 : pdf (cryptographie 2, cryptographie à clé publique)
-
td6 : pdf (codes correcteurs)
Info710 : compléments de bases de données
Le site francophone de PostgreSQL se trouve ici et le livre "Practical PostgreSQL" est disponible en ligne.
-
algèbre relationnelle, pense-bête : fichier pdf
-
la fiche de TD 1 : fichier pdf
-
un petit complément de cours (pour avoir une des preuves au clair) : fichier pdf
-
la fiche de TD 2 : fichier pdf
-
la fiche de TD 3 : fichier pdf
-
le « TD » à faire à la maison et à rendre : pdf
-
la fiche de TP 1 : fichier pdf
-
la fiche de TP 2 : fichier pdf
-
avec le fichier squelette pour le compte-rendu : fichier sql
-
la fiche de TP 3 : fichier pdf
-
la fiche de TP 4 : fichier pdf
-
l'examen corrigé : fichier pdf (avec la correction corrigée pour le a de la question 1 de l'exercice 1...)
Info803 : informatique
-
td1 : pdf (un peu de « diviser pour rêgner »)
-
cours / td2 : pdf (programmation dynamique)
-
cours / td3 : pdf (programmation dynamique et algorithmes gloutons)
-
l'introduction au langage C de Bernard Cassagne (disponible au format pdf ou online au format html)
-
pour faire du C chez vous, vous pouvez :
-
pour le TP1, vous aurez également besoin du fichier squelette de compte-rendu. (Attention, il faut que ce soit un fichier au format texte...)
-
tp2 : pdf (opérations bit à bit, représentation des nombres)
-
matrices.c (correction pour l'algo de choix pour la multiplication des matrices)
-
le fichier flottants.c pour finir le tp2.
-
tp3 : pdf. Vous aurez besoin des fichiers sudoku.h et sudoku.c.
avant
Introduction à la logique (L3-math)
Il s'agissait d'un cours d'introduction à la logique mathématique pour des licence mathématiques 3ème années à l'université Aix-Marseille.
-
travaux dirigés 1 : TD1
-
correction de l'exercice 3 (« être un sous-terme » est une relation transitive)
-
travaux dirigés 2 : TD2
-
travaux dirigés 3 : TD3
-
correction du dernier exercice du TD 3 (tiers-exclu et loi de Pierce) : pierce
-
travaux dirigés 4 : TD4
-
correction de l'exercice 3, e)
-
toutes les règles de la déduction naturelle : règles
-
le devoir à la maison, à rendre pour le mardi 22 novembre
-
travaux dirigés 5 : TD5
-
travaux dirigés 6 : TD6
-
travaux dirigés 7 : TD7
-
devoir des années précédentes : 2003-2004 (avec la correction), et 2004-2005
-
sujet de l'examen de cette année, avec la correction.