Objectifs de la formation
Présenter des notions mathématiques indispensables pour aborder des études d'ingénieur informaticien. L'objectif n'est pas d'étudier ces notions et outils pour eux-mêmes mais de montrer également leur utilité dans l'analyse de problèmes qui se posent en informatique.
Comprendre les principes fondamentaux des systèmes d'exploitation multiprogrammés.
Connaître et approfondir certains paradigmes de programmation : logique, fonctionnel, réactif, objet ; savoir les mettre en œuvre ; comprendre leurs différences.
Fournir les bases méthodologiques nécessaires à la conception et à la réalisation des systèmes d'information.
L'objectif de l'UE est :
- d'introduire le domaine des réseaux à travers l'exemple de l'Internet, de décrire ses principaux ingrédients et les concepts clefs de son fonctionnement,
- et de présenter les propriétés de sécurité qui sont générales et pas seulement liées aux réseaux.
Programme
UTC501 - Outils mathématiques pour Informatique : É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.
UTC502 - Principes fondamentaux des Systèmes d'exploitation : 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.
UTC503 - Paradigmes de programmation : 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.
UTC504 - Systèmes d'Information et Bases de Données : 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.
UTC505 - Introduction à la cyberstructure de l'internet : réseaux et sécurité : 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
Résultats attendus
Examen final- certification
Les points forts
Obtenez le bloc 2 du titre professionnel Concepteur intégrateur d'infrastructures informatiques (systèmes et réseaux, applicatives, ou de sécurité) du Cnam