Activités pédagogiques

Présentation

Mes activités pédagogiques concernent principalement l'algorithmique et ses prolongements (cal­cu­la­bi­li­té, complexité), la programmation et les mathématiques discrètes. J'enseigne en licence d'in­for­ma­ti­que et en master d'Informatique, "Développement et Ingénierie des Données". Vous trouverez un peu plus bas les liens vers les documents pédagogiques que j'ai eu le temps de rédiger et ceux dont j'étais responsable ces dernières années.

Je travaille sur un projet de cours d'algorithmique en ligne qui reprend ce que j'ai pu enseigner en licence d'informatique et que l'on trouve dans les trois étapes du cours d'algorithmique ci-dessous. J'y répertorie les algorithmes qui me semblent fondamentaux ou très instructifs et que tout étudiant devrait avoir étudié dans son cursus d'informaticien. Le volume des travaux pratiques d'informatique est notoirement insuffisant pour devenir un programmeur averti et pour appréhender la très grande variété des algorithmes. J'ai donc fait une liste à mon goût (mes choix sont éminemment dis­cu­ta­bles) et j'en donne les éléments essentiels en tentant dans la mesure du possible de donner une certaine autonomie aux chapitres. Les cours sur les algorithmes étudiés en deuxième année (algorithmique II) sont tous rédigés depuis 2015, ceux de troisième année (algorithmique III) sont en cours de (re)rédaction. Certaines pages sont inactivées et d'autres sont incomplètes, mais j'ai choisi de présenter un travail inachevé plutôt que d'attendre une hypothétique version stabilisée. Ces pages sont amenées à être corrigées et à évoluer en permanence, vos correctifs, remarques et suggestions sont donc les bien­ve­nus.

Je constate d'année en année que les étudiants en informatique programment de moins en moins en dehors du cadre scolaire. Depuis que j'ai pris conscience de cette évolution, je pose chaque année la question rituelle Programmez vous chez vous ?  et les réponses sont de plus en plus alarmantes. Je suis passé progressivement du oui unanime, au non quasi unanime (j'ai eu deux promotions dans lesquelles aucun étudiant ne programmait !) Je ne pense pas que l'on puisse devenir informaticien sans de solides connaissances en algorithmique et sans une pratique régulière de la programmation. Non pas que l'informatique se résume à celà, loin de là, mais la connexion abstraite et concrète avec l'Ordinateur est certainement ce qui fait la spécificité de cette science, au même titre que faire des démonstrations fait partie du quotidien du mathématicien.

Je constate également qu'à une période où le mot informatique est employé à tout bout de champ, la science informatique est très mal connue du grand public (on me rétorquera que la situation est à peine meilleure dans les autres disciplines) mais elle est encore trop souvent méconnue de certains uni­ver­si­tai­res, même scientifiques, ce qui est beaucoup plus inquiétant.

Un nombre croissant d'étudiants en informatique se fourvoient dans cette voie par rejet des autres sciences et en particulier des mathématiques, ce qui est aussi saugrenu que de vouloir devenir chef d'orchestre en étant allergique au solfège. Beaucoup sont persuadés que la facilité avec laquelle ils manipulent des objets de haute technologie et leur goût prononcé pour ces mêmes technologies leur tient lieu de savoir. Je cite donc tout aussi rituellement cette phrase de M. Fellows et N. Koblitz qui me semble très bien résumer ce grave malentendu :

The public needs to understand that computer science is not about computers, in much the same way that cooking is not about stoves, and chemistry is not about glassware.*(*) Kid Crypto Advances in Cryptology '92.

qui n'est qu'une déclinaison de la phrase suivante d'Hal Abelson, membre fondateur de la Free Soft­ware Foundation :
Computer Science is no more about computers than ast­ro­no­my is about te­les­co­pes.
Vous pourrez constater que les différents documents en ligne sont présentés sur fond sombre contrairement aux documents papiers où les caractères sont écrits noir sur blanc. Ce choix n'est pas guidé par une quelconque sensibilité gothique mais pour ménager la vue du lecteur.

Si l'on mesure l'écart dynamique entre la lumière réfléchie par une zone blanche et par un caractère noir d'une feuille de papier — le logarithme en base 2 du ratio du nombre de photons respectivement réfléchis — on obtient une valeur proche de 6. Dans des conditions de lu­mi­no­si­té normales pour travailler, une feuille de papier renvoie une cinquantaine de cd/m2 alors qu'un écran a une capacité dynamique bien plus étendue et peut émettre plus de 1 000 cd/m2. Autrement dit, un écran émet nettement plus de lumière que ce qu'une feuille de papier blanc peut réfléchir. Si vous vi­sua­li­sez un fichier pdf classique (ca­rac­tè­res noirs sur fond blanc) sur un écran d'or­di­na­teur moderne dont la luminosité est rarement calibrée, le nombre de photons qui percutent votre rétine est préjudiciable pour votre vue.

Licence Informatique

Mathématiques pour l'informatique (niveau L1/L2)
Algorithmique (niveaux L1, L2 et L3)

Master Informatique

Complexité algorithmique
Initiation à la recherche [D36]
Projets de master [D41]

Archives

Infographie 2D [M1 - Informatique]
Cryptologie [M1 - Mathématiques]