Descriptif des enseignements de première année

Cours du premier semestre

Programmation 1

Responsable: Mihaela Sighireanu / Jean Goubault-Larrecq

Les objectifs du cours sont d'acquérir les concepts des langages de programmation (impératifs, fonctionnels, à objets) sans se focaliser en cours sur un langage de programmation. Pour cela des exemples seront donnés dans plusieurs langages (Java, C++, Caml). Par ailleurs les élèves devront mettre en pratique leurs connaissances en programmant dans un ou deux langages.

Voir la page consacrée au cours Programmation 1
Voir les documents supplémentaires de Mihaela Sighireanu

Architecture système

Responsable: Stefan Schwoon
  • Introduction, Shell
  • Rappels de C
  • Processus et signaux, Gestion mémoire
  • Système de fichiers, Entrées/Sorties
  • Threads, Exclusion mutuelle

Voir la page consacrée au cours

Cours du second semestre

Langages formels

Responsables: Stefan Schwoon
  1. Langages reconnaissables
  2. Grammaires
  3. Langages algébriques
  4. Automates à pile
  5. Analyse syntaxique
  6. Reconnaissance par monoïde
  7. Logique monadique du second ordre

Accéder à la page eCampus du cours

Algorithmique 2

Responsable: Serge Haddad
  1. Recherche de chaînes de caractères
  2. Polynômes et transformée de Fourier rapide
  3. Compression de données
  4. Algorithmes d'approximation
  5. Algorithmes et probabilités
  6. Programmation linéaire

Voir la page des enseignements de Serge Haddad

Logique et informatique

Responsable: Jean Goubault-Larrecq
  1. Lambda-calcul pur, (non-)terminaison, confluence, standardisation
  2. Lambda-calcul typé, correspondances de Curry-Howard pour diverses logiques, classiques ou intuitionnistes, allant de la logique propositionnelle minimale (types simples) à l'arithmétique du second ordre (système F)
  3. Machines, lambda-calculs à substitutions explicites, et propriétés mathématiques d'iceux

Voir la page du cours

Bases de données

Responsable: Pierre Senellart

Ce cours couvre les grands principes des systèmes de gestion de données (SGBD). Les SGBD sont des logiciels génériques permettant le stockage et la manipulation efficace de données pour une très large gamme d'applications. Du point de vue pratique, les SGBD sont des logiciels sophistiqués, très largement utilisés, omniprésents dans le monde industriel. Du point de vue théorique, la conception de ces systèmes repose sur des fondements conceptuels, logiques, algorithmiques, en lien avec d'autres domaines de la science informatique. Le cours ira des aspects théoriques aux aspects systèmes des SGBD, en particulier ceux basés sur le modèle relationnel.

En savoir plus…