Programme
Chargement...
-
Mathématiques appliquées à l'informatique
Mathématiques
Année 3 Semestre 5
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Identifier et utiliser les outils mathématiques utiles pour l’informatique, notamment l’algorithmique et l’apprentissage automatique
- Définir mathématiquement les caractéristiques principales d’un algorithme: complexité/efficacité, croissance comparée, et convergence
- Implémenter des méthodes numériques pertinentes pour le calcul d’opérations telles que l’intégration, la dérivation
- Faire le lien entre la théorie des ensembles et la conception algorithmique (structures de données, relations logiques, bases de données)
- Utiliser Python pour le développement des algorithmes
Pré-requis :
- Programmation python
- Notions mathématiques de base
Contenu du cours :
Théorie des ensembles
- Inclusion, union, intersection
- Logique mathématique, prédicat logique
- Algèbre relationnelle
Analyse
- Fonctions de base (trigonométrie, exponentielles, logarithmiques)
- Croissance comparée (complexité algorithmique)
- Suites
- Calcul différentiel (lien dérivée – différences finies)
- Calcul intégral (lien avec les méthodes numériques)
Algèbre linéaire
- Bases sur les espaces vectoriels (dim. finie)
- Opérations de bases vecteur/matrices, normes
- Calcul matriciel
- Diagonalisation, vecteurs propres, valeurs propres
-
Architecture des ordinateurs
Electronique
Année 3 Semestre 5
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Comprendre le fonctionnement interne et externe d’un ordinateur, depuis la logique combinatoire et séquentielle jusqu’au microprocesseur et à son intégration dans un système électronique
- Comprendre le fonctionnement d’un microprocessur et ses périphériques et les utiliser pour résoudre des problèmes simples de contrôle, d’acquisition et de calcul
- Identifier les éléments d’un ordinateur tels que le processeur, les mémoires et les périphériques d’entrée-sortie
- Déterminer les caractéristiques essentielles d’un processeur (microprocesseur ou microcontrôleur)
- Comprendre la partie matérielle d’un système à microcontrôleur
- Comprendre la programmation d’un processeur
- Mettre en œuvre les périphériques de base d’un microcontrôleur
- Utiliser un environnement de développement pour processeurs dans les phases de codage, simulation et débogage
- Maitriser la totalité de la conception d’un petit système à microcontrôleur
Pré-requis :
Aucun
Contenu du cours :
- Logique combinatoire : représentation des nombres en binaire, hexadécimal et BCD. Algèbre de Boole et fonctions combinatoires de base.
- Logique séquentielle : bascules, registres, compteurs, synchrone et asynchrone.
- Mémoires : Type de mémoire (ROM, EPROM, EEPROM, FLASH,SRAM et DRAM). Espaces adressables, décodage mémoire et cycle d’accès mémoire.
- Microprocesseur : Architectures (Von Neumann, Harvard, RISC et CISC). Bus d’adresses, de données et de contrôle. Registres généraux, accumulateur, registre d’état, pointeur de code, pointeur de pile, unité arithmétique et logique, pile.
- Echanges entre le microprocessur et son environnement : échanges programmés, Interruptions, DMA, périphériques d’entrées-sorties.
- Programmation en assembleur : directives d’assemblage, Instructions, modes d’adressage, simulation et débogage.
-
Administration système
Informatique
Année 3 Semestre 5
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Installer et configurer un système d’exploitation Linux Debian / Ubuntu de type serveur
- Maîtriser la ligne de commande Linux et les scripts Bash
- Administrer un dépôt de paquets logiciels
- Administrer les utilisateurs et les groupes
- Administrer le système de fichiers
- Installer et configurer des services Linux, dont les services réseaux
- Sécuriser le système de fichiers, les comptes et les services
- Automatiser les tâches d’administration et de sauvegarde
- Utiliser un conteneur Docker
Pré-requis :
- Notions de programmation / algorithmique
- Notions d’architecture des réseaux
- Programmation en C ou en Python
Contenu du cours :
- Présentation des systèmes GNU/Linux
- Prise en main de la ligne de commande et des scripts Bash
- Gestion des utilisateurs, des groupes, et des permissions
- Gestion des paquets et des dépendances
- Administration du stockage et partitions (fstab, LVM)
- Système de fichiers Linux
- Services réseaux : DHCP/DNS, Firewall (iptables, UFW)
- Outils d’automatisation du déploiement (Ansible)
- Programmation de tâches et démarrage (at, crontab)
- Noyau et processus
- Gestion des logs
- Conteneurs Docker
-
Architecture des réseaux locaux
Réseaux
Année 3 Semestre 5
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Concevoir une infrastructure pour un réseau local
- Choisir et dimensionner les équipements et les ressources réseaux nécessaires
- Configurer les équipements et les protocoles de routage et de commutation
- Optimiser la configuration du routage et de la commutation
- Assurer la fiabilité, la haute disponibilité et la performance d’un réseau local
- Sécuriser l’accès aux équipements, l’échange protocolaire et les communications dans un réseau local
Pré-requis :
- Notions de base en architecteur TCP/IP
- Codage binaire et hexadécimal
Contenu du cours :
- Introduction aux réseaux et rappels du modèle TCP/IP
- Architectures des réseaux commutés (Ethernet)
- Configuration et paramétrage des réseaux commutés
- Réseaux locaux virtuels (VLAN)
- Adressage IP et segmentation des réseaux IP
- Interconnexion des réseaux commutés
- Routage entre les réseaux commutés
- Routage entre les VLAN
- Sécuriser l’accès et les échanges sur un réseau local
- Haute disponibilité et fiabilité
- Optimisation et équilibrage de charge
-
Principes des langages de programmation
Informatique
Année 3 Semestre 5
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- S’approprier les différents principes des langages de programmation
- Comparer les différents paradigmes de programmation et selectionner le paradigme le plus adapté à la résolution d’un problème algorithmique
- Identifier les différentes étapes d’une chaine de compilation et la mettre en oeuvre en utilisant un langage de programmation comme le C
- Identifier les différentes étapes de l’interprétation et la mettre en oeuvre en utilisant un langage de programmation comme le Python
Pré-requis :
Connaissances de base en langages de programmation tels que Python, C, C++ ou Java
Contenu du cours :
- Besoins : introduction (propriétés intéressantes)
- Types et structures de données (types de bases + types complexes)
- Typage (typage statique et dynamique, typage faible et fort )
- Paradigmes (langages de manipulation de chaînes de caractères, impératifs, procéduraux, fonctionnels, orientés objet, orientés aspect, multiparadigmes)
- Compilateurs et interpréteurs
- Chaîne de compilation : Langage C
- Interpretation : Python
- Mettre en oeuvre des programmes avec une chaine de compilation en langage C
- Mettre en oeuvre des programmes interprétés avec Python
-
Virtualisation et Cloud
Réseaux
Année 3 Semestre 5
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Définir les principaux fondamentaux de la virtualisation et de la conteneurisation
- Comparer les différentes solutions Cloud existantes (privé, public et hybride)
- Concevoir et déployer des services adaptés à son environnement de travail dans un Cloud privé
- Configurer et gérer des infrastructures virtualisées avec VMware vSphere
- Mettre en œuvre des services de haute disponibilité pour des infrastructures virtualisées, incluant la gestion des ressources avec DRS et vSphere HA
- Déployer et configurer des conteneurs à l’aide de Docker, en maîtrisant l’utilisation de Dockerfiles pour le deploiement et l’exploitation
- Configurer des datastores partagés avec TrueNAS et iSCSI pour faciliter la migration de machines virtuelles avec vMotion
- Configurer et administrer des réseaux virtualisés à l’aide de VSS (Virtual Standard Switch) et VDS (Virtual Distributed Switch) pour optimiser la gestion des infrastructures virtualisées
Pré-requis :
- Connaissances de base en réseaux informatiques : Comprendre les fondamentaux des réseaux (adresses IP, commutateurs, routage)
- Expérience avec les systèmes d’exploitation : Avoir des notions de base en administration de systèmes (Linux et Windows) pour installer et configurer des services simples
- Maîtrise des commandes en ligne : Être à l’aise avec l’utilisation de l’interface en ligne de commande (CLI), sans expérience spécifique avec Docker ou ESXi
Contenu du cours :
Conteneurisation avec Docker :
- Introduction à Docker et à la conteneurisation
- Création et déploiement de conteneurs avec Dockerfiles
- Configuration, déploiement et utilisation de conteneurs
- Gestion des images et des volumes Docker
Principes de la virtualisation et du cloud :
- Introduction aux concepts de virtualisation (serveurs, réseaux, stockage)
- Différentes solutions Cloud: privé, public, hybride
- Introduction à VMware vSphere
Virtualisation des serveurs avec VMware vSphere :
- Installation et configuration d’ESXi
- Déploiement et gestion de VCenter
- Configuration des VSS (Virtual Standard Switch) et VDS (Virtual Distributed Switch) pour la virtualisation des réseaux
- Mise en place de la haute disponibilité (HA) avec DRS (Distributed Resource Scheduler) et vSphere HA
Virtualisation des réseaux :
- Configuration des commutateurs virtuels : VSS et VDS
- Optimisation des réseaux virtualisés dans une infrastructure VMware
Gestion du stockage dans un environnement virtualisé :
- Introduction aux types de stockage (NAS, SAN)
- Configuration d’un stockage partagé avec TrueNAS et iSCSI
- Gestion des datastores et leur utilisation avec VMware vSphere
Déploiement de services en haute disponibilité :
- Configuration de clusters vSphere HA et DRS pour assurer la continuité des services
- Utilisation de vMotion pour la migration de machines virtuelles sans interruption
Projet pratique de déploiement d’un cloud privé :
- Installation et configuration d’ESXi
- Déploiement et gestion de VCenter
- Mise en place et configuration de vSphere HA, VSS/VDS, et DRS
- Configuration d’un datastore partagé avec TrueNAS et migration de VM via vMotion
-
Architecture Cloud
Réseaux
Année 3 Semestre 5
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Identifier les différents types de cloud existants et les cas d’usage de chaque type (public, privé, hybride)
- Avoir un aperçu du marché du Cloud Computing
- Comprendre les principaux types de services de Cloud Computing (IaaS, PaaS, SaaS)
- Créer des plans de migration d’infrastructures systèmes locales (on-premise) vers le cloud en considérant les spécificités de chaque environnement
- Concevoir des infrastructures informatiques cloud sécurisées et fiables
- Prendre en compte l’optimisation des coûts de déploiement et d’exploitation d’infrastructures cloud
- Automatiser les déploiements d’infrastructures cloud
- Sécuriser les données à chaque couche de l’application, en intégrant des pratiques de sécurité adaptées à l’environnement cloud
Pré-requis :
- Connaissances de base en informatique : Compréhension des concepts fondamentaux des systèmes d’exploitation, des réseaux et du stockage
- Connaissance de base dans l’administration de systèmes (Linux et Windows)
Contenu du cours :
- Introduction au cloud : Présentation des concepts et principes de Cloud Computing
- Ajout d’une couche de stockage : Services de stockage et leur intégration dans des solutions cloud
- Ajout d’une couche de calcul : Services de calcul et leur déploiement pour les applications
- Ajout d’une couche de base de données : Options de bases de données pour les applications web
- Création d’un environnement réseau : Mise en place et gestion des réseaux dans le cloud
- Connexion des réseaux : Intégration de différents réseaux et gestion de la connectivité
- Sécurisation de l’accès utilisateur et des applications : Meilleures pratiques pour sécuriser les accès
- Implémentation de l’élasticité, de la haute disponibilité et du monitoring : Stratégies pour garantir la performance et la fiabilité des systèmes
- Automatisation de l’architecture : Utilisation d’outils pour automatiser la gestion des ressources
- Mise en cache de contenu : Techniques de mise en cache pour améliorer la performance des applications
- Construction d’architectures découplées : Approches pour créer des systèmes modulaires et flexibles
- Construction de systèmes microservices et sans serveur : Concepts et meilleures pratiques pour les architectures modernes
- Planification des mesures de reprise après sinistre : Stratégies pour assurer la continuité des activités
- Préparation à la certification : Ressources et conseils pour l’examen AWS Certified Solution Architect – Associate.
-
Cryptographie et protocoles pour la sécurité informatique
Réseaux
Année 3 Semestre 5
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Analyser les différents algorithmes de cryptographie et identifier leur rôle dans la sécurisation des communications et des informations
- Appliquer des techniques et algorithmes cryptographiques pour sécuriser efficacement les informations et les communications numériques
- Évaluer les risques de sécurité liés aux vulnérabilités des systèmes informatiques avec un focus sur les aspects cryptographiques et proposer des solutions adaptées pour atténuer ces risques.
- Intégrer les bonnes pratiques pour développer et intégrer des applications sécurisées
- Implémenter et configurer des protocoles sécurisés tels que SSL/TLS et SSH, essentiels pour la sécurisation des communications réseaux
- Assurer la gestion des clés Cryptographiques : génération, partage, stockage, et révocation
- Identifier les vulnérabilités cryptographiques et réaliser des audits de sécurité ciblés
- Appliquer une politique de sécurité adaptée face aux risques et menace cyber.
Pré-requis :
- Principes de base de l’algèbre et des mathématiques discrètes
- Notions de base des probabilités et des statistiques
- Fondamentaux de la programmation en langages tels que Python ou Java
- Structures de données (listes, files, piles, tables de hachage)
- Principes de base des systèmes d’exploitation
- Notions de base sur le fonctionnement des réseaux TCP/IP et des architectures réseau.
Contenu du cours :
Enjeux de la sécurité informatique
- Importance de la sécurité de l’information
- Risques et conséquences des cyberattaques
- Analyse de différents types de cyberattaques
- Déni de service et déni de service distribué (DoS ou DDoS)
- Rançongiciel (Ransomware)
- Hameçonnage (Phishing)
- Password Spraying
- Dépassement de tampon (buffer overflow)
- Attaque par force brute, dictionnaire
- Malware
- Les méthodes et les outils d’attaque
La cryptologie et ses applications dans le domaine de la sécurité informatique
- Cryptographie, présentation des outils de cryptographie
- Chiffrements symétriques et asymétriques
- Introduction au hachage et à la sécurité des mots de passe
- Principes du hachage cryptographique
- Hachage de mot de passe avec salting
- Méthodes pour renforcer la sécurité des mots de passe
- Chiffrement et signature numérique
- Infrastructure à clé publique (PKI)
- Présentation des PKI (Public Key Infrastructure) et HTTPS
- Certificate Authority Based
- Utilisation de certificats (X509)
- Web of Trust (PGP)
- TOFU (SSH, Signal Protocol)
Travaux pratiques : Exercices pratiques et outils pour l’audit de sécurité des mots de passe
- Utilisation d’outils de « cracking » de mot de passe (John the Ripper, Hashcat)
- Techniques d’audit pour évaluer la robustesse des mots de passe
Travaux pratiques : Création et configuration de certificats pour HTTPS
- Générer une paire de clés (publique et privée)
- Création de demandes de signature de certificat (CSR)
- Signature et gestion de certificats avec une autorité de certification (CA) ou en auto-signé
- Configuration de serveurs web (par exemple, Apache, Nginx) pour utiliser HTTPS
-
Anglais S5
Anglais
Année 3 Semestre 5
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- S’exprimer en anglais, à l’écrit et à l’oral, et communiquer dans les situations professionnelles et personnelles qu’ils rencontrent
- Ce cours est le premier d’une série de 5 cours, dont la finalité est d’obtenir le niveau de compétence B2 minimum sur l’échelle CECRL (Cadre Européen Commun de Référence pour les Langues)
- L’objectif des enseignements dans ce cours est de poser les bonnes bases pour que les élèves puissent atteindre le niveau B1 à la fin de leur première année. Les enseignements s’articulent autour des deux thèmes : l’actualité et « apprendre pour apprendre ».
Contenu du cours :
- Lecture, analyse et compréhension de l’actualité écrite, audiovisuelle et en ligne
- Se familiariser avec l’anglais : style, tournures des phrases, accentuation, prononciation, expression gestuelle, et différence par rapport à la langue française.
- Apprendre au fur et à mesure à adopter un style de communication, en adéquation avec le contexte, à l’oral comme à l’écrit
- Appliquer des stratégies de communication
- Apprendre à s’autoévaluer
- Les élèves doivent suivre l’actualité en anglais et produire un rendu avec les vocabulaires et les expressions apprises
-
SHES - Géopolitique
Sciences humaines, économiques et sociales
Année 3 Semestre 5
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Connaître les différentes facettes de la géopolitique
- Inclure la dimension géopolitique au sein de la stratégie d’entreprise et de ses projets
- Comprendre la géopolitique des années 2020 et ses liens avec des faits historiques marquants
- S’informer des évolutions géopolitiques prévisibles et des opportunités et risques induits.
Pré-requis :
- Notions de géographie mondiale
- Notions d’économie (soit le cours d’Economie et citoyenneté aura eu lieu, soit un rappel sera opéré)
Contenu du cours :
- Présentation de la géopolitique
- Place de la géopolitique dans la stratégie d’entreprise et dans l’intelligence économique
- Notions de pays, de citoyens, d’institutions mondiales
- Le rôle de la géographie (au sens large) dans la Géopolitique
- Le rôle des opinions politiques et religieuses dans la Géopolitique
- Le rôle de la démographie, des migrations
- Les BRICS + et leurs projets
- La géopolitique du sport, de la culture, de la mode, etc.
- Géopolitique et mondes non-terrestres
- Géopolitique et mutations environnementales (au sens large)
- Géopolitique et innovations (industrielles, services, etc.).
Le module, compte-tenu de ses thématiques, et de l’actualité mondiale, débutera par la présentation d’une charte de bonne conduite (neutralité, recoupement des informations, modération). Chaque séance incluera une revue de presse en trois parties (International, France, Signaux faibles).
-
SHES - Pilotage d'entreprise
Sciences humaines, économiques et sociales
Année 3 Semestre 5
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Découvrir le plus de facettes possibles du pilotage d’une entreprise
- Mettre en œuvre les actions de stratégie, marketing, gestion financière, communication (Interne et Externe), gestion d’équipe et gestion du temps dans le pilotage d’entreprise sur un simulateur qui gère la concurrence économique
Pré-requis :
- Maîtrise d’Excel
- Connaître les bases de la gestion et des méthodologies de stratégie peut être utile
Contenu du cours :
- Les élèves sont répartis par équipe. Chaque équipe se doit de piloter une entreprise sur un simulateur qui gère la concurrence économique. L’apprentissage se base sur la stratégie de « Learning by Doing », avec une possibilité de se documenter un peu à l’avance sur le cas
- Le timing est volontairement lent au début dans un contexte simple à gérer. Tout s’accélère ensuite, avec beaucoup d’évènements à traiter. Nous limitons quand même sciemment l’accélération pour que les participants puissent prendre le recul demandé sur les notions acquises, sur le comportement de l’équipe et aussi pour qu’ils construisent leurs propres outils de pilotage
- Le scénario vécu comporte des périodes de croissance et de décroissance, une crise sanitaire, un communiqué de presse, un cahier des charges à destination d’une agence de publicité, un appel d’offre, une pandémie, un challenge de prévision financière, la recherche et le suivi d’indicateurs pour la construction d’un tableau de bord
- Une synthèse finale défendant le pilotage réalisé est demandée
- Par ailleurs la créativité est sollicitée puisque le futur lointain du secteur est très noir et il est demandé aux participants d’imaginer des solutions pour assurer la survie de l’entreprise
- Comme tout cela est multi-factoriel et concurrentiel, les participants sont amenés à constater que le marché ne réagit pas forcément aux sollicitations d’une entreprise, et que tout dépend de ce que font les concurrents
- Sur le plan des Relations Humaines, une prise de recul est demandée sur l’attitude des individus et de l’équipe. Comment savoir imposer ses idées, ou au contraire savoir accepter et appliquer celles des autres pour que le groupe soit efficace.
-
SHES - Green IT
Sciences humaines, économiques et sociales
Année 3 Semestre 5
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Comprendre les enjeux environnementaux et sociaux du numérique
- Découvrir les méthodes de mesure d’empreinte environnementale du numérique
- Découvrir l’écoconception
- Découvrir l’accessibilité numérique
Contenu du cours :
- Fresque du Numérique
- Empreinte environnementale du numérique et stratégie numérique responsable : comment mesurer et définir une stratégie NR
- L’écoconception : qu’est-ce que c’est et Comment s’y prendre ?
- L’accessibilité numérique : qu’est-ce que c’est et Comment s’y prendre ?
-
SHES - Prise de parole en public et la créativité et ses enjeux
Sciences humaines, économiques et sociales
Année 3 Semestre 5
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
Savoir s’exprimer devant un public, dans des situations variées, (souvent déstabilisantes) :
Savoir transmettre un message construit, répété, préparé ou improvisé :
- en contrôlant des attitudes (ancrage, langage corporel, stress
- en maîtrisant sa diction, sa voix et sa respiration
- en développant son écoute active de la situation (spectateurs, environnement, partenaires)
- Maîtriser la qualité de ses interventions
- Savoir se mettre en valeur et utiliser ses qualités
Travailler sa créativité (spontanée et réfléchie)
Travailler en groupe. Améliorer et analyser son comportement dans le travail en équipe
Prendre conscience de soi (concentration, relâchement, fonctionnement, gestes ou attitudes parasites)
Contenu du cours :
- Exercices d’improvisation, de prise de parole en public, de respiration, de concentration, de relâchement…, Apports théoriques
- Travaux collectif et individuel
- Nous avons fait le choix d’une pédagogie favorisant la progression en abordant tous les objectifs (prise de parole, créativité, gestion du stress) à chaque séance en augmentant progressivement la difficulté des exercices
- Exercice en groupe : Rotation permanente des groupes pour forcer l’adaptation des étudiants à un nouveau contexte et une confrontation avec différentes énergies, différentes personnalités. L’écoute de ses partenaires au service d’un projet commun, que ce soit en improvisation ou en préparation, est une constante des exercices de groupe.
-
Systèmes d'exploitation et programmation concurrente
Informatique
Année 3 Semestre 6
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Décrire les fonctionnalités et les architectures possibles d’un système d’exploitation
- Comprendre le fonctionnement interne du système d’exploitation Linux (processus, fichiers, mémoire, etc.)
- Comprendre les notions de processus et threads, les contextes d’exécution et le concept d’ordonnancement de threads/processus
- Maîtriser les concepts et notions sous-jacents à la programmation concurrente
- Résoudre des problèmes algorithmiques en se servant de la programmation concurrente
- Savoir développer une application utilisant les threads/processus et les mécanismes de synchronisation et de communication en C.
Pré-requis :
Une solide base de programmation en langage C : structure d’un programme, types simples et structurés (tableau, structures), structures de contrôle, fonctions, et pointeurs
Contenu du cours :
- Architecture et fonctionnement interne d’un système Linux
- Types de fichiers sous linux – Rappel
- Programmation en C – Rappel (Types, variables, fonctions, passage de paramètres)
- Processus et threads
- Signaux sous linux
- Communication entre processus : tubes, fichiers, redirection
- Synchronisation des processus – sémaphores
- Partage de mémoire entre processus: Mutex
- Programmation concurrente: Multiprocessing et Multithreading
-
Structures de données et algorithmique
Réseaux
Année 3 Semestre 6
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Comprendre les concepts fondamentaux de l’analyse des algorithmes (analyse de la complexité des algorithmes, Master Theorem)
- Concevoir et évaluer des algorithmes efficaces
- Maîtriser les paradigmes algorithmiques courants (diviser pour régner, programmation dynamique)
- Utiliser efficacement les structures de données : Sélectionner les structures de données appropriées et analyser les opérations sur ces structures
- Résoudre des problèmes pratiques : modéliser des problèmes sous forme algorithmique et implémenter les algorithmes
- Maîtriser les algorithmes classiques (tris, parcours de graphes, plus courts chemins…)
- Justifier les choix algorithmiques
Pré-requis :
- Notions de mathématiques discrètes : combinatoire, raisonnement par récurrence
- Algèbre et analyse : calcul matriciel, manipulation de fonctions, limites, logarithmes et exponentielles, croissances comparées
- Programmation : niveau de base en Python (syntaxe, fonctions, classes…)
Contenu du cours :
- Structures de données vs. Types de données ; structures et types usuels
- Introduction à la complexité algorithmique
- Fonctions récursives ; paradigme « Diviser pour régner » ; Master Theorem
- Structures arborescentes (arbres, arbres binaires de recherche, arbres équilibrés…)
- Introduction à la théorie des graphes ; modélisation d’un problème à l’aide de graphes
- Parcours de graphes
- Fonctions Programmation dynamique
-
Mise en oeuvre d'un système à microprocesseur
Electronique
Année 3 Semestre 6
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Comprendre par la pratique et au travers de la mise en œuvre d’une application le fonctionnement d’un microprocesseur et de son intégration dans un système électronique
- Utiliser un microprocesseur (microcontrôleur) et ses périphériques pour résoudre des problèmes simples de contrôle, d’acquisition et de calcul
- Identifier à partir de la documentation d’un microprocesseur :
– Le type d’architecture, la capacité de calcul et la capacité d’adressage mémoire
– Les entrées-sorties et la signification de ses signaux d’adresses, de données et de contrôle
– Les registres d’adresses, registres généraux, registres de contrôles
– Les périphériques intégrés- Concevoir un système à base d’un microprocesseur :
-Définir les zones d’adressage pour la mémoire et les périphériques d’entrées-sorties
– Fabriquer la cartographie mémoire
– Ecrire les équations de décodage des mémoires et des entrées sorties et les réaliser- Programmer un microcontrôleur en C :
– Ecrire un algorithme, écrire le programme correspondant et le corriger
– Comprendre l’incidence des instructions sur les registres de contrôles
– Exécuter le programme
– Utiliser les outils de DEBUG pour vérifier le bon fonctionnement du programmePré-requis :
Cours d’architecture des ordinateurs du semestre 5 (3IRC).
Contenu du cours :
Prise en main du simulateur et connaissance du 8051F020
- Architecture générale et structure interne du 8051F020
- Présentation du langage C et spécificité du 8051F020
- Prise en main de l’environnement KEIL (écriture, simulation, visualisation, DEBUG, etc.).
- Initiation au langage C et programmation du 8051F020
- Ecriture de sous programmes et manipulation de la pile
Découverte et mise en œuvre des périphériques intégrés du 8051F020
- Approche méthodologique
- Identification des registres, mise en évidence des drapeaux, programmation et principe de vérification matérielle
- Applications (ports d’entrées sorties, interruptions, liaison série, compteurs et temporisateurs, CAN, CNA, …)
Mise en œuvre d’une application pratique : analyse d’un cahier des charges, proposition d’une solution, programmation, débogage et vérification du fonctionnement
-
Bases de données
Informatique
Année 3 Semestre 6
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Concevoir (modéliser) une base de données relationnelle normalisée et la créer.
- Requêter et manipuler les données d’une base de données relationnelle
- Améliorer les performances d’une base de données relationnelle : dénormalisation (nécessaire et suffisante) du schéma, indexation, clusters, tables partitionnées
- Administrer un SGBD relationnelles
Contenu du cours :
- Modélisation, Formes normales
- Algèbre relationnelle
- SQL
- Dénormalisation d’un schéma relationnel
- Indexation et autres techniques d’optimisation d’une BD relationnelle
- Administration d’un SGBD relationnelles
-
Développement embarqué et IoT
Réseaux
Année 3 Semestre 6
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Concevoir une architecture IoT en maîtrisant les composants clés : objets, passerelles, contrôleurs, et applications
- Analyser et comparer les différents types de liaisons sans fil pour objets connectés
- Configurer et évaluer les protocoles d’acquisition de données à partir des capteurs
- Traiter les données provenant de dispositifs Android pour le contrôle d’actionneur
- Mettre en œuvre des stratégies de collecte et de transmission des données IOT vers le cloud
- Concevoir et implémenter une chaîne de traitement IoT complète, du capteur au stockage et traitement des données sur le cloud ou sur le concentrateur
Pré-requis :
- Notions de base en informatique : Connaissance des concepts fondamentaux des systèmes d’exploitation, des réseaux, et du traitement des données
- Connaissances de base en électronique : Compréhension des microcontrôleurs et capteurs
Contenu du cours :
Conception d’une architecture IoT :
- Architecture générique de l’IoT
- Configurer des communications M2M, P2M, P2P
- Analyser les domaines d’application de l’IoT
Mise en œuvre des protocoles d’acquisition de données :
- Configurer les microcontrôleurs pour capteurs (numérique, analogique, I2C, SPI).
Analyse des protocoles de collecte de données :
- Configurer des passerelles pour liaisons filaires ou radiofréquences (WiFi, Zigbee, Bluetooth, Lora, Zigfox).
Traitement des données sur dispositifs mobiles :
- Exploiter les capteurs d’un dispositif Android pour contrôler des acteurs.
Transmission sécurisée vers le cloud :
- Configurer le protocole MQTT pour la transmission des données.
Projet d’intégration IoT :
- Concevoir et configurer une solution complète (capteur, microcontrôleur, passerelle, cloud, visualisation des données).
-
Conception et programmation orientées objet en Java
Informatique
Année 3 Semestre 6
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Faire évoluer l’architecture d’une application Java tout en respectant la conception initiale et en garantissant la qualité du programme (respect des principes S.O.L.I.D en s’appuyant sur les piliers de la POO que sont : l’abstraction, l’encapsulation, l’héritage, le polymorphisme.).
- Concevoir les tests avant de coder.
- Evaluer la conception et son impact sur la facilité de maintenance (corrections et évolutions mineures), d’extension (ajout de nouvelles fonctionnalités) et de réutilisation des composants du programme.
Pré-requis :
Programmation en C ou Python ou Java
Contenu du cours :
- Le cours est organisé en 4 ateliers qui s’appuieront sur un projet fil rouge à développer, développement qui sera entrecoupé d’activités de recherche et de transfert de compétences, de brainstorming collectifs et d’interludes théoriques.
- Il est conçu de manière à ce que chacun.e puisse avancer à son rythme, en fonction de ses prérequis, en privilégiant le travail collaboratif pour acquérir un maximum de compétences.
- Le programme FilRouge est développé de manière incrémentale à partir d’une base fournie. Le langage utilisé est le Java.
- La pédagogie s’appuie sur les principes de la classe inversée (exploration autonome des ressources, exercices et consolidation des acquis en séance) et d’apprentissage par problèmes (1 gros pb décomposé en une succession d’étapes avec pour chaque la compréhension du pb, l’acquisition de connaissance (auto-formation), la recherche et la mise en œuvre de la solution).
-
Architectures et langages du Web
Informatique
Année 3 Semestre 6
4 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Développer des applications web pleinement dynamiques en utilisant les langages adaptés côté serveur et côté client
- Concevoir des services web respectant une architecture standardisée qui profite pleinement des composants du protocole HTTP
- Documenter et tester des services web pour garantir leur bonne intégration
- Profiter de l’asynchronicité propre à l’architecture client-serveur pour dynamiser ces applications
- Choisir et implémenter des architectures et outils adaptés au web qui garantissent modularité et maintenabilité
- Sécuriser les échanges et les données
Pré-requis :
- Notions de base en programmation (la connaissance d’un langage héritant du C est un plus : C, C++, C#, Java, etc.)
- Connaissances solides en HTML et CSS.
- Connaissances de base en JavaScript (une maîtrise du concept d’asynchronicité et de la notion de Promise sont un plus).
- Une compréhension des principes de bases de la POO sont un plus.
- Des ressources sur HTML, CSS et JavaScript seront fournies en amont avant le démarrage du module.
Contenu du cours :
- Prise en main du langage côté serveur (PHP)
- Réalisation d’une API REST, utilisation avancée d’HTTP (en-têtes, statuts, méthodes)
- Documentation d’API avec Swagger, Postman ou assimilé
- Appels HTTP en JavaScript (promesses et fetch)
- Architectures et outils abordés :
– Point d’entrée unique et routage
– MVC
– Rendus côté serveur et côté client
– Moteur de templates
- Sécurité : session, authentification, contrôle de données, CORS
-
Anglais-S6
Anglais
Année 3 Semestre 6
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Mener et participer à une réunion d’ordre professionnel
- Préparer une réunion et en rédiger le compte-rendu
- Gérer et mener à bien une situation professionnelle conflictuelle
- Analyser un texte et rédiger un commentaire
- Composer un texte en anglais
- Faire une présentation orale sur un sujet imposé et/ou libre (actualité, environnement, géopolitique, santé, IT, …)
Contenu du cours :
- Développement des communications orales et écrites
- Développement des techniques de présentations
- Aperçu des différentes cultures d’entreprises internationales
- Gestion de conflit
-
SHES - Economie
Sciences humaines, économiques et sociales
Année 3 Semestre 6
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Connaître les bases de l’économie (macro-économie, micro-économie, principaux courants, principales lois)
- Rapprocher les notions économiques de la vie de l’entreprise dans sa dimension stratégique (moyen/long terme) voire opérationnelle (court terme)
- Comprendre les risques que les situations et évolutions économiques génèrent, et s’y préparer
- Connaître les modes de financement des entreprises
- Intégrer une dimension éthique/citoyenne dans l’approche financière du développement d’une entreprise ou d’un projet.
Pré-requis :
- Connaissance minimale du fonctionnement d’un Etat (présidence, ministère, banques…)
- Connaissance minimale du fonctionnement d’une entreprise (associés/actionnaires, marchés…)
Contenu du cours :
- Présentation de l’économie
- Macro-économie, micro-économie : indicateurs et acteurs
- Mondialisation / démondialisation
- Intelligence économique
- Souveraineté industrielle et relocalisations
- Eco-responsabilité et marché des gaz à effet de serre
- Financement des entreprises
- Fixation du prix de vente des produits/services en environnement concurrentiel
-
SHES - Droit
Sciences humaines, économiques et sociales
Année 3 Semestre 6
2 crédits
Tronc commun
Objectifs pédagogiques / Acquis du cours :
- Comprendre les fondamentaux du droit des brevets
- Appréhender les enjeux économiques et stratégiques des brevets pour les entreprises
- Développer des compétences en recherche de brevets et en rédaction de demandes de brevets
- Sensibilisation aux questions éthiques et juridiques liées à la propriété intellectuelle
Pré-requis :
Connaissances générales des concepts fondamentaux de l’innovation et de la recherche-développement
Contenu du cours :
- Introduction au droit des brevets
- Recherche de brevets et information brevets
- Aspects économiques et éthiques des brevets
- Études de cas et ateliers pratiques
-
Majeure Développement, DATA et IA
Majeure scientifique, au choix
Année 4 Semestre 7
16 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Mathématiques : 2 crédits ECTS
- DevOps CI/CD (orienté SAAS) : 2 crédits ECTS
- Sécurité du code : 2 crédits ECTS
- Design Patterns (DP) : 2 crédits ECTS
- Algorithmes avancés : 2 crédits ECTS
- Projet transversal : 6 crédits ECTS
-
Majeure IA et robots autonomes
Majeure scientifique, au choix
Année 4 Semestre 7
16 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Mathématiques : 2 crédits ECTS
- DevOps CI/CD (orienté SAAS) : 2 crédits ECTS
- Sécurité du code : 2 crédits ECTS
- Capteurs et robotique probabiliste : 2 crédits ECTS
- Algorithmes avancés : 2 crédits ECTS
- Projet transversal : 6 crédits ECTS
-
Majeure Infrastructures, systèmes et réseaux
Majeure scientifique, au choix
Année 4 Semestre 7
16 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Mathématiques : 2 crédits ECTS
- Routage : 2 crédits ECTS
- WAN (WAN, QoS, HA) : 4 crédits ECTS
- Sécurité des réseaux : 2 crédits ECTS
- Projet transversal : 6 crédits ECTS
-
Majeure Cybersécurité
Majeure scientifique, au choix
Année 4 Semestre 7
16 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Mathématiques : 2 crédits ECTS
- Routage : 2 crédits ECTS
- Sécurité du code : 2 crédits ECTS
- Sécurité des systèmes (Linux et Windows) : 2 crédits ECTS
- Sécurité des réseaux : 2 crédits ECTS
- Projet transversal : 6 crédits ECTS
-
Anglais
Anglais
Année 4 Semestre 7
2 crédits
Tronc commun
-
SHES
Sciences humaines, économiques et sociales
Année 4 Semestre 7
2 crédits
Tronc commun
-
Majeure Développement, DATA et IA
Majeure scientifique, au choix
Année 4 Semestre 8
16 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Data mining et Machine learning : 3 crédits ECTS
- DevOps monitoring / Load balancing : 2 crédits ECTS
- Bases de données avancées : 3 crédits ECTS
- ASI : 2 crédits ECTS
- ASI.NET : 3 crédits ECTS
- User Experience (UX) – Dev Mobile : 2 crédits ECTS
- Conférences : 1 crédit ECTS
-
Majeure IA et robots autonomes
Majeure scientifique, au choix
Année 4 Semestre 8
16 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Data mining et Machine learning : 3 crédits ECTS
- Prototypage : 2 crédits ECTS
- Interface Homme/Robot : 3 crédits ECTS
- ASI : 2 crédits ECTS
- Frameworks robotiques : 3 crédits ECTS
- Systèmes et autonomie des transports : 2 crédits ECTS
- Conférences : 1 crédit ECTS
-
Majeure Infrastructures, systèmes et réseaux
Majeure scientifique, au choix
Année 4 Semestre 8
16 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- DevOps CI/CD (orienté SAAS) : 3 crédits ECTS
- DevOps monitoring/Load balancing : 2 crédits ECTS
- Sécurité Cloud : 3 crédits ECTS
- IoT : 2 crédits ECTS
- Radio logicielle : 3 crédits ECTS
- Wireless : 2 crédits ECTS
- Conférences : 1 crédit ECTS
-
Majeure Cybersécurité
Majeure scientifique, au choix
Année 4 Semestre 8
16 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- DevOps CI/CD (orienté SAAS) : 3 crédits ECTS
- DevOps monitoring / Load balancing : 2 crédits ECTS
- Sécurité Cloud : 3 crédits ECTS
- IoT : 2 crédits ECTS
- Pentesting/Malware : 5 crédits ECTS
- Conférences : 1 crédit ECTS
-
Anglais
Anglais
Année 4 Semestre 8
2 crédits
Tronc commun
-
SHES
Sciences humaines, économiques et sociales
Année 4 Semestre 8
2 crédits
Tronc commun
-
Majeure Développement, DATA et IA
Majeure scientifique, au choix
Année 5 Semestre 9
26 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- ASI : 6 crédits ECTS
- Big data analytics : 3 crédits ECTS
- IA et RL (Reinforcement Learning) : 3 crédits ECTS
- Initiation à la recherche : 2 crédits ECTS
- Projet : 12 crédits ECTS
-
Majeure IA et robots autonomes
Majeure scientifique, au choix
Année 5 Semestre 9
26 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Systèmes embarqués motorisés : 3 crédits ECTS
- Robotique mobile : 3 crédits ECTS
- Vision : 3 crédits ECTS
- Deep Learning : 3 crédits ECTS
- Initiation à la recherche : 2 crédits ECTS
- Projet : 12 crédits ECTS
-
Majeure Infrastructures, systèmes et réseaux
Majeure scientifique, au choix
Année 5 Semestre 9
26 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Réseaux cellulaires : 3 crédits ECTS
- VOIP : 3 crédits ECTS
- Appel d’offres : 3 crédits ECTS
- Certifications : 3 crédits ECTS
- Initiation à la recherche : 2 crédits ECTS
- Projet : 12 crédits ECTS
-
Majeure Cybersécurité
Majeure scientifique, au choix
Année 5 Semestre 9
26 crédits
Parcours individualisé
Liste des différents modules abordés dans cette majeure :
- Gouvernance de la sécurité (gestion des risques, normes, audit,…) : 3 crédits ECTS
- Supervision / Monitoring de la sécurité : 3 crédits ECTS
- IA appliquée à la sécurité des réseaux/systèmes : 3 crédits ECTS
- Certifications : 3 crédits ECTS
- Initiation à la recherche : 2 crédits ECTS
- Projet : 12 crédits ECTS
-
Anglais
Anglais
Année 5 Semestre 9
2 crédits
Tronc commun
-
SHES
Sciences humaines, économiques et sociales
Année 5 Semestre 9
2 crédits
Tronc commun
Il n'y a pas de modules correspondants.