Programme & Référentiel
Outils mathématiques pour informatique - UTC501 (3 ects)
Éléments de logique : proposition, prédicats, validité, satisfiabilité.
Les techniques de raisonnement : direct, par cas, par contraposition, par récurrence, par l’absurde.
Suites
Généralités sur les graphes
Relations et ordres : relations binaires, d’équivalence, ordres partiels et totaux.
Eléments d’arithmétique : divisibilité, nombres premiers, propriétés du PGCD, algorithme d’Euclide, décomposition en produit de facteurs premiers, arithmétique modulaire.
Calcul matriciel et analyse : résolution de systèmes linéaires, méthode de Gauss, Gauss Jordan.
Bases du dénombrement
Principes fondamentaux des systèmes d'exploitation - UTC502 (3 ects)
Notions de base sur les systèmes d'exploitation, Mise en oeuvre de la protection/isolation : notion d'espace d'adressage, de modes d'exécution user/superviseur, introduction des appels système.
Gestion des exécutions programmes, processus, ordonnancement, threads
Synchronisation
Gestion de la mémorisation, mémoire centrale pagination, problèmes de gestion mémoire et d'allocation de blocs de tailles variables
Notion de base en administration système, comptes, droits, etc gestion des I/O asynchrones et des interruptions.
Paradigmes de programmation - UTC503 (3 ects)
Contenu sans obligation d'exhaustivité: Paradigme objet, généricité, héritage et polymorphisme, introspection ; paradigme fonctionnel, lambda expressions, clôtures, objets persistants, promesses ; paradigme logique. Divers langages de programmation pourront être abordés, par exemple Java ou C# pour le paradigme objet, Javascript, Scala, Haskell ou Kotlin pour la programmation fonctionnelle, Prolog pour la programmation logique. Au mois 50% du programme (et de l'examen) concernent un autre paradigme que la programmation objet (dominant aujourd'hui).
Structure: L’enseignement comprendra un noyau de cours magistraux, mais surtout un volume important de TP sur machine. En particulier, on partira d’un ou plusieurs objectifs de programmation et leur déclinaison dans divers paradigmes.
Systèmes d'information et bases de données - UTC504 (3 ects)
Introduction au systèmes d'information et bases de données
Processus de développement classiques et agiles
Modélisation conceptuelle : MCD/MLD (MERISE / Entité-Association) et UML
Conception des bases de données relationnelles, normalisation.
Introduction à la cyberstructure de l'internet : réseaux et sécurité - UTC505 (3 ects)
Diviser pour régner / Modèles en couches OSI vs Internet / Encapsulation
Carrefours, itinéraires et destinations / Couche Réseau
Une lettre ou un appel ? / Couche Transport
Quelques protocoles de la couche application
Course d'obstacles en tous genres /les boitiers divers et variés encore appelés “middleboxes”
Introduction à la sécurité
Menaces
Mesures de sécurité
Primitives cryptographiques