Composante
ENSEIRB-MATMECA
Niveau d'étude visé
Bac + 5 - Master, DEA, DESS, diplôme d'ingénieur
ECTS
180 crédits
Durée
3 années
Langue(s) d'enseignement
Français
Présentation
Former des ingénieurs capables de maitriser les principaux domaines de l’informatique, dans ses aspects théoriques, fondamentaux et pratiques ; et de mettre en oeuvre ses solutions. La structuration de la formation permet à tous les ingénieurs d’acquérir un large spectre de compétences demandées par les entreprises (logiciel, algorithmique, intelligence artificielle, travail en équipe, etc). Les spécialisations proposées complètent cette formation par des compétences plus pointues (calcul intensif et sciences de données, robotique et apprentissage, intelligence artificielle, génie logiciel et cybersécurité).
"La formation en informatique nous apprend les bases de la programmation et des systèmes d'information en nous faisant découvrir tous les aspects qui entourent l'informatique, pour ensuite nous permettre de nous spécialiser dans un domaine précis. Au-delà de l'expertise technique, les professeurs et personnels administratifs œuvrent pour nous transmettre des valeurs humaines et sociales qui complètent notre formation d'ingénieur en nous sensibilisant aux différents enjeux sociétaux et environnementaux. J'ai eu la chance d'effectuer un stage dans une banque puis une mobilité à Montréal avant de me spécialiser en cybersécurité."
Marwan
Objectifs
Les deux premières années de formation sont organisées autour de thématiques d’enseignements générales à l’informatique. La 3ème année est dédiée à des options de spécialisation.
Trois stages, d’une durée cumulée de 12 mois, permettent l’immersion progressive dans l’entreprise en France ou à l’étranger.
Labels
La formation est accréditée par la Commission des Titres d’Ingénieur (CTI).
La formation a reçu le label européen EUR-ACE qui atteste de la qualité de nos programmes de formation, à la fois pour nos élèves-ingénieurs et pour les entreprises qui recrutent nos diplômés.
Ce label facilite notamment :
- La mobilité étudiante entre les établissements d’enseignement supérieur détenteurs du label.
- L’employabilité et la mobilité professionnelle de nos diplômés grâce à la reconnaissance de leur formation selon des standards européens communs exigeants.
Dimension internationale
Une mobilité internationale de minimum 17 semaines est obligatoire à l’ENSEIRB-MATMECA, en échange universitaire ou en stage. Plus d’informations.
Les + de la formation
- Pédagogie active et ludique.
- Projets innovants menés par groupes d’élèves, soumis par des entreprises ou par des académiques.
- Flexibilité du parcours, sur mesure dès la 1ère année grâce aux modules optionnels et un large choix de modules en 3ème année, possibilité de faire une partie de sa formation à l’étranger.
- Spécialisation par petits groupes d’élèves, avec de nombreux enseignants du monde industriel.
- Renforcement de l’anglais scientifique au travers de rapports et soutenances en anglais.
- Mobilité internationale de minimum 17 semaines.
Programme
Les deux premières années ont pour objectif l’acquisition de compétences de niveau ingénieur grâce aux enseignements généralistes et aux projets. La troisième année offre la possibilité d’approfondir ses connaissances et ses compétences grâce à la spécialisation choisie. Trois stages, d’une durée cumulée de 12 mois, permettent l’intégration progressive dans le milieu professionnel.
Plusieurs types de mobilité sont possibles, en France ou à l’étranger :
- Dans le cadre d’un ou plusieurs stages de la formation
- En 2ème ou 3ème année dans le cadre d’une mobilité académique dans l’un des établissements partenaires.
En France
Possibilité d’effectuer sa 3ème année dans une école ou université partenaire (Groupe INP, Réseau Polyméca).
A l’international
Une mobilité internationale de minimum 17 semaines est obligatoire à l’ENSEIRB-MATMECA, en échange universitaire ou en stage. Plus d’informations.
Sélectionnez un programme
Année 1 - Ingénieur Informatique
UE I5-A - Algorithmique et mathématiques 1
10 créditsInitiation à l'algorithmique
Coef. 2Structures arborescentes
Coef. 2Probabilités et statistiques
Coef. 2,5Logique et preuve
Coef. 2Analyse des données et Théorie de l'information (au choix)
Au choix : 1 parmi 2
Traitement de l'Information
Coef. 1,5Théorie de l'information
Coef. 1,5
UE I5-B - Programmation et environnement informatique 1
10 créditsEnvironnement de travail
Coef. 3Structure des ordinateurs
Coef. 3Programmation impérative 1
Coef. 4
UE I5-C - Projet de Programmation
5 créditsUE I5-D - Langues et culture de l'ingénieur
5 créditsLV1 Anglais
Coef. 1,5LV2
Coef. 1Activité Physique Sportive et Artistique
Coef. 1Développement durable et responsabilité sociétale : Partie 1/2
Coef. 0,5Intégrer l'entreprise
Coef. 1
UE I6-A - Algorithmique et mathématiques 2
10 créditsAutomates finis et applications
Coef. 2Algorithmique de graphes
Coef. 3Recherche Opérationnelle
Coef. 2Algorithmique numérique
Coef. 3
UE I6-B - Programmation et environnement informatique 2
10 créditsUE I6-C - Projets 2
5 créditsProjet de programmation impérative
Coef. 2,5Projet de programmation fonctionnelle
Coef. 2,5
UE I6-D - Langues et culture de l'ingénieur
5 créditsLV1 Anglais
Coef. 1,5LV2
Coef. 1Activité Physique Sportive et Artistique
Coef. 1Développement durable et responsabilité sociétale : Partie 2/2
Coef. 0,5Intégrer l'entreprise
Coef. 1
Année 2 - Ingénieur Informatique
UE I7-A - Programmation et système
10 créditsCompilation
Coef. 2,25Génie Logiciel
Coef. 1,5Programmation Orientée Objets
Coef. 2,25Programmation Système
Coef. 2,5Programmation C++
Coef. 1,5
UE I7-B - Internet et réseaux
9 créditsUn module (au choix)
Au choix : 1 parmi 5
Introduction à l'informatique quantique
Coef. 2,5Algorithmique parallèle
Coef. 2,5Algorithmique distribuée
Coef. 2,5Data Science
Coef. 2,5Programmation Web
Coef. 2,5
Systèmes de Gestion de Bases de Données
Coef. 2,5Architecture des réseaux TCP/IP
Coef. 2,5
UE I7-C - Conception logiciel
6 créditsProjet de compilation
Coef. 2Projet de SGBD
Coef. 2Projet de Programmation Orientée Objets
Coef. 2
UE I7-D - Langues et Culture de l'ingénieur
5 créditsLV1 Anglais
Coef. 2,50 créditsLV2
Coef. 1Engagement Etudiant facultatif (Niveau élevé)
Engagement Étudiant facultatif (Niveau très élevé)
Intégrer l'entreprise
Coef. 1,5
UE I8-A - Systèmes et applications
10 créditsCryptologie
Coef. 2,25Calculabilité et complexité
Coef. 2Intelligence artificielle
Coef. 2Systèmes d'exploitation
Coef. 2,25Applications TCP/IP
Coef. 1,5
I8-B : UE personnalisée (au choix)
Au choix : 1 parmi 4
UE I8-E - UE-B-1 : 1 module EX214 + 2 modules EX205 sans TOEIC
9 créditsI2-S8 Modules informatiques (au choix)
Au choix : 2 parmi 9
Théorie des jeux pour la modélisation informatique
Coef. 3Flot et Combinatoire
Coef. 3Génie logiciel avancé
Coef. 3Securite des systemes d'information
Coef. 3Systèmes de Types et Programmation
Coef. 3Makers
Coef. 3Interfaces sonores
Coef. 3Initiation à la recherche - Parcours PhD
Coef. 3Programmation multicoeur et GPU
Coef. 3
I2-S8 Modules informatiques (au choix)
Au choix : 1 parmi 4
UE I8-F - UE-B-2 : 1 module EX214 + 1 module EX205 + 2 modules EX206, sans TOEIC
9 créditsI2-S8 Modules informatiques (au choix)
Au choix : 2 parmi 9
Théorie des jeux pour la modélisation informatique
Coef. 3Flot et Combinatoire
Coef. 3Génie logiciel avancé
Coef. 3Securite des systemes d'information
Coef. 3Systèmes de Types et Programmation
Coef. 3Makers
Coef. 3Interfaces sonores
Coef. 3Initiation à la recherche - Parcours PhD
Coef. 3Programmation multicoeur et GPU
Coef. 3
Liste de modules (culture de l'ingénieur)
Au choix : 1 parmi 9
Management de projet digital et innovant
Coef. 0,5Intelligence Economique
Coef. 0,5Initiation à la finance de marché
Coef. 0,5Sciences techniques et sociétés
Coef. 0,5Parcours entrepreneur
Coef. 0,5Management humain et performant
Coef. 0,5Management & santé au travail
Coef. 0,5Module extérieur
Coef. 0,5Initiation à la recherche - parcours PhD
Coef. 0,5
I2-S8 Modules informatiques (au choix)
Au choix : 1 parmi 4
UE I8-G - UE-B-3 : 1 module EX214 + 2 modules de EX205 + LC206 (Rattrapage TOEIC)
9 créditsI2-S8 Modules informatiques (au choix)
Au choix : 2 parmi 9
Théorie des jeux pour la modélisation informatique
Coef. 3Flot et Combinatoire
Coef. 3Génie logiciel avancé
Coef. 3Securite des systemes d'information
Coef. 3Systèmes de Types et Programmation
Coef. 3Makers
Coef. 3Interfaces sonores
Coef. 3Initiation à la recherche - Parcours PhD
Coef. 3Programmation multicoeur et GPU
Coef. 3
I2-S8 Modules informatiques (au choix)
Au choix : 1 parmi 4
S8 TOEIC (Rattrapage obligatoire)
Coef. 1
UE I8-H - UE-B-4 : 1 module EX214 + 1 module EX205 + 1 module EX206 + LC206 (Rattrapage TOEIC)
9 créditsI2-S8 Modules informatiques (au choix)
Au choix : 2 parmi 9
Théorie des jeux pour la modélisation informatique
Coef. 3Flot et Combinatoire
Coef. 3Génie logiciel avancé
Coef. 3Securite des systemes d'information
Coef. 3Systèmes de Types et Programmation
Coef. 3Makers
Coef. 3Interfaces sonores
Coef. 3Initiation à la recherche - Parcours PhD
Coef. 3Programmation multicoeur et GPU
Coef. 3
Liste de modules (culture de l'ingénieur)
Au choix : 1 parmi 9
Management de projet digital et innovant
Coef. 0,5Intelligence Economique
Coef. 0,5Initiation à la finance de marché
Coef. 0,5Sciences techniques et sociétés
Coef. 0,5Parcours entrepreneur
Coef. 0,5Management humain et performant
Coef. 0,5Management & santé au travail
Coef. 0,5Module extérieur
Coef. 0,5Initiation à la recherche - parcours PhD
Coef. 0,5
I2-S8 Modules informatiques (au choix)
Au choix : 1 parmi 4
S8 TOEIC (Rattrapage obligatoire)
Coef. 1
UE I8-C - Projet de génie logiciel
6 créditsProjet de systèmes d'exploitation
Coef. 2Projet de Génie Logiciel - Développement
Coef. 2Projet de réseaux
Coef. 2
Langues et Culture de l'ingénieur
5 crédits
Année 3 - Ingénieur Informatique
Au choix : 1 parmi 8
Semestre 9 - Extérieur
30 créditsSemestre 9 - Algorithmes et méthodes formelles (AMF)
30 créditsUE I9AMF-A - Master informatique Université de Bordeaux (au choix)
Au choix : 1 parmi 2
UE I9AMF-A1 - Modèles et algorithmes
25 créditsPersonnalisation (au choix)
Au choix : 1 parmi 3
Jeux, synthèse et contrôle
Coef. 6Vérification de logiciels
Coef. 6Algorithmique appliquée
Coef. 6
Logique et langages
Coef. 6Théorie des graphes avancée
Coef. 3Algorithmique distribuée
Coef. 3Séminaire
Coef. 3Initiation à la recherche
Coef. 3
UE I9AMF-A2 - Vérification logicielle
25 créditsPersonnalisation 1 (au choix)
Au choix : 1 parmi 4
Théorie des graphes avancée
Coef. 3Algorithmique distribuée
Coef. 3Systèmes de types et programmation
Coef. 3Types, spécifications et preuves
Coef. 3
Personnalisation 2 (au choix)
Au choix : 1 parmi 2
Logique et langages
Coef. 6Algorithmique appliquée
Coef. 6
Jeux, synthèse et contrôle
Coef. 6Vérification de logiciels
Coef. 6Séminaire
Coef. 3Initiation à la recherche
Coef. 3
UE I9AMF-B - Conception formelle des logiciels
5 créditsConception formelle
Coef. 2,5Spécification et preuve formelle de programmes
Coef. 2,5
Semestre 9 - Calcul Intensif et les Sciences des Données
30 créditsArchitectures, langages et modèles de programmation
6 créditsAlgorithmique du calcul hautes performances, de la classification et de l'apprentissage
6 créditsEnvironnement d'exécution, d'extraction et de visualisation
6 créditsIntroduction à la visualisation scientifique
Coef. 2Supports pour le traitement de données
Coef. 2Parcours personnalisé (au choix)
Au choix : 1 parmi 2
Apprentissage profond efficace
Coef. 2Programmation 3D
Coef. 2
Modules applicatifs
7 créditsTraitement des données in-situ
Coef. 2Fouille, extraction et visualisation
Coef. 2Projet Application HPC
Coef. 4
UE Langues et culture de l'ingénieur
7 crédits
Semestre 9 - Génie logiciel
30 créditsUE I9GL-A - Méthodologie
5 créditsTest du logiciel
Coef. 1,5Conduite de projet
Coef. 2Urbanisation et Architecture des Systèmes d'Information
Coef. 1,5
UE I9GL-B - Conception et Validation de logiciels
5 créditsSpécification et preuve formelle de programmes
Coef. 2,5Conception orientée objet
Coef. 2,5
UE I9GL-C - Ingénierie des données
5 créditsDevOps pour les données
Coef. 2,5Gestion et analyse de masse de données - Big Data
Coef. 2,5
UE I9GL-D - Architecture distribuée et mobile
5 créditsApplications concurrentes et distribuées
Coef. 2,5Développement d'applications mobiles
Coef. 2,5
UE I9GL-E - Personnalisation
5 créditsModule libre d'informatique
Coef. 2,5Méthodologie et outils logiciels
Coef. 2,5
UE Langues et culture de l'ingénieur
5 crédits
Semestre 9 - Intelligence Artificielle
30 créditsUE I9IA-A - Connaissance et Raisonnement
6 créditsAlgorithmes de Recherche
Coef. 2,5Représentation des Connaissances
Coef. 2,5Intelligence Artificielle pour les Jeux Vidéos
Coef. 1
UE I9IA-B - Science des Données et Apprentissage
6 créditsApprentissage automatique
Coef. 1,5Apprentissage profond
Coef. 2Apprentissage par renforcement
Coef. 1
UE I9IA-C -Applications de l'Intelligence Artificielle
6 créditsVision par ordinateur
Coef. 1,5Apprentissage profond efficace
Coef. 2Ingénierie logicielle pour l'IA
Coef. 1Intelligence artificielle musicale
Coef. 1Analyse de vidéos
Coef. 1
UE I9IA-E - Parcours de Professionnalisation
7 créditsProjet Semestriel
Coef. 5Séminaires Professionnels
Coef. 1
UE Langues et culture de l'ingénieur
5 crédits
Semestre 9 - Robotique et apprentissage
30 créditsUE I9ROBOT-A - Modélisation et commande de systèmes robotiques
5 créditsUE I9ROBOT-B - IA et robotique
5 créditsInteractions humains robots
Coef. 1,5IA pour la robotique autonome
Coef. 1,5Planification
Coef. 1Outils d'imagerie pour la robotique
Coef. 2
UE I9ROBOT-C - Systèmes embarqués
5 créditsMécatronique
Coef. 2Projet systèmes embarqués
Coef. 3
UE I9ROBOT-D - Projet Robotique
5 créditsProjet robotique
Coef. 4Etat de l'art Projet Robotique
Coef. 1
UE I9ROBOT-E - Intégration professionnelle
5 créditsUn premier robot en Atelier Robotique
Coef. 2Journée dans les pas d'un dirigeant d'entreprise
Coef. 1Disséminations Robot Makers' Day
Coef. 1Techniques orales de communication scientifique
Coef. 1Workshop IA pour l'industrie
Coef. 3Séminaire R4
Coef. 1Workshop ROS pour l'industrie
Coef. 3Culture scientifique
Coef. 1Workshop Robots & Agro
Coef. 1
UE Langues et culture de l'ingénieur
5 crédits
Semestre 9 - cybeR-sécurité, Systèmes et Réseaux (RSR)
30 créditsUE I9RSR-A - Réseaux de communication
6 créditsUE I9RSR-B - Sécurité et Systèmes d'Information
6 créditsUE I9RSR-C - Sécurité et administration des réseaux
8 créditsUE I9RSR-D - Outils d'administration des réseaux
5 créditsVirtualisation de systèmes
Coef. 1Administration Microsoft et Cybersécurité en milieu industriel
Coef. 2Administration, Routage, QoS
Coef. 1OSINT et Cyber Threat Intelligence
Coef. 11 crédits
UE Langues et culture de l'ingénieur
5 crédits
Semestre 9 - Génie logiciel des réseaux et des télécommunications
30 créditsUE T9GLR-A - UE Technique GLRT
20 créditsConception d'objets connectés
Coef. 2,5Génie Logiciel
Coef. 2,5Architectures logiciels
Coef. 2Middleware pour l'Internet des objets
Coef. 1Les langages à script
Coef. 2,5Développement d'applications Web et mobiles
Coef. 3Cloud Computing system
Coef. 1,5Développement JavaCard
Coef. 1Sécurité
Coef. 1Téléphonie sur internet
Coef. 1Développement de services de téléphonies sur Internet
Coef. 2Introduction Cloud Computing
Coef. 0,5
UE T9GLR-B - Projet
5 créditsUE Langues et culture de l'ingénieur
5 crédits
Semestre 10 - Stage 2A et Projet de Fin d'Etudes
26 créditsRapport et soutenance du Projet de Fin d'Etudes
Coef. 1212 créditsRapport et soutenance du stage 2A
Coef. 66 créditsValidation du stage 2A
Coef. 22 créditsValidation du Projet de Fin d'Etudes
Coef. 66 crédits
Semestre 10 - Projet Professionnel
4 créditsStage Découverte
Coef. 1Soutenance de projet professionnel
Coef. 3
UE I5-A - Algorithmique et mathématiques 1
ECTS
10 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Comprendre les algorithmes et la complexité : (C1, N1), (C2, N1)
Comprendre les algorithmes sur les structures de données inductives : (C1, N1), (C2, N1)
Comprendre la notion de raisonnement formel : (C1, N1), (C2, N1)
Comprendre la notion de l'information : (C1, N1), (C2, N1)
Comprendre les probabilités et statistiques : (C1, N1), (C2, N1)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Mettre en place des algorithmes sur des structures de données simple : (C4, N1)
Evaluer la complexité d'un algorithme itératif et inductif : (C5, N1)
Choisir les structures de données et les algorithmes adaptés à un problème : (C4, N1)
Formaliser la description d'un algorithme : (C4, N1)
Formaliser la spécification d'un problème : (C4, N1)
Argumenter la terminaison et la correction d'un algorithme : (C5, N1), (C8, N1)
Comparer différentes méthodes de codage de l'information : (C5, N1)
Organiser et classifier les ensembles de données : (C8, N1)
Manipuler des données mettant en jeu les probabilités : (C5, N1), (C8, N1)
Initiation à l'algorithmique
Composante
ENSEIRB-MATMECA
Ce cours présente une initiation à la résolution de problèmes simples au moyen de l'algorithmique, en particulier les problèmes de tris. Les seuls objets manipulés sont de types simples (entiers, réels,etc) ou tableaux et matrice de ceux-ci. Quelques familles d'algorithmes sont introduites: diviser pour régner, dynamiques et gloutons. La comparaison d'algorithmes est abordée par l'introduction de la notion de complexité.
Introduction
Notions de problèmes et d'algorithmes
Algorithme Diviser pour Régner
Programmation Dynamique
Algorithmes gloutons
Problème du Tri
Structures arborescentes
Composante
ENSEIRB-MATMECA
Ce cours rappelle quelques structures mathématiques usuelles (ensemble, séquence et arbre), introduit la notion de type abstrait et fournit quelque méthode pour les implémenter.
Probabilités et statistiques
Composante
ENSEIRB-MATMECA
Dans la première partie, il s'agit d'étudier les notions de base du calcul des probabilités, qui seront utilisées dans d'autres enseignements à l' ENSEIRB : Recherche opérationnelle, Traitement du signal, Théorie de l'information, Analyse des données, Algorithmique probabiliste et surtout les Statistiques étudiées dans la deuxième partie de ce module.
Introduction: probabilité sur un espace fini
Variables aléatoires discrètes
Variables aléatoires à densité
Convergences et théorèmes limites
Logique et preuve
Composante
ENSEIRB-MATMECA
Le cours porte sur les techniques de preuve usuelles en informatique, et la logique comme cadre formel de raisonnement.
- Techniques de preuve
- Logique
- Bel ordre
- Induction
- Spécification et preuve de programmes
Analyse des données et Théorie de l'information (au choix)
Composante
ENSEIRB-MATMECA
Traitement de l'Information
Composante
ENSEIRB-MATMECA
Objectifs :
Acquisition des concepts et des outils de bases pour le traitement de données :
- Données quantitatives (numériques) : Analyse en Composantes Principales (ACP)
- Données qualitatives (catégories) : Analyse Factorielle des Correspondances (AFC)
- Introduction à l'apprentissage automatique: apprentissage non supervisé (clustering) et supervisé (classification, régression)
Compétences:
- Connaître les principe de base du traitement de données et de l'apprentissage automatique (Quiz)
- Savoir implémenter une méthode d'analyse de donnée simple (TP)
- Savoir analyser les résultats d'une méthode d'analyse appliquée à une base de données (Projet)
Théorie de l'information
Composante
ENSEIRB-MATMECA
Définitions et propriétés élémentaires de quantité d'information apportée par la réalisation d'un événementet l'entropie (au sens de Shannon) d'une v.a. (variable aléatoire) simple entropie conditionnelle d'une v.a., information mutuelle de deux v.a.
Théorie de codage, déchiffrabilité et ambiguïté, spontanéité de codes, Algorithme de Sardinas et Patterson, condition nécessaire et suffisante de Kraft-MCMillan pour l'existence d'un code déchiffrable avec les mots de longueurs données
Optimalité de codage (de v.a.), liens entre l'entropie d'une v.a. et la longueur moyenne des mots de code associé (théorèmes de Shannon), Algorithme de Huffman
Transmission d'information par les canaux bruités sans mémoire, quelques canaux importants, capacité d'un canal, calcul de capacité dans les cas simples, problème de décodage, schéma de décodage de borneuniforme d'erreur, théorème fondamental de Shannon sur la possibilité d'une transmission correcte avecprobabilité arbitrairement grande et de taux inférieur à la capacité (sans démonstration)
UE I5-B - Programmation et environnement informatique 1
ECTS
10 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE:
Comprendre l'architecture des ordinateurs et le lien avec la programmation: (C1, N1), (C2, N1), (C3, N1)
Comprendre le fonctionnement microélectronique d'un processeur: (C3, N1), (C6, N1)
Connaitre l'histoire et l'évolution de l'architecture des ordinateurs: (C1, N1), (C6, N1)
Comprendre comment les données sont représentées dans la machine: (C1, N1), (C3, N1)
Comprendre les mécanismes de langage de script shell: (C3, N1)
Comprendre les principaux éléments du langage C: (C1, N1), (C2, N1)
Connaitre les principes de la programmation assembleur: (C1, N1), (C2, N1)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Ecrire un rapport avec algorithmes, figures en LaTeX: (C3, N1)
Faire une présentation en LaTeX: (C8, N1)
Ecrire un script pour transformer des données: (C4, N1), (C3, N1), (C7, N1)
Tester et comparer différentes représentations des données dans la machine: (C5, N1), (C4, N1), (C3, N1)
Programmer en C: (C2, N1), (C4, N1)
Programmer en assembleur: (C2, N1), (C4, N1)
Environnement de travail
Composante
ENSEIRB-MATMECA
L'objectif est de maîtriser l'environnement de travail de la filière informatique de l'ENSEIRB-MATMECA: éditeur de texte, compilateur, composeur de documents. Ce cours aborde également la programmation shell permettant d'automatiser des tâches d'administration système.
UNIX/Bash
brève introduction aux systèmes d'exploitation
shell, aide (man), et commandes principales
langage interprété
système de fichiers: commande principales
Emacs
configuration
principales fonctions
Shell: variables et substitution
variables, substitution
entrées / sorties
redirection
Shell: programmation de scripts
alias, variables d'environnement
outils de manipulation de texte (grep, sort,...)
arguments de ligne de commande
structures conditionnelles et itératives
fonctions
Introduction à LaTeX
structure d'un document
commandes et environnements principaux
mise en forme des algorithmes et des figures
réalisation de présentations
Structure des ordinateurs
Composante
ENSEIRB-MATMECA
Ce cours aborde la structure des ordinateurs. Les connaissances sont les suivantes:
Introduction sur l'évolution de la structure des ordinateurs et sur l'impact de la connaissance de l'architecture pour un informaticien
La représentation des nombres dans les ordinateurs, entiers et flottants, et l'implication de ces codages.
Le processeur, décliné sur un exemple simplifié d'architecture Intel:
le chemin d'exécution des instructions, les unités fonctionnelles
le pipeline (modèle à 5 étages), impact sur les performances
la gestion des dépendances entre instructions, des branchements
les instructions SIMD
le principe du fonctionnement de l'out of order
La mémoire
technologie pour stocker des bits
fonctionnements des mémoires cache
Communication vers les périphériques, interruptions et exceptions.
Introduction aux architectures multicoeurs
Ce cours est complété par des sessions pratiques en TD, où les notions vues en cours sont mises en évidence par de la programmation assembleur et C. L'objectif à l'issue du module est de savoir coder en assembleur une boucle, une conditionnelle, un accès à un tableau, un appel de fonction (sur des cas simples). Savoir également mesurer les performances et mettre en evidence des phénomènes de pipeline, les effets des dépendances.
Programmation impérative 1
Composante
ENSEIRB-MATMECA
L'objectif de ce cours est d'apprendre les bases de la programmation impérative par l'étude de la syntaxe et la sémantique du langage C.
Introduction
Motivation
Histoire
et doléances ...
La trilogie : Type / Expression / Instruction
Expressions
Variables
Fonctions
Tableaux
Instructions
Structure conditionnelle
Structure répétitive
Les chaînes de caractères
Représentation des nombres
Les types entiers
printf
Taille des 'objets'
Logique
Quelques opérateurs utiles et dangereux
Les nombres flottants
Pointeurs (Références)
Pointeurs et tableaux
Arithmétique des pointeurs
Structures
Materiel supplémentaire
Fichiers d'en-têtes
Préprocesseur et compilation séparée
Gestion des erreurs
Gestion de fichiers
Tableaux multi-dimensionnels
UE I5-C - Projet de Programmation
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Comprendre les algorithmes et la complexité: (C1, N1)
Savoir écrire des algorithmes pour répondre à un problème donné: (C1, N1), (C2, N1)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Ecrire un programme pour résoudre un problème imposé: (C1, N1), (C2, N1)
Tester et évaluer un projet réalisé: (C5, N1)
Répartir les tâches d'un projet en équipe: (C7, N1)
Montrer en quoi la réalisation répond au problème posé en projet: (C8, N1)
Projet d'algorithmique et de programmation n°1
Composante
ENSEIRB-MATMECA
La scolarité de première année ENSEIRB, en filière Informatique, comprend plusieurs projets intégrés au sein de l'UE C des deux premiers semestres de la formation en Informatique. Chaque semestre, un travail de projet doit être réalisé dans les différents langages de programmation étudiés en cours. L'objectif de ces projets est double : d'une part, ils sont l'occasion de mettre en pratique (voire d'approfondir) les connaissances théoriques vues en cours d'autre part, ils constituent souvent un premier contact avec le travail en équipe. Ils sont normalement réalisés par groupes de 4 ou 5 élèves.
Connaissances travaillées au sein de cette UE :
C1 : N1 - Connaissance et compréhension d'un large champ de sciences fondamentales (algorithmique, automates, langages, graphes, logique ...) et capacité d'analyse et de synthèse associée
C2 : N1 - Capacité à utiliser les fondements et modèles pour concevoir, réaliser et valider les systèmes informatiques
C5 : N1 Capacité à tester, valider et prouver les systèmes informatiques afin d'assurer leur bon fonctionnement dans des conditions critiques
C7 : N1 - Capacité à analyser, organiser, répartir les tâches inhérentes à la réalisation d'un projet en équipe en réponse à une demande ou un besoin client parfois partiellement définis, à s'adapter à de nouvelles contraintes liées au projet
C8 : N1 - Capacité à présenter efficacement les solutions et à synthétiser et à démontrer la pertinence des résultats
UE I5-D - Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Savoir être autonome dans le travail (C13, N1 à N4)
Savoir comprendre et s'exprimer à l'oral et à l'écrit (C 10 / N1-N3)
Savoir s'exprimer avec aisance et précision (C 10 / N1-N3)
Savoir adapter un discours approprié à une situation donnée (C 10, C 12/N1-N3)
Appréhender/acquérir le discours scientifique en anglais (C 10, C 12 / N1-N3)
Mobiliser des ressources pour préparer sa mobilité internationale (C 10, C 12, C13 / N1-N3)
LV2
Composante
ENSEIRB-MATMECA
Le Cadre Européen Commun de Référence pour les langues sert de base pour les langues européennes. Les 6 niveaux (A1, A2, B1, B2, C1 et C2) et les compétences correspondantes peuvent être consultés : http://www.coe.int/T/DG4/Portfolio/documents/cadrecommun.pdf
Savoir être autonome dans le travail (C13, N1 à N3)
Savoir comprendre et s'exprimer à l'oral et à l'écrit (C10 / N1-N3)
Savoir s'exprimer avec aisance et précision (C10 / N1-N3)
Savoir adapter un discours approprié à une situation donnée (C10, C 12/N1-N3)
Activité Physique Sportive et Artistique
Composante
ENSEIRB-MATMECA
Appelés à exercer des responsabilités, les élèves doivent saisir l'intérêt d'un bon équilibre corporel et l'avantage, reconnu par les milieux professionnels, qu'ils retirent des expériences vécues dans les pratiques physiques, sportives et artistiques. Cet enseignement vise ainsi, trois finalités : - préserver un équilibre et une hygiène de vie, - contribuer au développement et à l'épanouissement de la personnalité, - renforcer la solidarité au sein de chaque groupe pour installer une véritable émulation dans ce type de préparation.
Afin de former un citoyen cultivé, lucide, autonome physiquement, socialement éduqué et sensible à sa santé Ainsi l'élève fait le CHOIX d'une OPTION afin de "Réaliser un projet personnel de formation"
Développement durable et responsabilité sociétale : Partie 1/2
Composante
ENSEIRB-MATMECA
Le développement durable peut se définir comme un mode de développement qui répond aux besoins du présent sans compromettre la capacité des générations futures à répondre à leurs besoins. Notre école a la responsabilité de former des ingénieurs innovants, acteurs du changement, autonomes et socialement responsables. Dans ce cadre, le module intitulé "Développement durable et responsabilité sociétale" a pour principal objectif d'intégrer les enjeux socio-écologiques dans notre formation d'ingénieur. Ce module doit permettre l'acquistion des connaissances et des compétences qui seront nécéssaires aux futurs ingénieurs pour accompagner les entreprises et les organisations à opérer leur transition énergétique et écologique.
Organisation du module :
Fresque du climat (3h) - Jeu d'intelligence collective - https://fresqueduclimat.org/projet/
Problématiques environnementales (1h20) - Déréglement climatique Effondrement de la biodiversité Finitude des ressources
énergie (2h40) - Qu'est ce que l'énergie ? Quelles sont ses différentes formes ? Conservation d'énergie.
Intervenant extérieur (1h20)
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Communiquer et Manager (Niveau 1)
- Projet Professionnel (Niveau 1).
Partie 1 : COMMUNIQUER ET MANAGER - Niveau 1 (5,33 heures)
Niveau 1 Appréhender le rôle et la posture d'un manager Savoir : Connaitre le rôle, les principales activités et les compétences attendues d'un manager. Savoir-faire : Se positionner en tant que manager, résoudre un problème en équipe et animer des réunions
TD1 : LE ROLE DU MANAGER
Définition du management.
Management hiérarchique versus management transversal
Rôles et postures du manager
Compétences et soft skills du manager
Présentation de l'ensemble des TD des modules « Communiquer et Manager » : CE 137, CE 119 et CE 242
TD2 : MANAGER, C'EST DECIDER
Mise en situation avec une étude de cas
Définitions de l'émotion et de l'intelligence émotionnelle
Les 4 composantes de l'intelligence émotionnelle
Intelligence émotionnelle et management
Comment développer l'intelligence émotionnelle
TD 3 : RESOUDRE DES PROBLEMES EN GROUPE
Mise en situation avec une étude de cas
Outils et méthodes de résolution de problèmes en groupe : Objectiver, Analyser, Prioriser, Chercher des solutions et construire un plan d'action
Recenser et objectiver les causes : Le diagramme d'Ishikawa
Analyser les causes avec la méthode QQOQCP, analyser la gravité des risques et construire une matrice des risques
Prioriser : la loi de Pareto
Chercher des solutions : méthodes de brainstorming
Construire un plan d'action avec des objectifs SMART
TD 4 : ANIMER UNE REUNION
Mise en situation avec une étude de cas
Pourquoi tenir des réunions ?
Les différents types de réunion : les réunions d'information, les réunions préparatoires à la décision, les réunions de décision, les réunions de coordination, les réunions de recherche créative (brainstorming)
Le rôle de l'animateur pour chaque type de réunions
Animer une réunion, un plan d'action en 4 étapes :
Préparer la réunion
Accueillir les participants et lancer la réunion
Animer la réunion
Remettre le compte-rendu de la réunion à chaque participant
Partie 2 : PROJET PROFESSIONNEL - DEVENIR UN INGéNIEUR PROFESSIONNEL 2h40
- Témoignage d'ingénieurs (grande entreprise/PME) : questions/réponses autour du métier, des choix professionnels, de l'entreprise, fonctions exercées, secteurs d'activité, rémunération, qualités recherchées...
UE I6-A - Algorithmique et mathématiques 2
ECTS
10 crédits
Composante
ENSEIRB-MATMECA
Automates finis et applications
Composante
ENSEIRB-MATMECA
Les automates finis permettent de modéliser des programmes informatiques à mémoire finie. Ils permettent de résoudre des problèmes à un niveau d'abstraction élevé, sans s'encombrer des spécificités d'un langage donné, et en se concentrant sur les invariants à maintenir pour parvenir à une solution. L'étude de ce modèle s'inscrit dans le cadre général de la théorie des langages abordée ensuite dans les modules IF203 (compilation) et IF228 (calculabilité et complexité). L'enseignement aborde des notions théoriques (automates finis, langages réguliers, expressions régulières, équivalence de ces trois formalismes, non-déterminisme, automate minimal, lemme de l'étoile) ainsi que leur utilisation pour la résolution de problèmes concrets.
Algorithmique de graphes
Composante
ENSEIRB-MATMECA
Après une brève introduction des graphes, ce cours présente des problèmes sur les graphes admettant une solution algorithmique efficace. L'étude de ces solutions sera l'occasion d'exhiber des propriétés classiques en Théorie des Graphes.
Introduction
Exemples de problèmes
Définitions générales
Chemins et arbres
Problèmes de parcours
Une solution gloutonne pour l'arbre couvrant minimal
Parcours en largeur
Le problème du plus court chemin
Parcours en profondeur
Autres problèmes
Le problème du flot maximal
Le problème du couplage maximum
Recherche Opérationnelle
Composante
ENSEIRB-MATMECA
La programmation linéaire et et sa version avec des variables entières sont de puissants outils pour la modélisation et la résolution de problèmes d'optimisation combinatoire. Ce cours a pour objectif d'introduire la modélisation mathématique sous forme de programmes linéaires et de programmes linéaires en nombres entiers, ainsi que les méthodes algorithmiques utilisées pour résoudre ces modèles à l'aide de l'algorithme du simplex et des méthodes de branch-and-bound dédiées.
Algorithmique numérique
Composante
ENSEIRB-MATMECA
Le module d'Algorithmique Numérique décrit un ensemble de méthodes et d'algorithmes adaptés à la modélisation de problèmes numériques.
Introduction au calcul numérique : problèmes de représentation des nombres et d'approximaiotn, conditionnement
Méthodes de résolution de systèmes linéaires : Gauss Cholesky A=LDL' méthodes itératives : Jacobi Gauss-Seidel relaxation gradient
Méthode des moindres carrés : équation normale factorisations de matrices
Valeurs propres et vecteurs propres : réduction à la forme tridiagonale bissection de Givens méthode de la puissance itérée
Résolution d'équations non linéaires : méthodes itératives racines de polynômes cas de la dimension supérieure à 1
Méthodes numériques d'interpolation et d'intégration.
Equations différentielles : Problème de Cauchy méthode de Runge-Kutta différences finies éléments finis
UE I6-B - Programmation et environnement informatique 2
ECTS
10 crédits
Composante
ENSEIRB-MATMECA
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UEComprendre le calcul des expressions : (C1, N1), (C2, N1)Comprendre les algorithmes sur les structures de données inductives : (C1, N2), (C2, N2)Comprendre les modèles en couches des réseaux : OSI/ISO et TCP/IP : (C1, N1), (C2, N1)Comprendre le rôle et les servies offerts par chaque couches des modèles OSI/ISO et TCP/IP : (C1, N1), (C2, N1)Comprendre la problématique de l'accès au canal de communication : (C1, N1),(C2, N1)Comprendre le fonctionnement de l'Ethernet et de CSMA/CD : (C1, N1), (C2,N1)Comprendre la notion d'adressage dans TCP/IP : (C1, N1), (C2, N1)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Programmer au moyen d'expressions plutôt que d'instructions : (C4, N2)Spécifier des calculs récursivement plutôt qu'itérativement : (C4, N2)Formaliser la spécification d'un calcul générique : (C4, N2)Comparer différentes solutions selon le style et la complexité : (C5, N1)décrire les modèles OSI/ISO et TCP/IP ainsi que le rôle et les servies offertspar chaque couches : (C4, N1)pratiquer la configuration d'interfaces réseaux sur machines Linux et mettre enplace une topologie réseau simple sans routage (C4, N1)analyser des causes simples de non fonctionnement des communications dans unréseau (C3, N1), (C5, N1)comparer et choisir entre les différents éléments d'interconnexion d'un réseaux(Hub, Pont, Switch, Routeur, Passerelle applicative) (C4, N1)
Programmation fonctionnelle
Composante
ENSEIRB-MATMECA
Ce cours présente la programmation sous un aspect différent des cours du S5. Le style de programmation présenté au premier semestre est 'impératif', ce cours présente le style de programmation 'fonctionnel'. L'étude de ce style permet d'explorer une nouvelle famille de techniques de programmation, ainsi que de se poser la question de qualités logicielles permettant de distinguer ces différents styles. L'utilisation du langage de programmation Javascript permet de souligner ces différents contrastes.Plan du cours :
Présentation des styles de programmation / paradigmes. Comparaison du style impératif et du style fonctionnel. Introduction à la pureté, la modularité, et la 1ère classe. Petit historique des langages de programmation.
Présentation du langage Ecmascript (syntaxe, environnement node)Notion de portée et de fermeture.
Pureté et Modularité. Notion d'effet de bord, pureté, transparence référentielle. Programmation sans effets de bords. Utilisation de la récursivité et de la récursivité terminale.
Structures de données fonctionnelles.Listes chaînées, arbres. Notion de persistance. Opérateurs d'ordre supérieur sur ces structures de données.
Citoyenneté de 1ère classe. Fonctions d'ordre supérieur. Techniques : généralisation, spécialisation. Notions de généricité, curryfication.Exemples d'utilisation de fonctions dans les structures de données. Exemples d'interface de programmation fonctionnelle (pipeline, map-reduce, fluent interfaces)
Techniques de programmationProgrammation typée (polymorphisme), programmation "dirigée par les fonctions", contrôle de l'évaluationStratégies d'évaluation.
Modularité. Retour sur les notions : abstraction, encapsulation, interface, spécification, dépendance
Programmation impérative 2 et développement logiciel
Composante
ENSEIRB-MATMECA
L'objectif de ce cours est l'approfondissement des mecanismes de gestion mémoire, de la compilation et la prise en main des outils de développement logiciel pour l'écriture de projets maintenable, portables et robustes.
Atelier Algorithme et Programmation
Composante
ENSEIRB-MATMECA
Cet enseignement a pour but la pratique de l'algorithmique et de la programmation par la mise en oeuvre de structures de données et d'algorithmes étudiés au premier semestre. L'enseignement se focalise sur la construction de logiciels par abstractions successives. Nous étudions la puissance de telles abstractions pour la réalisation et la maintenance du code. Nous étudions différents porblèmes posés par l'abstraction, en particulier pour la complexité algorithmique. Toutes ces notions sont programmées en langage C, ce qui permet de discuter des avantages et inconvénients des différents langages de programmation.
Mise en œuvre d'un type ensemble
type abstrait de données
réalisé par un tableau avec butée
réalisé par un teableau trié
comparaison des mises en œuvre et de la complexité algorithmique
Mise en œuvre avec listes chaînées
réalisation du type ensemble avec une liste chaînée
retour sur la notion d'abstration
comparaison des complexités algorithmiques
Gestion de la mémoire et paramétrage
allocation dynamique de mémoire
paramétrage d'un traitement par une fonction
Structures de données génériques
abstraction des données
paramétrage d'une structure de données par des fonctions
Introduction aux réseaux
Composante
ENSEIRB-MATMECA
Cours d'introduction aux réseaux avec présentation des modèles OSI et TCP/IP.
Historique des réseaux
Les réseaux locaux informatiques (LAN)
Classification des réseaux
Les couches ISO et TCP/IP
Technologies pour les LAN
Notion de base sur l'Ethernet : adressage, commutation, type ethernet
Equipements d'interconnexions réseaux
Autres protocoles pour les LAN
Travaux pratiques
UE I6-C - Projets 2
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
La scolarité de première année ENSEIRB, en filière Informatique, comprend plusieurs projets intégrés au sein de l'UE C des deux premiers semestres de la formation en Informatique. Chaque semestre, un travail de projet doit être réalisé dans les différents langages de programmation étudiés en cours. L'objectif de ces projets est double : d'une part, ils sont l'occasion de mettre en pratique (voire d'approfondir) les connaissances théoriques vues en cours d'autre part, ils constituent souvent un premier contact avec le travail en équipe. Ils sont normalement réalisés par groupes de 4 ou 5 élèves.
Connaissances travaillées au sein de cette UE :
C1 : N1 - Connaissance et compréhension d'un large champ de sciences fondamentales (algorithmique, automates, langages, graphes, logique ...) et capacité d'analyse et de synthèse associée
C2 : N1 - Capacité à utiliser les fondements et modèles pour concevoir, réaliser et valider les systèmes informatiques
C5 : N1 Capacité à tester, valider et prouver les systèmes informatiques afin d'assurer leur bon fonctionnement dans des conditions critiques
C7 : N1 - Capacité à analyser, organiser, répartir les tâches inhérentes à la réalisation d'un projet en équipe en réponse à une demande ou un besoin client parfois partiellement définis, à s'adapter à de nouvelles contraintes liées au projet
C8 : N1 - Capacité à présenter efficacement les solutions et à synthétiser et à démontrer la pertinence des résultats
Projet de programmation impérative
Composante
ENSEIRB-MATMECA
Le projet de programmation impérative se situe dans la continuité des cours de programmation impérative (PG106 et PG116) et met en application les techniques de développement logiciel associées à la programmation impérative et plus généralement en langage C. Les techniques de programmation développées dans les projets portent selon les années sur l'allocation dynamique, lechargement dynamique de code, les tests, la manipulation d'interfaces et le développement modulaire.
Projet de programmation fonctionnelle
Composante
ENSEIRB-MATMECA
Le projet de programmation fonctionnelle se situe dans la continuité du cours de programmation fonctionnelle (PG104) et meten application les techniques de développement logiciel associées à la programmation fonctionnelle, principalement la manipulation des fonctions comme valeurs de 1ère classe et la promotion d'une programmation fonctionnelle pure (i.e avec peu d'effets de bords).
UE I6-D - Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Savoir être autonome dans le travail (C13, N1 à N4)
Savoir comprendre et s'exprimer à l'oral et à l'écrit (C 10 / N1-N3)
Savoir s'exprimer avec aisance et précision (C 10 / N1-N3)
Savoir adapter un discours approprié à une situation donnée (C 10, C 12/N1-N3)
Acquérir le discours scientifique en anglais (C 10, C 12 / N1-N3)
LV2
Composante
ENSEIRB-MATMECA
Le Cadre Européen Commun de Référence pour les langues sert de base pour les langues européennes. Les 6 niveaux (A1, A2, B1, B2, C1 et C2) et les compétences correspondantes peuvent être consultés : http://www.coe.int/T/DG4/Portfolio/documents/cadrecommun.pdf
Savoir être autonome dans le travail (C13, N1 à N3)
Savoir comprendre et s'exprimer à l'oral et à l'écrit (C10 / N1-N3)
Savoir s'exprimer avec aisance et précision (C10 / N1-N3)
Savoir adapter un discours approprié à une situation donnée (C10, C 12/N1-N3)
Activité Physique Sportive et Artistique
Composante
ENSEIRB-MATMECA
Appelés à exercer des responsabilités, les élèves doivent saisir l'intérêt d'un bon équilibre corporel et l'avantage, reconnu par les milieux professionnels, qu'ils retirent des expériences vécues dans les pratiques physiques, sportives et artistiques. Cet enseignement vise ainsi, trois finalités : - préserver un équilibre et une hygiène de vie, - contribuer au développement et à l'épanouissement de la personnalité, - renforcer la solidarité au sein de chaque groupe pour installer une véritable émulation dans ce type de préparation.
Afin de former un citoyen cultivé, lucide, autonome physiquement, socialement éduqué et sensible à sa santé Ainsi l'élève fait le CHOIX d'une OPTION afin de "Réaliser un projet personnel de formation"
Développement durable et responsabilité sociétale : Partie 2/2
Composante
ENSEIRB-MATMECA
Le développement durable peut se définir comme un mode de développement qui répond aux besoins du présent sans compromettre la capacité des générations futures à répondre à leurs besoins. Notre école a la responsabilité de former des ingénieurs innovants, acteurs du changement, autonomes et socialement responsables. Dans ce cadre, le module intitulé "Développement durable et responsabilité sociétale" a pour principal objectif d'intégrer les enjeux socio-écologiques dans notre formation d'ingénieur. Ce module doit permettre l'acquistion des connaissances et des compétences qui seront nécéssaires aux futurs ingénieurs pour accompagner les entreprises et les organisations à opérer leur transition énergétique et écologique.
Organisation du module traitant de l'Analyse du Cycle de Vie :1. Introduction à l'ACV (outil le plus abouti en matière d'évaluation globale et multicritère des impacts environnementaux et sociétaux) (2h) 2. Prise en main d'un outil d'ACV avec utilisation de bases de données sur des exemples (3h)3. Projet de mise en pratique d'une ACV sur un objet/outil du numérique (9h)
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de quatre parties complémentaires :
- Communiquer et Manager (Niveau 2)
- Projet Professionnel (Niveau 2)
- JOURNÉE INPULSE (Sensibilisation à l'Entrepreneuriat)
- Initiation au management de projet.
Partie 1 : COMMUNIQUER ET MANAGER - Niveau 2 (4 heures)
Niveau 2 : Écouter et communiquer : deux compétences de base du manager Savoir : Connaître les techniques de base en négociation, connaitre les différents types d'entretiens individuels Savoir Faire : Mener les différents types d'entretiens individuels, être à l'aise dans différentes situations de face à face.
TD1 - MENER DES ENTRETIENS- Les types d'entretiens individuels- Les étapes de l'entretien annuel d'évaluation- Les clés de la réussite- Deux éléments clés de l'entretien : distinguer les faits, les ressentis, les opinions et fixer des objectifs
TD2 - OUTILS DE COMMUNICATION MANAGERIALE- Qu'est-ce que la communication managériale ?- De quoi un message est-il composé ?- Les filtres et les mécanismes de communication- L'écoute active, la reformulation et le feed-back TD3 - MANAGER, C'EST NEGOCIER- Qu'est-ce que la négociation ?- Préparer sa stratégie de négociation pour être convaincant- Les grands principes du processus de négociation.- Les étapes de la négociation
Partie 2 : PROJET PROFESSIONNEL - Niveau 2 (4 heures)
être en capacité d'élaborer son projet professionnel puis de mener une recherche de stage ou d'emploi efficace
Module 1 : - Le projet professionnel : définition - Mieux se connaitre pour bâtir un projet professionnel à son image (Aptitudes, talents, personnalité)
Module 2 : - Préparer sa recherche de stage - Bâtir un dossier de candidature qui permette d'être reconnu et retenu dans sa recherche de stage ou d'emploi - Travail sur le CV et la lettre de motivation : construction et points de vigilance
Module 3 : - Le pitch de présentation - L'entretien de recrutement : le préparer pour ne pas le subir, processus, questions et argumentaire
Partie 3 : SIT'INNOV (8 heures)
Objectifs : Sensibilitation à l'entrepreneuriat sur une journée
1. Présentation de l'entrepreneuriat - La création d'entreprise en chiffre - Le processus de création d'entreprise - Qu'est ce qu'un modèle d'affaires2. Atelier de créativité En groupe les élèves recherchent une innovation à partir d'un théme imposé3. Construction d'un modèle d'affaires (Canvas - GRP) Le groupe contruit son modèle d'affaires à partir de l'innovation identifiée
Partie 4 : INITIATION AU MANAGEMENT DE PROJET (8 heures)
Objectifs de la partie :- Décider si une réalisation doit être pilotée en mode projet,- Identifier les acteurs d'un projet, leur rôle, utiliser le vocabulaire adéquat,- Définir un projet, le structurer,- Estimer les charges, planifier le projet, suivre l'avancement,- Analyser et maîtriser les risques,- Comprendre les grands principes des méthodes agiles et du framework Scrum.
Cours n°1 : Introduction au management de projet.
Définition de la notion de projet,
Introduction aux paramètres clef QCD,
Les dérives possibles d'un projet,
Pourquoi le management de projet ?
Cours n°2 : Définition de projet.
Les acteurs des projets,
L'analyse du besoin,
Les outils d'analyse fonctionnelle.
La bête à corne (Méthode APTE),
Le diagramme pieuvre (Méthode APTE),
L'analyse FAST,
L'analyse SADT.
Cours n°3 : Planification du projet.
Découper le projet en tâches : Le WBS,
Evaluer les tâches : Le RBS,
Planifier les tâches.
Cours n°4 : Suivi de projet.
Les outils de suivi
Suivi du planning,
Suivi du budget,
Suivi de la qualité et du contenu,
Prévention des risques,
Résolution des problèmes.
Cours n°5 : L'agilité expliquée simplement.
Comparaison entre les méthodes de gestion de projet traditionnelles et les méthodes agiles,
Vulgarisation et présentation du framework Scrum.
Cours n°6 : Les méthodes agiles dans le détail - Rôles et MVP.
Le produit minimum viable,
Définition des rôles,
Exercice : Diagramme de gantt - Construction d'une piscine.
UE I7-A - Programmation et système
ECTS
10 crédits
Composante
ENSEIRB-MATMECA
Compilation
Composante
ENSEIRB-MATMECA
Présentation des techniques et outils standards pour la compilation des langages de programmation et pour une mise en oeuvre dans le projet [[m:IF204]].
Plan
0. Objectif d'un compilateur, pourquoi étudier la compilation 1. Expressions régulières et langages réguliers, quelques rappels 2. Langages algébriques, rappels sur les grammaires 3. Analyseurs syntaxiques mise en oeuvre dans un outil (Yacc) 4. Analyse sémantique: grammaires attribuées, calculs d'attributs tels que les types et le code5. Génération de code: pour une machine à pile, pour une machine à registres. Principaux schémas de traduction, allocation de la mémoire 6. Problèmes d'optimisation: allocation de registre, optimisation de code, ... 7. Les dernières phases de compilation: assembleur, édition de lien, chargeur.
Compétences
C2. Niveau 2C3. Niveau 2C4. Niveau 2
Génie Logiciel
Composante
ENSEIRB-MATMECA
Le but de ce cours est de présenter les méthodes et les outils modernes pour le développement de logiciels. Le génie logiciel peut être caracterisé comme étant la mise en oeuvre de principes d'ingenierie afin d'obtenir, à prix raisonnable, des logiciels fiables et efficaces sur des vraies machines. Le génie logiciel concerne pas seulement les coûts de développement, mais aussi les coûts de maintenance et d'utilisation pendant toute la vie du logiciel. Nous regarderons aussi les problèmes spécifiques à des grands systèmes (plus de 1.000.000 lignes de codes) et engendrés par le travail en équipe, ce qui oblige des approches méthodologiques pour la conception, développement et évolution du logiciel.
Le cours se compose de trois parties, assurées par des enseignants différents:
Développement agile (A. Le Houedec)
Génie Logiciel (P. Galvao, M. Aune)
Spécifications logicielles (E. Girard Smith, F. Solliec)
Compétences
C3. Niveau 2C4. Niveau 3C5. Niveau 2C6. Niveau 2C7. Niveau 2C8. Niveau 2C9. Niveau 2
Programmation Orientée Objets
Composante
ENSEIRB-MATMECA
Initiation à la programmation orientée objets avec comme langage de support Java
Plan
I Encapsulation
1) L'encpasulation
2 Les objets 2.1 Instancaition
2.2 Envoi de messages
2.3 construite une encapsulation
3) Les classes
3.1 paquetage
3.2 Classe concrète
3.3 lien a-un entre classe
3.4 Varible et Méthode de classe
II Substitution d'objets
5 La subsitution d'objets ou plolymorphisme
5.1 Relation de type/sous-type (lien est-un)
5.2 le polymorphaisme.
6 Hiérarchie de classes
6.1 héritage
6.2 Héritage d'interfaces
6.3 Héritage entre classes
6.4 Redifinition de méthodes d'instances
6.5 Classes abastraite
6.6 Héritage multiple et choix des membres hérités
III Autres mécanismes
7 Le mécanisme des exceptions
8 Les types paramétrés
Compétences
C2. Niveau 2C3. Niveau 2C4. Niveau 1C8. Niveau 2
Programmation Système
Composante
ENSEIRB-MATMECA
Cet enseignement présente les concepts et les techniques permettant de programmer dans un environnement POSIX.
Plan
1. Concepts 2. Fichiers: principes et API posix 3. Processus et gestion mémoire: abstractions, gestion mémoire, gestion des processus 4. Signaux: surveillance de processus, synchronisation 5. Mémoire partagée et synchronisation: par fichiers, memoire partagée 6. Threads: definition et API 7. Concurrence: Identification des problemes, solutions logicielles, solutions matérielles, deadlocks 8. Introduction à la programmation réseau
Compétences
C2. Niveau 2C4. Niveau 2C5. Niveau 2
Programmation C++
Composante
ENSEIRB-MATMECA
Ce cours présente les bases de la programmation C++, il suppose une connaissance de la programmation objet (classes/instances/héritage). L'accent est mis sur les outils et techniques liés à la gestion de la mémoire.
UE I7-B - Internet et réseaux
ECTS
9 crédits
Composante
ENSEIRB-MATMECA
Introduction à l'informatique quantique
Composante
ENSEIRB-MATMECA
L'information quantique et le calcul quantique sont l'étude de tâches de traitement de l'information qui peuvent être accomplies en utilisant des systèmes quantiques et non pas classiques. Ainsi, un ordinateur quantique n'est pas simplement un ordinateur plus rapide sur lequel on va faire tourner par exemple Linux, mais un ordinateur qui permet une nouvelle manière de concevoir les algorithmes - les algorithmes quantiques. Si un ordinateur classique manipule des bits, qui valent 0 ou 1, l'ordinateur quantique manipule des bits quantiques ou qubits, des bits qui obéissent aux lois de la mécanique quantique.
Après une première partie du cours dédiée à l'introduction des principes de la mécanique quantique, à l'intrication et à la téléportation quantique, le cours se concentrera sur l'étude de plusieurs algorithmes quantiques : les algorithmes de Deutsch et de Simon et surtout l'algorithme de factorisation de Shor. Le dernier chapitre du cours sera dédié aux codes de corrections d'erreurs quantiques.
Algorithmique parallèle
Composante
ENSEIRB-MATMECA
Le parallélisme est omniprésent dans les ordinateurs d'aujourd'hui : au niveau des cœurs de calculs comme plus largement au niveau des interconnection entre les différentes ressources de calcul.
L'algorithmique parallèle permet de comprendre et de maitriser les concepts fondamentaux à mettre en œuvre pour l'utilisation de plateformes distribuées. Elle emprunte à l'algorithmique classique dans sa problématique (conception, analyse, étude de complexité), mais s'enrichit d'une nouvelle dimension avec l'exploitation simultanée de plusieurs ressources.
Dans ce cours vous verrez les bases du calcul parallèle (modèles PRAM, Ordonnancement), accompagnés d'exercices plutôt théoriques. Nous apprendrons à concevoir des algorithmes parallèles (communication, routage, équilibrage de charge). Nous verrons également le langage MPI permettant d'implémenter ces algorithmes sur des ressources parallèles.
Algorithmique distribuée
Composante
ENSEIRB-MATMECA
Introduire le monde du calcul réparti Présenter les différents modèles et contraintes du calcul distribué Présenter et analyser quelques algorithmiques classiques du domaine Concevoir des algorithmes s'exécutant sur des systèmes distribués.
Programmation Web
Composante
ENSEIRB-MATMECA
Après une présentation de l'architecture client/serveur, ce cours portera sur les langages informatiques fondamentaux permettant d'encoder les différents aspects d'une page web, et permettant à un navigateur d'afficher cette page côté client. Nous étudierons dans un premier temps le langage HTML, basé sur un mécanisme de balises, pour la structuration du contenu. Nous verrons ensuite le langage CSS, basé sur un systèmes de règles de mise en forme, pour l'apparance de la page. Enfin, nous étudierons le langage JavaScript permettant de gérer les aspects dynamiques et interactifs de la page, notamment à travers le concept de programmation asynchrone. Le cours se terminera par une introduction aux technologies côté serveur.
Systèmes de Gestion de Bases de Données
Composante
ENSEIRB-MATMECA
Le but de ce cours est de permettre aux étudiants d'acquérir une compétence dans le domaine des bases de données et celui de leur mise en oeuvre. Au-del à de la connaissance des caractéristiques techniques des systèmes de gestion de bases de données utilisés, le cours aborde les aspects méthodologiques visant à utiliser au mieux les fonctionnalités offertes par ces systèmes. Nous précisons les concepts fondamentaux de la mise en oeuvre des bases de données dans le contexte relationnel. Au niveau plus fin, le fonctionnement interne des SGBD sera étudié : organisation des SGBD, optimisation des requêtes, gestion des accés concurrents et mécanisme de reprise sur panne... De nombreux exercices proposés pendant les séances de travaux dirigés, permettent d'illustrer les concepts vus en cours. Une application pratique est réalisée par les étudiants en utilisant le SGBD ORACLE
Plan
Comparaison des concepts de système de gestion de base de données et de système de gestion multifichiers
Modélisation des bases de données : modèles conceptuels
Modèle Relationnel (algèbre relationnelle, formes normales, ...)
Langages de manipulation de données : SQL
Apprentissage du SGBD ORACLE
Organisation physique des SGBD relationnels
Implémentation des opérateurs relationnels
Optimisation des requêtes
Transaction et accés concurrents
Problèmes généraux de sécurité dans les SGBD
Mécanismes de reprise sur panne
Compétences
C2. Niveau 2C3. Niveau 2C4. Niveau 3C5. Niveau 2C7. Niveau 2C8. Niveau 3
Architecture des réseaux TCP/IP
Composante
ENSEIRB-MATMECA
Le but de cet enseignement est de fournir une base solide concernant les réseaux informatiques tant au niveau des caractéristiques physiques des transmissions qu'au niveau des protocoles employés. Lors de ce cours intégré, les aspects théoriques et pratiques concernant les différentes couches du modèle OSI (allant du matériel à la couche applicative) sont abordés. Des exercices et des manipulations sont prévues pour illustrer ces notions sur les protocoles classiques.
Plan
Interaction entre la famille de protocoles TCP/IP et les supports de transmission
La couche réseaux : IP, ICMP
La couche transport du modèle TCP/IP
TDs et TPs
Compétences
C2. Niveau 2C3. Niveau 2C4. Niveau 2
UE I7-C - Conception logiciel
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) : N1 : débutant N2 : intermédiaire N3 : confirmé N4 : expertCompétences acquises au sein de cette UE :
C1. Connaissance et compréhension d'un large champ de sciences fondamentales (algorithmique, automates, langages, graphes, logique ...) et capacité d'analyse et de synthèse associéeC2. Capacité à utiliser les fondements et modèles pour concevoir, réaliser et valider les systèmes informatiquesC3. Capacité à choisir et utiliser les outils et les méthodes adéquats dans le cadre du cycle de développement logiciels (langage de programmation, bibliothèques, IDE, Framework, middleware)C4. Capacité à spécifier les besoins et à concevoir l'architecture des applications dans divers domaines scientifiques et technologiques (big data, cloud, développement mobile, calcul parallèle, multimédia, robotique, sécurité des systèmes, vérification des systèmes critiques...) C5. Capacité à tester, valider et prouver les systèmes informatiques afin d'assurer leur bon fonctionnement dans des conditions critiquesC6. Capacité à appréhender, anticiper et intégrer les évolutions technologiques et méthodologiques d'un ensemble de domaines liés aux métiers d'ingénieur informatiqueC7. Capacité à analyser, organiser, répartir les tâches inhérentes à la réalisation d'un projet en équipe en réponse à une demande ou un besoin client parfois partiellement définis, à s'adapter à de nouvelles contraintes liées au projet C8. Capacité à présenter efficacement les solutions et à synthétiser et à démontrer la pertinence des résultatsNiveau acquis à la fin de la formation:C1:N2C2:N2C3:N2C4:N2C5:N2C6:N1C7:N2C8:N2
Projet de compilation
Composante
ENSEIRB-MATMECA
Mise en oeuvre dans un projet des concepts vus dans le module de compilation par la réalisation d'un compilateur
Plan
Realisation du front-end du compilateur (analyse lexicale, syntaxique) a l'aide des outils de type lex/yacc, premiere analyse semantique lors des seances de projet
Premier livrable sur les exemples de codes pouvant etre compilés par le compilateur
Realisation du compilateur complet, avec generation de code
Soutenance
Compétences
C3. Niveau 2C4. Niveau 2C7. Niveau 2C8. Niveau 2C12. Niveau 2
Projet de SGBD
Composante
ENSEIRB-MATMECA
Les séances de TP se deroulent sur le système Oracle. Ces séances permettent aux étudiants de mieux comprendre le cours et les Tds, et de tester les requêtes SQL. A la fin des TPs, un projet permet aux de simuler une application base de données, de la conception à la réalisation.
Plan
Présentation d'ORACLE
Présentation de MySQL
Architecture
SQL, SQLPLUS
Interface SQL-langage hôte
PL/SQL
Projet Oracle
Compétences
C2. Niveau 2C3. Niveau 2C4. Niveau 2C7. Niveau 2C8. Niveau 2C12. Niveau 2
Projet de Programmation Orientée Objets
Composante
ENSEIRB-MATMECA
Le projet de programmation orientée objet est une mise en application et un continuité du module PG202.
Il consiste au portage d'un code C en Java en appliquant les mécanismes objets.
L'objectif est de mettre en place une architecture de classe qui permet de prendre en compte les points
d'évolution désirés.Le développement se fat en parallèle avec tests unitaires et utilisation d'objets faussaires.
Les élèves sont réparties en équipe de 5 avec un compte-rendu régulier.
Plan
réalisation d'un première version fonctionnelle avec tests unitaires.
prise en compte du point de changement et étude des deux solutions.
remaniement du code suivant une des solutions et évaluation de la solution.
soutenance
Compétences
C3. Niveau 3C4. Niveau 2C7. Niveau 2
UE I7-D - Langues et Culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
ECTS
0 crédits
Composante
ENSEIRB-MATMECA
Savoir être autonome dans le travail (C13, N1 à N4)
Savoir comprendre et s'exprimer à l'oral et à l'écrit (C 10 / N1-N3)
Savoir s'exprimer avec aisance et précision (C 10 / N1-N3)
Savoir adapter un discours approprié à une situation donnée (C 10, C 12/N1-N3)
Au choix, préparer le TOEIC (Test of English for International Communication) ou le IELTS (International English Language Testing System) dans le but d'atteindre au minimum un niveau B2 européen requis pour l'obtention du Diplôme d'Ingénieur ou le niveau requis (IELTS > 6.5) pour les projets d'échanges à l'international.
B2 = TOEIC 800 B2 = IELTS 6
LV2
Composante
ENSEIRB-MATMECA
Niveaux de compétence et activités correspondants aux niveaux A2-B2 du CECR dans la langue choisie en 1e année. Les groupes de niveau sont maintenus.
Savoir être autonome dans le travail (C13, N1 à N3)
Savoir comprendre et s'exprimer à l'oral et à l'écrit (C 10 / N1-N3)
Savoir s'exprimer avec aisance et précision (C 10 / N1-N3)
Savoir adapter un discours approprié à une situation donnée (C 10, C 12/N1-N3)
Etudier la culture et la civilisation à travers la langue.
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de trois parties complémentaires :
- Communiquer et Manager (Niveau 3)
- Projet Professionnel (Niveau 3)
- Droit du travail.
Partie 1 : COMMUNIQUER ET MANAGER - Niveau 3 (2,67 heures)
Niveau 3 : Adapter son management selon les situations, développer son leadership et motiver les collaborateurs Savoir : Modèle du management situationnel, du leadership et les différentes théories de la motivation au travail Savoir Faire : Identifier son style de management, adapter son style de management à ses collaborateurs et développer sa capacité à motiver les collaborateurs.
TD1 : MANAGEMENT SITUATIONNEL
Présentation du modèle Paul Hersey et Kenneth Blanchard du « Management ou Leadership Situationnel ».
Management et leadership : définitions, différences et compétences spécifiques
Appropriation du modèle à l'aide d'exercices
TD2 : MANAGER, C'EST MOTIVER
Définitions de la motivation
Motivation et performance
Présentation de quelques modèles théoriques : McGregor (théorie X et Y), Herzberg (théorie des deux facteurs), Vroom (théorie Valence Instrumentalité Expectation), motivation intrinsèque et extrinsèque
Exercices de mises en pratique
Partie 2 : PROJET PROFESSIONNEL - Niveau 3 : (4 heures)
être en capacité de construire un projet professionnel cohérent et de le défendre en entretien de recrutement ou pour un stage
Module 1 : - Comment construire son projet professionnel ? - Identifier ses fondations personnelles : cadre de référence, valeurs et aversions, ressources personnelles ... - Mener une réflexion sur son entreprise « idéale » : taille, domaine d'activité, localisation, gouvernance, style de management, cadre de travail ...
- Identification du parcours professionnel à court terme ( à la sortie de l'école)
- Elaboration du plan d'action individuel associé
Module 2 :
- Identification du parcours professionnel à moyen terme (projection à 5 ans)
- Elaboration du plan d'action individuel associé
- Construction du pitch de présentation de son projet professionnel en vue d'entretiens de stages ou de recrutement
- Mise en situation
Partie 3 : DROIT DU TRAVAIL (13,33 heures)
L'objectif du cours de Droit du Travail est d'initier les élèves aux problématiques du Droit du Travail Français afin de les préparer à « affronter » le monde du Travail à leur sortie de l'Ecole en étant informés
Le Cours est composé de cinq parties :
Introduction générale au Droit et plus particulièrement au Droit du Travail avec, notamment, la hiérarchie des Sources de Droit, les différents lieux où se juge le Droit, le Chemin Législatif, le Document Unique, l'article L4121-1 du Code du Travail, etc...
Le Contrat de Travail
Les relations individuelles et collectives entre salarié et employeur, dans tout son déroulement en partant de la candidature, du CV, de l'entretien d'embauche jusqu' à la fin du contrat, et en précisant également les relations collectives du travail avec les Conseils Economiques et Sociaux et toute la représentation du personnel,
La réglementation du travail : durée du travail journalière, hebdomadaire, mensuelle, annuelle, la rémunération, les différents types de contrat, etc...
Les évolutions récentes du Droit du Travail suite à la Loi Travail de 2016 et aux Ordonnances Travail de 2017, sans oublier le télé-travail et les effets de la crise sanitaire
UE I8-A - Systèmes et applications
ECTS
10 crédits
Composante
ENSEIRB-MATMECA
Cryptologie
Composante
ENSEIRB-MATMECA
Après quelques rudiments en Théorie des Nombres et en Théorie de la Complexité, ce cours d'initiation présente une grande variété de protocoles et étudie la sécurité de certains d'entre eux.
Plan
Introduction aux protocoles - Introduction - Cryptosystèmes à clefs secrètes
Sécurité des protocoles - De la difficulté en Théorie de la Complexité - Systèmes à clefs publiques - Quelques problèmes arithmétiques faciles - Quelques problèmes arithmétiques difficiles
Exemples de protocoles - Protocole de mise en gage - Signature et authentification - Preuve à divulgation nulle - Paiement et vote électronique
Perspectives - Cryptologie quantique
Calculabilité et complexité
Composante
ENSEIRB-MATMECA
Ce module présente les notions principales de calculabilité et de complexité.
Plan
Notions de calculabilité
Définition formelle : mots, language, problème
Machine de Turing, MT Universelle
Existence de fonctions non calculables
Exemples de problèmes indécidables
Principe de réduction
Classes de complexité
Exemples de problèmes NP-complet
Intelligence artificielle
Composante
ENSEIRB-MATMECA
Le but de ce cours est de comprendre les opportunités et limites des approchesde résolution de problèmes basées sur l'un des grands domaines de l'IA (Recherche, Raisonnement, Apprentissage).
Systèmes d'exploitation
Composante
ENSEIRB-MATMECA
Les systèmes d'exploitation sont la couche logicielle la plus basse qui se place entre le matériel et toutes les applications. Ils sont donc un élément de choix pour l'étude de concepts fondamentaux comme l'exécution asynchrone ou la gestion de mémoire virtuelle avec les problèmes que cela pose et les nouvelles portes que cela ouvre. Le cours s'attache à dégager les points importants qui interviennent dans la conception de tels systèmes, en les illustrant chaque fois que cela est possible par des extraits de code source d'un noyau UNIX.
Plan
Introduction
Concepts généraux
Processus et exécution
Gestion mémoire
Concurrence et synchronisation
Gestion du temps
Système de fichiers
Entrées-sorties
Virtualisation
Applications TCP/IP
Composante
ENSEIRB-MATMECA
Mise en place du modèle TCP/IP avec illustration et utilisation d'applications TCP/IP
Plan
Applications TCP/IP
Mise en place des applications TCP/IP
Implémentation d'un exemple d'application TCP ou UDP : programmation socket simple en C ou Java par exemple
Exemples d'application TCP/IP
Présentation de quelques applications TCP/IP : le système DNS, le protocole SMTP et POP
telenet et netcat sur serveur
mise en place de nslookup et dig
les enregistrements DNS : A, AAAA, MX, SOA, DNS over HTTP (DoH)
Le routage
Le routage de l'information dans les réseaux
notion d'arbre collecteur
plus court chemin dans un graphe
routage par inondation
routage fondé sur les flux
routage à vecteur et distance ...
Exercice sur le calcul de la table de routage.
illustration de RIP, OSPF, BGP
I8-B : UE personnalisée (au choix)
Composante
ENSEIRB-MATMECA
UE I8-E - UE-B-1 : 1 module EX214 + 2 modules EX205 sans TOEIC
ECTS
9 crédits
Composante
ENSEIRB-MATMECA
I2-S8 Modules informatiques (au choix)
Composante
ENSEIRB-MATMECA
Théorie des jeux pour la modélisation informatique
Composante
ENSEIRB-MATMECA
Suite aux travaux de John Nash au début des années 1950, la théorie des jeux a été utilisée principalement comme un modèle mathématique pour les intéractions économiques et sociales. Cependant, depuis le début des années 1980, la théorie des jeux occupe une place de plus en plus importante en informatique, et en particulier pour la logique et la vérification automatique de programmes. L'objectif de ce cours est de présenter quelques modèles de jeux, ainsi que des applications de la théorie dans plusieurs domaines de l'informatique.Une première partie de ce cours porte sur des jeux infinis sur des graphes finis ou infinis. Cette théorie possède des applications pour la théorie des automates (automates d'arbre), et la vérification de programme (mu-calcul ou autres logiques).
La deuxième partie porte sur les jeux en forme stratégique et les équilibres de Nash.
Flot et Combinatoire
Composante
ENSEIRB-MATMECA
La sécurisation et le dimensionnement des réseaux (urbain, informatique, de télécommunication,...), l'optimisation du routage des flux (financiers, d'information, de personnels, de produits), les problèmes de logistique et de transport (routier, aérien et du rail) représentent de réels enjeux pour les industriels. Les problèmes d'optimisation sous-jacents se ramènent le plus souvent à des modèles combinatoires qui sont des briques essentielles pour appréhender les systèmes complexes.
Ce cours vise à compléter la formation aux approches algorithmiques spécifiques aux problématiques d'optimisation combinatoire dans les graphes. Le cours vise à expliquer comment utiliser les outils de la programmation mathématique (typiquement la programmation linéaire et en nombre entiers) pour guider les algorithmes combinatoires vers des solutions optimales ou quand cela s'avère trop complexe, de bonne solutions approchées. L'objectif est de maîtriser les modèles et techniques de base qui servent dans les stratégies de résolution d'une grande variété de problèmes complexes.
Génie logiciel avancé
Composante
ENSEIRB-MATMECA
Depuis quelques années, on assiste à l'émergence du DevOps dans le monde du développement logiciel. De plus en plus d'entreprises adoptent une approche DevOps afin d'apporter continuellement de la valeur aux utilisateurs de leurs logiciels. Cela implique un changement de culture, la mise en place de nouveaux outils et de nouvelles pratiques, et une façon différente de collaborer pour « faire du logiciel ». Ce module vise à sensibiliser les étudiants aux pratiques DevOps à travers la découverte notamment de l'intégration continue et du déploiement continu.
Securite des systemes d'information
Composante
ENSEIRB-MATMECA
La sécurité des systèmes d'informations est un enjeu essentiel de notre société où l'utilisation de systèmes électroniques de traitement des données connectés en réseaux s'est généralisée. Aussi bien les entreprises privées que les administration nationales se dotent maintenant de moyens importants pour veiller à la sécurité de leurs systèmes et limiter les risques d'attaques aux conséquences importantes sur des plans humains, financiers ainsi qu'en terme de protection des données.
L'objectif de ce module est donc de renforcer la connaissance des étudiants dans ce domaine en leur proposant une introduction approfondie à la cybersécurité. Pour atteindre cet objectif, le cours adopte une approche pratique en étudiant et en mettant en œuvre diverses cyberattaques parmi les plus courantes aujourd'hui, notamment celles identifiées dans le cadre du OWASP Top 10. Une mise en œuvre des bonnes pratiques existantes pour se prémunir contre ces attaques sera également proposée. En outre, le cours explorera les nouvelles tendances et orientations émergentes dans le domaine de la cybersécurité.
Plan
Le module s'organise en 13 séances de deux heures. Parmi ces 13 séances :
12 d'entre elles porteront sur un ensemble de mises en pratique organisées autour d'un projet global : la sécurisation d'un site Web. Parmi les points/types de menaces/solutions de sécurité qui pourront être abordés et mis en place par les étudiants au cours de ces séances on peut notamment citer :
Les attaques réseau (DNS Spoofing, Man-in-the-Middle)
Les failles de sécurité (Injections SQL)
L'ingénierie Sociale
La mise en oeuvre de nouvelles solutions telles que la Blockchain.
etc.
1 d'entre elles portera sur la présentation des élèves d'un nouveau sujet en lien avec la cybersécurité parmi un ensemble de sujets qui leurs seront proposés. L'idée sera de permettre à l'ensemble de se sensibiliser à de nouvelles problématiques
Systèmes de Types et Programmation
Composante
ENSEIRB-MATMECA
Programmer, c'est transcrire un problème algorithmique dans un langage particulier. Cette opération n'est pas univoque (plusieurs façons de faire) et potentiellement hasardeuse (plusieurs façons de se tromper). De quels outils un programmeur dispose t'il pour l'assister dans cette transcription ? Quelles formes de vérification automatique existent qui permettent de certifier des propriétés d'un programme ?
L'un des outils les plus généralisés et directement applicables utilisés par les programmeurs pour vérifier leur code, ce sont les systèmes de types. Ce cours va s'intéresser à :
définir et comprendre ce qu'est un système de type,
comprendre les algorithmes permettant de vérifier la correction des types,
étudier les formes classiques de polymorphisme, des manières de manipuler des types distincts de façon uniforme,
examiner des formes plus avancées de vérification, allant jusqu'aux preuves de programmes.
Ce cours examine les langages de programmation de manière transverse, et prend des exemples variés dans des langages tels qu'Haskell, OCaml, et Scala (entre autres) en plus des classiques que sont le C, C++ et Java. Il aborde le problème d'un point de vue formel, en se ramenant systématiquement au modèle fondamental du lambda-calcul simplement typé. L'idée essentielle reliant ces concepts est leur caractère applicable, permettant de programmer et de certifier, sans avoir à écrire directement des preuves.
Makers
Composante
ENSEIRB-MATMECA
L'objectif de ce module est de se familiariser avec les techniques de prototypage rapide disponible au FabLab à travers la réalisation d'un projet. L'élève est formé à l'impression 3D, la découpe laser, la modélisation 3D, la conception et la programmation de circuit embarqués (arduino, raspberry pi).
Interfaces sonores
Composante
ENSEIRB-MATMECA
Ce cours est une initation au son numérique et ses interfaces. Les compétences visées sont les suivantes :
- reconnaître les paramètres physiques et perceptifs des sons et interpréter leurs représentations
- maîtriser le principe de numérisation et les différents formats sonores numériques (DAC, échantillonage, quantification) et le fonctionnement des cartes sons.
- savoir utiliser les protocoles de communication et de synchronisation des sons numériques (MIDI, OSC, JACK)
- savoir manipuler les sons numériques par programme C (lecture, filtrage)
- connaître les principes de base de la synthèse sonore et savoir synthétiser des sons au moyen de langages de synthèse sonore
- connaître les principes de base des séquenceurs et savoir écrire des plug-ins
Initiation à la recherche - Parcours PhD
Composante
ENSEIRB-MATMECA
L'ENSEIRB-MATMECA propose un parcours « ingénieur-docteur » destiné aux élèves-ingénieurs qui souhaitent s'impliquer dans la recherche scientifique et ses applications afin de susciter des vocations RetD et de faciliter l'appréhension des études doctorales (poursuite en thèse de doctorat). L'objectif du parcours « ingénieur-docteur » est de promouvoir et de valoriser la recherche auprès des élèves ingénieur, de montrer l'importance de la recherche et le besoin de développement d'expertises scientifiques du haut niveau.
Le module "Initiation à la recherche" est un enseignement du parcours "ingénieur-docteur". Il vise à développer des compétences bibliographiques par la lecture d'un article scientifique (conférence, journal, chapitre de livre, etc) encadrée par un chercheur, la réalisation d'une synthèse bibliographique et une présentation orale de celle-ci.
Programmation multicoeur et GPU
Composante
ENSEIRB-MATMECA
Comment tirer partie de la puissance de calcul des ordinateurs contemporains ? Ce cours est une initiation aux techniques algorithmiques, logicielles et matérielles permettant de programmer des machines disposant de plusieurs coeurs et/ou d'accélérateurs tels que les cartes graphiques (GPU). Autrement dit, il s'agira de comprendre comment exploiter les capacités de traitement en paralléle offertes par le matériel.
Plan
intérêts et notions de base du parallélisme, granularité des calculs, d'équilibrage de charge
architecture générale des ordinateurs multicoeur et des cartes graphiques
techniques algorithmiques générales de parallélisation
langages et bibliothèques incontournables de la programmation des architectures multicoeur
impacts de l'architecture et de la compilation sur la programmation : vers la portabilité des performances
programmation des machines hétérogènes équipées de processeurs specialisés (e.g. GPU)
I2-S8 Modules informatiques (au choix)
Composante
ENSEIRB-MATMECA
Introduction aux traitements des images
Composante
ENSEIRB-MATMECA
Il s'agit d'une introduction aux différentes méthodes existantes pour traiter les images numériques (filtrage, segmentation, ...) Ce cours couvre les différentes thématiques suivantes :
Manipulation des images numériques
Modèle fréquentielle
Techniques d'interpolations
Notion de morphologie mathématique
Transformation de domaine
Tranformation couleur
Débruitage d'images
La mise en pratique et la programmation des notions se fera en C.
Analyse de l'Innovation & Intelligence Technologique
Composante
ENSEIRB-MATMECA
Que ce soit à l'échelle d'une entreprise, d'un groupe industriel ou d'un territoire géographique, l'innovation est aujourd'hui une problématique stratégique majeure.
Cependant, bien que les bénéfices de l'innovation soient en partie bien connus, la compréhension du phénomène d'innovation reste complexe. L'enjeu est de taille pour les acteurs innovants ou qui soutiennent l'innovation : bien comprendre les dynamiques d'innovation facilitent leur prise de décision en les aidant à mieux se positionner dans des environnements dynamiques, internationalisés et hautement compétitifs.
Face à ces enjeux, l'intelligence technologique peut être définie comme « Ensemble des activités coordonnées visant l'acquisition de connaissances solides sur l'environnement scientifique et technologique afin de soutenir le processus deprise de décision, en particulier sur les problématiques liées au management de la recherche et l'innovation ».
L'intelligence technologique s'apparente donc à la recherche et l'analyse d'informations stratégiques pour mieux comprendre les environnements innovants. C'est un ensemble de méthodes et d'outils originaux et à forte valeurajoutée qui permettent d'aborder un panel de questions variées, des plus larges aux plus précises. Exemples :
Quels sont les acteurs les plus actifs sur les technologies blockchain ? Quels sont les pays positionnés sur le développement de technologies pour le stockage d'hydrogène ? Quelles universités possèdent des compétences solides sur les technologies d'imagerie médicale ? Comment IBM aborde les technologies de deep learning ? Quelles entreprises travaillent sur mon domaine de compétence ?
Ce cours s'inscrit dans la volonté de sensibiliser aux enjeux de compréhension des environnements innovants.
Les étudiants pratiqueront l'intelligence technologique autour de cas appliqués de leur choix. Les 26 heures de cours s'articuleront en 3 parties et aboutiront à la réalisation d'un rapport collectif (groupe de trois ou quatreétudiants) qui présentera l'utilisation des méthodes en intelligence technologique acquises à travers une problématique choisie.
Les étudiants y manipuleront des bases de données structurées (base de données brevets principalement) et exploiteront les informations qui en sont issues grâce à des outils d'analyse dédiés.
L'innovation est aujourd'hui unanimement reconnue comme un facteur clés de succès du développement économique. La maîtrise de la technologie, toujours plus complexe, coûteuse, risquée, dans un monde en perpétuelle évolution est au coeur de la stratégie d'innovation des grands groupes industriels et pose la question du ressourcement. La démarche « d'Open Innovation » tente d'y répondre mais implique la mise en place de dispositifs de veille stratégique et d'intelligence économique/technologiques performants pour permettre l'identification précoce des partenaires clés et des signaux faibles annonciateurs de ruptures. L'analyse de ces informations multiples doit se faire dans un cadre sectoriel et non pas uniquement technologique pour alimenter une vision prospective de l'innovation dans son contexte à 10 ans. Ceci passe par une capacité à interroger, structurer et analyser des informations de très grandes masses renvoyant au concept de « Big Data ».
Ce cours et les travaux pratiques associés visent à appréhender :
les bases de données existantes dans le domaine de l'innovation (ORBIT et Scopus notamment)
les outils de veille et de traitement de l'information de type « Big Data » (informations brevets, publications scientifiques, réseaux sociaux... ) (Scoop it, Intellixir...).
Il doit permettre également de maitriser les outils de visualisation graphique adaptés à la visualisation de données de grandes masses (GEPHI et Sigma JS).
Environnement logiciel et bases de données : Les logiciels, outils de veille et bases de données ne nécessitent pas d'installation préalable, à l'exception du logiciel GEPHI (représentation cartographique des données).
Introduction à la robotique
Composante
ENSEIRB-MATMECA
Dans ce cours, les concepts de bases de la modélisation géométrique et cinématique des robots, ainsi que la planification de trajectoires sur des robots articulaires et mobiles seront présentés. L'objectif est de donner un aperçu des problématiques liées à la modélisation, au contrôle, mais aussi à la mise en pratique concrète sur du vrai matériel.
Programme:
Notions fondamentales de la robotique: mécatronique, modélisation, cinématique et dynamique, planification. Il s'agit de comprendre ce qui définit un robot, d'en produire un modèle géométrique et physique et d'aborder les techniques classiques de contrôle.
Modèle géométrique direct et inverse de robots articulaires
Modèle cinématique (robot mobile)
Génération de trajectoire dans l'espace opérationnel (interpolations)
Locomotion de robots à pattes
Utilisation de simulateur physique
Expérimentations sur des véritables robots
Evaluation
Pour l'évaluation des connaissances, il sera demander de remettre un projet (individuel) évalué à la fin du cours. Dans l'idéal (si les conditions sanitaires le permettent), le projet sera réalisé sur des robots hexapodes ou quadrupède. Dans le cas dégradé (enseignement à distance), le projet sera réalisé sous forme de simulation.
Apprentissage et Deep Learning
Composante
ENSEIRB-MATMECA
Apprendre à formaliser un problème d'apprentissage
Connaître les notions d'apprentissage suoervisés et non supervisés, de régression et de classification
Comprend les principales méthodes d'apprentissage (KMeans, NL-Bayes, GMM, Support Vector Machines, Deep Learning)
Connaitre leurs applications
Savoir les appliquer.
UE I8-F - UE-B-2 : 1 module EX214 + 1 module EX205 + 2 modules EX206, sans TOEIC
ECTS
9 crédits
Composante
ENSEIRB-MATMECA
I2-S8 Modules informatiques (au choix)
Composante
ENSEIRB-MATMECA
Théorie des jeux pour la modélisation informatique
Composante
ENSEIRB-MATMECA
Suite aux travaux de John Nash au début des années 1950, la théorie des jeux a été utilisée principalement comme un modèle mathématique pour les intéractions économiques et sociales. Cependant, depuis le début des années 1980, la théorie des jeux occupe une place de plus en plus importante en informatique, et en particulier pour la logique et la vérification automatique de programmes. L'objectif de ce cours est de présenter quelques modèles de jeux, ainsi que des applications de la théorie dans plusieurs domaines de l'informatique.Une première partie de ce cours porte sur des jeux infinis sur des graphes finis ou infinis. Cette théorie possède des applications pour la théorie des automates (automates d'arbre), et la vérification de programme (mu-calcul ou autres logiques).
La deuxième partie porte sur les jeux en forme stratégique et les équilibres de Nash.
Flot et Combinatoire
Composante
ENSEIRB-MATMECA
La sécurisation et le dimensionnement des réseaux (urbain, informatique, de télécommunication,...), l'optimisation du routage des flux (financiers, d'information, de personnels, de produits), les problèmes de logistique et de transport (routier, aérien et du rail) représentent de réels enjeux pour les industriels. Les problèmes d'optimisation sous-jacents se ramènent le plus souvent à des modèles combinatoires qui sont des briques essentielles pour appréhender les systèmes complexes.
Ce cours vise à compléter la formation aux approches algorithmiques spécifiques aux problématiques d'optimisation combinatoire dans les graphes. Le cours vise à expliquer comment utiliser les outils de la programmation mathématique (typiquement la programmation linéaire et en nombre entiers) pour guider les algorithmes combinatoires vers des solutions optimales ou quand cela s'avère trop complexe, de bonne solutions approchées. L'objectif est de maîtriser les modèles et techniques de base qui servent dans les stratégies de résolution d'une grande variété de problèmes complexes.
Génie logiciel avancé
Composante
ENSEIRB-MATMECA
Depuis quelques années, on assiste à l'émergence du DevOps dans le monde du développement logiciel. De plus en plus d'entreprises adoptent une approche DevOps afin d'apporter continuellement de la valeur aux utilisateurs de leurs logiciels. Cela implique un changement de culture, la mise en place de nouveaux outils et de nouvelles pratiques, et une façon différente de collaborer pour « faire du logiciel ». Ce module vise à sensibiliser les étudiants aux pratiques DevOps à travers la découverte notamment de l'intégration continue et du déploiement continu.
Securite des systemes d'information
Composante
ENSEIRB-MATMECA
La sécurité des systèmes d'informations est un enjeu essentiel de notre société où l'utilisation de systèmes électroniques de traitement des données connectés en réseaux s'est généralisée. Aussi bien les entreprises privées que les administration nationales se dotent maintenant de moyens importants pour veiller à la sécurité de leurs systèmes et limiter les risques d'attaques aux conséquences importantes sur des plans humains, financiers ainsi qu'en terme de protection des données.
L'objectif de ce module est donc de renforcer la connaissance des étudiants dans ce domaine en leur proposant une introduction approfondie à la cybersécurité. Pour atteindre cet objectif, le cours adopte une approche pratique en étudiant et en mettant en œuvre diverses cyberattaques parmi les plus courantes aujourd'hui, notamment celles identifiées dans le cadre du OWASP Top 10. Une mise en œuvre des bonnes pratiques existantes pour se prémunir contre ces attaques sera également proposée. En outre, le cours explorera les nouvelles tendances et orientations émergentes dans le domaine de la cybersécurité.
Plan
Le module s'organise en 13 séances de deux heures. Parmi ces 13 séances :
12 d'entre elles porteront sur un ensemble de mises en pratique organisées autour d'un projet global : la sécurisation d'un site Web. Parmi les points/types de menaces/solutions de sécurité qui pourront être abordés et mis en place par les étudiants au cours de ces séances on peut notamment citer :
Les attaques réseau (DNS Spoofing, Man-in-the-Middle)
Les failles de sécurité (Injections SQL)
L'ingénierie Sociale
La mise en oeuvre de nouvelles solutions telles que la Blockchain.
etc.
1 d'entre elles portera sur la présentation des élèves d'un nouveau sujet en lien avec la cybersécurité parmi un ensemble de sujets qui leurs seront proposés. L'idée sera de permettre à l'ensemble de se sensibiliser à de nouvelles problématiques
Systèmes de Types et Programmation
Composante
ENSEIRB-MATMECA
Programmer, c'est transcrire un problème algorithmique dans un langage particulier. Cette opération n'est pas univoque (plusieurs façons de faire) et potentiellement hasardeuse (plusieurs façons de se tromper). De quels outils un programmeur dispose t'il pour l'assister dans cette transcription ? Quelles formes de vérification automatique existent qui permettent de certifier des propriétés d'un programme ?
L'un des outils les plus généralisés et directement applicables utilisés par les programmeurs pour vérifier leur code, ce sont les systèmes de types. Ce cours va s'intéresser à :
définir et comprendre ce qu'est un système de type,
comprendre les algorithmes permettant de vérifier la correction des types,
étudier les formes classiques de polymorphisme, des manières de manipuler des types distincts de façon uniforme,
examiner des formes plus avancées de vérification, allant jusqu'aux preuves de programmes.
Ce cours examine les langages de programmation de manière transverse, et prend des exemples variés dans des langages tels qu'Haskell, OCaml, et Scala (entre autres) en plus des classiques que sont le C, C++ et Java. Il aborde le problème d'un point de vue formel, en se ramenant systématiquement au modèle fondamental du lambda-calcul simplement typé. L'idée essentielle reliant ces concepts est leur caractère applicable, permettant de programmer et de certifier, sans avoir à écrire directement des preuves.
Makers
Composante
ENSEIRB-MATMECA
L'objectif de ce module est de se familiariser avec les techniques de prototypage rapide disponible au FabLab à travers la réalisation d'un projet. L'élève est formé à l'impression 3D, la découpe laser, la modélisation 3D, la conception et la programmation de circuit embarqués (arduino, raspberry pi).
Interfaces sonores
Composante
ENSEIRB-MATMECA
Ce cours est une initation au son numérique et ses interfaces. Les compétences visées sont les suivantes :
- reconnaître les paramètres physiques et perceptifs des sons et interpréter leurs représentations
- maîtriser le principe de numérisation et les différents formats sonores numériques (DAC, échantillonage, quantification) et le fonctionnement des cartes sons.
- savoir utiliser les protocoles de communication et de synchronisation des sons numériques (MIDI, OSC, JACK)
- savoir manipuler les sons numériques par programme C (lecture, filtrage)
- connaître les principes de base de la synthèse sonore et savoir synthétiser des sons au moyen de langages de synthèse sonore
- connaître les principes de base des séquenceurs et savoir écrire des plug-ins
Initiation à la recherche - Parcours PhD
Composante
ENSEIRB-MATMECA
L'ENSEIRB-MATMECA propose un parcours « ingénieur-docteur » destiné aux élèves-ingénieurs qui souhaitent s'impliquer dans la recherche scientifique et ses applications afin de susciter des vocations RetD et de faciliter l'appréhension des études doctorales (poursuite en thèse de doctorat). L'objectif du parcours « ingénieur-docteur » est de promouvoir et de valoriser la recherche auprès des élèves ingénieur, de montrer l'importance de la recherche et le besoin de développement d'expertises scientifiques du haut niveau.
Le module "Initiation à la recherche" est un enseignement du parcours "ingénieur-docteur". Il vise à développer des compétences bibliographiques par la lecture d'un article scientifique (conférence, journal, chapitre de livre, etc) encadrée par un chercheur, la réalisation d'une synthèse bibliographique et une présentation orale de celle-ci.
Programmation multicoeur et GPU
Composante
ENSEIRB-MATMECA
Comment tirer partie de la puissance de calcul des ordinateurs contemporains ? Ce cours est une initiation aux techniques algorithmiques, logicielles et matérielles permettant de programmer des machines disposant de plusieurs coeurs et/ou d'accélérateurs tels que les cartes graphiques (GPU). Autrement dit, il s'agira de comprendre comment exploiter les capacités de traitement en paralléle offertes par le matériel.
Plan
intérêts et notions de base du parallélisme, granularité des calculs, d'équilibrage de charge
architecture générale des ordinateurs multicoeur et des cartes graphiques
techniques algorithmiques générales de parallélisation
langages et bibliothèques incontournables de la programmation des architectures multicoeur
impacts de l'architecture et de la compilation sur la programmation : vers la portabilité des performances
programmation des machines hétérogènes équipées de processeurs specialisés (e.g. GPU)
Liste de modules (culture de l'ingénieur)
Composante
ENSEIRB-MATMECA
Management de projet digital et innovant
Composante
ENSEIRB-MATMECA
Connaissance des bases du pilotage du projet digital et/ou innovant
Intelligence Economique
Composante
ENSEIRB-MATMECA
Initiation à la finance de marché
Composante
ENSEIRB-MATMECA
Sciences techniques et sociétés
Composante
ENSEIRB-MATMECA
Parcours entrepreneur
Composante
ENSEIRB-MATMECA
Management humain et performant
Composante
ENSEIRB-MATMECA
Management & santé au travail
Composante
ENSEIRB-MATMECA
Initiation à la recherche - parcours PhD
Composante
ENSEIRB-MATMECA
Lire un article de recherche, réaliser une étude bibliographique en lien avec l'article, rédiger une note de synthèse, et la présenter à l'oral.
I2-S8 Modules informatiques (au choix)
Composante
ENSEIRB-MATMECA
Introduction aux traitements des images
Composante
ENSEIRB-MATMECA
Il s'agit d'une introduction aux différentes méthodes existantes pour traiter les images numériques (filtrage, segmentation, ...) Ce cours couvre les différentes thématiques suivantes :
Manipulation des images numériques
Modèle fréquentielle
Techniques d'interpolations
Notion de morphologie mathématique
Transformation de domaine
Tranformation couleur
Débruitage d'images
La mise en pratique et la programmation des notions se fera en C.
Analyse de l'Innovation & Intelligence Technologique
Composante
ENSEIRB-MATMECA
Que ce soit à l'échelle d'une entreprise, d'un groupe industriel ou d'un territoire géographique, l'innovation est aujourd'hui une problématique stratégique majeure.
Cependant, bien que les bénéfices de l'innovation soient en partie bien connus, la compréhension du phénomène d'innovation reste complexe. L'enjeu est de taille pour les acteurs innovants ou qui soutiennent l'innovation : bien comprendre les dynamiques d'innovation facilitent leur prise de décision en les aidant à mieux se positionner dans des environnements dynamiques, internationalisés et hautement compétitifs.
Face à ces enjeux, l'intelligence technologique peut être définie comme « Ensemble des activités coordonnées visant l'acquisition de connaissances solides sur l'environnement scientifique et technologique afin de soutenir le processus deprise de décision, en particulier sur les problématiques liées au management de la recherche et l'innovation ».
L'intelligence technologique s'apparente donc à la recherche et l'analyse d'informations stratégiques pour mieux comprendre les environnements innovants. C'est un ensemble de méthodes et d'outils originaux et à forte valeurajoutée qui permettent d'aborder un panel de questions variées, des plus larges aux plus précises. Exemples :
Quels sont les acteurs les plus actifs sur les technologies blockchain ? Quels sont les pays positionnés sur le développement de technologies pour le stockage d'hydrogène ? Quelles universités possèdent des compétences solides sur les technologies d'imagerie médicale ? Comment IBM aborde les technologies de deep learning ? Quelles entreprises travaillent sur mon domaine de compétence ?
Ce cours s'inscrit dans la volonté de sensibiliser aux enjeux de compréhension des environnements innovants.
Les étudiants pratiqueront l'intelligence technologique autour de cas appliqués de leur choix. Les 26 heures de cours s'articuleront en 3 parties et aboutiront à la réalisation d'un rapport collectif (groupe de trois ou quatreétudiants) qui présentera l'utilisation des méthodes en intelligence technologique acquises à travers une problématique choisie.
Les étudiants y manipuleront des bases de données structurées (base de données brevets principalement) et exploiteront les informations qui en sont issues grâce à des outils d'analyse dédiés.
L'innovation est aujourd'hui unanimement reconnue comme un facteur clés de succès du développement économique. La maîtrise de la technologie, toujours plus complexe, coûteuse, risquée, dans un monde en perpétuelle évolution est au coeur de la stratégie d'innovation des grands groupes industriels et pose la question du ressourcement. La démarche « d'Open Innovation » tente d'y répondre mais implique la mise en place de dispositifs de veille stratégique et d'intelligence économique/technologiques performants pour permettre l'identification précoce des partenaires clés et des signaux faibles annonciateurs de ruptures. L'analyse de ces informations multiples doit se faire dans un cadre sectoriel et non pas uniquement technologique pour alimenter une vision prospective de l'innovation dans son contexte à 10 ans. Ceci passe par une capacité à interroger, structurer et analyser des informations de très grandes masses renvoyant au concept de « Big Data ».
Ce cours et les travaux pratiques associés visent à appréhender :
les bases de données existantes dans le domaine de l'innovation (ORBIT et Scopus notamment)
les outils de veille et de traitement de l'information de type « Big Data » (informations brevets, publications scientifiques, réseaux sociaux... ) (Scoop it, Intellixir...).
Il doit permettre également de maitriser les outils de visualisation graphique adaptés à la visualisation de données de grandes masses (GEPHI et Sigma JS).
Environnement logiciel et bases de données : Les logiciels, outils de veille et bases de données ne nécessitent pas d'installation préalable, à l'exception du logiciel GEPHI (représentation cartographique des données).
Introduction à la robotique
Composante
ENSEIRB-MATMECA
Dans ce cours, les concepts de bases de la modélisation géométrique et cinématique des robots, ainsi que la planification de trajectoires sur des robots articulaires et mobiles seront présentés. L'objectif est de donner un aperçu des problématiques liées à la modélisation, au contrôle, mais aussi à la mise en pratique concrète sur du vrai matériel.
Programme:
Notions fondamentales de la robotique: mécatronique, modélisation, cinématique et dynamique, planification. Il s'agit de comprendre ce qui définit un robot, d'en produire un modèle géométrique et physique et d'aborder les techniques classiques de contrôle.
Modèle géométrique direct et inverse de robots articulaires
Modèle cinématique (robot mobile)
Génération de trajectoire dans l'espace opérationnel (interpolations)
Locomotion de robots à pattes
Utilisation de simulateur physique
Expérimentations sur des véritables robots
Evaluation
Pour l'évaluation des connaissances, il sera demander de remettre un projet (individuel) évalué à la fin du cours. Dans l'idéal (si les conditions sanitaires le permettent), le projet sera réalisé sur des robots hexapodes ou quadrupède. Dans le cas dégradé (enseignement à distance), le projet sera réalisé sous forme de simulation.
Apprentissage et Deep Learning
Composante
ENSEIRB-MATMECA
Apprendre à formaliser un problème d'apprentissage
Connaître les notions d'apprentissage suoervisés et non supervisés, de régression et de classification
Comprend les principales méthodes d'apprentissage (KMeans, NL-Bayes, GMM, Support Vector Machines, Deep Learning)
Connaitre leurs applications
Savoir les appliquer.
UE I8-G - UE-B-3 : 1 module EX214 + 2 modules de EX205 + LC206 (Rattrapage TOEIC)
ECTS
9 crédits
Composante
ENSEIRB-MATMECA
I2-S8 Modules informatiques (au choix)
Composante
ENSEIRB-MATMECA
Théorie des jeux pour la modélisation informatique
Composante
ENSEIRB-MATMECA
Suite aux travaux de John Nash au début des années 1950, la théorie des jeux a été utilisée principalement comme un modèle mathématique pour les intéractions économiques et sociales. Cependant, depuis le début des années 1980, la théorie des jeux occupe une place de plus en plus importante en informatique, et en particulier pour la logique et la vérification automatique de programmes. L'objectif de ce cours est de présenter quelques modèles de jeux, ainsi que des applications de la théorie dans plusieurs domaines de l'informatique.Une première partie de ce cours porte sur des jeux infinis sur des graphes finis ou infinis. Cette théorie possède des applications pour la théorie des automates (automates d'arbre), et la vérification de programme (mu-calcul ou autres logiques).
La deuxième partie porte sur les jeux en forme stratégique et les équilibres de Nash.
Flot et Combinatoire
Composante
ENSEIRB-MATMECA
La sécurisation et le dimensionnement des réseaux (urbain, informatique, de télécommunication,...), l'optimisation du routage des flux (financiers, d'information, de personnels, de produits), les problèmes de logistique et de transport (routier, aérien et du rail) représentent de réels enjeux pour les industriels. Les problèmes d'optimisation sous-jacents se ramènent le plus souvent à des modèles combinatoires qui sont des briques essentielles pour appréhender les systèmes complexes.
Ce cours vise à compléter la formation aux approches algorithmiques spécifiques aux problématiques d'optimisation combinatoire dans les graphes. Le cours vise à expliquer comment utiliser les outils de la programmation mathématique (typiquement la programmation linéaire et en nombre entiers) pour guider les algorithmes combinatoires vers des solutions optimales ou quand cela s'avère trop complexe, de bonne solutions approchées. L'objectif est de maîtriser les modèles et techniques de base qui servent dans les stratégies de résolution d'une grande variété de problèmes complexes.
Génie logiciel avancé
Composante
ENSEIRB-MATMECA
Depuis quelques années, on assiste à l'émergence du DevOps dans le monde du développement logiciel. De plus en plus d'entreprises adoptent une approche DevOps afin d'apporter continuellement de la valeur aux utilisateurs de leurs logiciels. Cela implique un changement de culture, la mise en place de nouveaux outils et de nouvelles pratiques, et une façon différente de collaborer pour « faire du logiciel ». Ce module vise à sensibiliser les étudiants aux pratiques DevOps à travers la découverte notamment de l'intégration continue et du déploiement continu.
Securite des systemes d'information
Composante
ENSEIRB-MATMECA
La sécurité des systèmes d'informations est un enjeu essentiel de notre société où l'utilisation de systèmes électroniques de traitement des données connectés en réseaux s'est généralisée. Aussi bien les entreprises privées que les administration nationales se dotent maintenant de moyens importants pour veiller à la sécurité de leurs systèmes et limiter les risques d'attaques aux conséquences importantes sur des plans humains, financiers ainsi qu'en terme de protection des données.
L'objectif de ce module est donc de renforcer la connaissance des étudiants dans ce domaine en leur proposant une introduction approfondie à la cybersécurité. Pour atteindre cet objectif, le cours adopte une approche pratique en étudiant et en mettant en œuvre diverses cyberattaques parmi les plus courantes aujourd'hui, notamment celles identifiées dans le cadre du OWASP Top 10. Une mise en œuvre des bonnes pratiques existantes pour se prémunir contre ces attaques sera également proposée. En outre, le cours explorera les nouvelles tendances et orientations émergentes dans le domaine de la cybersécurité.
Plan
Le module s'organise en 13 séances de deux heures. Parmi ces 13 séances :
12 d'entre elles porteront sur un ensemble de mises en pratique organisées autour d'un projet global : la sécurisation d'un site Web. Parmi les points/types de menaces/solutions de sécurité qui pourront être abordés et mis en place par les étudiants au cours de ces séances on peut notamment citer :
Les attaques réseau (DNS Spoofing, Man-in-the-Middle)
Les failles de sécurité (Injections SQL)
L'ingénierie Sociale
La mise en oeuvre de nouvelles solutions telles que la Blockchain.
etc.
1 d'entre elles portera sur la présentation des élèves d'un nouveau sujet en lien avec la cybersécurité parmi un ensemble de sujets qui leurs seront proposés. L'idée sera de permettre à l'ensemble de se sensibiliser à de nouvelles problématiques
Systèmes de Types et Programmation
Composante
ENSEIRB-MATMECA
Programmer, c'est transcrire un problème algorithmique dans un langage particulier. Cette opération n'est pas univoque (plusieurs façons de faire) et potentiellement hasardeuse (plusieurs façons de se tromper). De quels outils un programmeur dispose t'il pour l'assister dans cette transcription ? Quelles formes de vérification automatique existent qui permettent de certifier des propriétés d'un programme ?
L'un des outils les plus généralisés et directement applicables utilisés par les programmeurs pour vérifier leur code, ce sont les systèmes de types. Ce cours va s'intéresser à :
définir et comprendre ce qu'est un système de type,
comprendre les algorithmes permettant de vérifier la correction des types,
étudier les formes classiques de polymorphisme, des manières de manipuler des types distincts de façon uniforme,
examiner des formes plus avancées de vérification, allant jusqu'aux preuves de programmes.
Ce cours examine les langages de programmation de manière transverse, et prend des exemples variés dans des langages tels qu'Haskell, OCaml, et Scala (entre autres) en plus des classiques que sont le C, C++ et Java. Il aborde le problème d'un point de vue formel, en se ramenant systématiquement au modèle fondamental du lambda-calcul simplement typé. L'idée essentielle reliant ces concepts est leur caractère applicable, permettant de programmer et de certifier, sans avoir à écrire directement des preuves.
Makers
Composante
ENSEIRB-MATMECA
L'objectif de ce module est de se familiariser avec les techniques de prototypage rapide disponible au FabLab à travers la réalisation d'un projet. L'élève est formé à l'impression 3D, la découpe laser, la modélisation 3D, la conception et la programmation de circuit embarqués (arduino, raspberry pi).
Interfaces sonores
Composante
ENSEIRB-MATMECA
Ce cours est une initation au son numérique et ses interfaces. Les compétences visées sont les suivantes :
- reconnaître les paramètres physiques et perceptifs des sons et interpréter leurs représentations
- maîtriser le principe de numérisation et les différents formats sonores numériques (DAC, échantillonage, quantification) et le fonctionnement des cartes sons.
- savoir utiliser les protocoles de communication et de synchronisation des sons numériques (MIDI, OSC, JACK)
- savoir manipuler les sons numériques par programme C (lecture, filtrage)
- connaître les principes de base de la synthèse sonore et savoir synthétiser des sons au moyen de langages de synthèse sonore
- connaître les principes de base des séquenceurs et savoir écrire des plug-ins
Initiation à la recherche - Parcours PhD
Composante
ENSEIRB-MATMECA
L'ENSEIRB-MATMECA propose un parcours « ingénieur-docteur » destiné aux élèves-ingénieurs qui souhaitent s'impliquer dans la recherche scientifique et ses applications afin de susciter des vocations RetD et de faciliter l'appréhension des études doctorales (poursuite en thèse de doctorat). L'objectif du parcours « ingénieur-docteur » est de promouvoir et de valoriser la recherche auprès des élèves ingénieur, de montrer l'importance de la recherche et le besoin de développement d'expertises scientifiques du haut niveau.
Le module "Initiation à la recherche" est un enseignement du parcours "ingénieur-docteur". Il vise à développer des compétences bibliographiques par la lecture d'un article scientifique (conférence, journal, chapitre de livre, etc) encadrée par un chercheur, la réalisation d'une synthèse bibliographique et une présentation orale de celle-ci.
Programmation multicoeur et GPU
Composante
ENSEIRB-MATMECA
Comment tirer partie de la puissance de calcul des ordinateurs contemporains ? Ce cours est une initiation aux techniques algorithmiques, logicielles et matérielles permettant de programmer des machines disposant de plusieurs coeurs et/ou d'accélérateurs tels que les cartes graphiques (GPU). Autrement dit, il s'agira de comprendre comment exploiter les capacités de traitement en paralléle offertes par le matériel.
Plan
intérêts et notions de base du parallélisme, granularité des calculs, d'équilibrage de charge
architecture générale des ordinateurs multicoeur et des cartes graphiques
techniques algorithmiques générales de parallélisation
langages et bibliothèques incontournables de la programmation des architectures multicoeur
impacts de l'architecture et de la compilation sur la programmation : vers la portabilité des performances
programmation des machines hétérogènes équipées de processeurs specialisés (e.g. GPU)
I2-S8 Modules informatiques (au choix)
Composante
ENSEIRB-MATMECA
Introduction aux traitements des images
Composante
ENSEIRB-MATMECA
Il s'agit d'une introduction aux différentes méthodes existantes pour traiter les images numériques (filtrage, segmentation, ...) Ce cours couvre les différentes thématiques suivantes :
Manipulation des images numériques
Modèle fréquentielle
Techniques d'interpolations
Notion de morphologie mathématique
Transformation de domaine
Tranformation couleur
Débruitage d'images
La mise en pratique et la programmation des notions se fera en C.
Analyse de l'Innovation & Intelligence Technologique
Composante
ENSEIRB-MATMECA
Que ce soit à l'échelle d'une entreprise, d'un groupe industriel ou d'un territoire géographique, l'innovation est aujourd'hui une problématique stratégique majeure.
Cependant, bien que les bénéfices de l'innovation soient en partie bien connus, la compréhension du phénomène d'innovation reste complexe. L'enjeu est de taille pour les acteurs innovants ou qui soutiennent l'innovation : bien comprendre les dynamiques d'innovation facilitent leur prise de décision en les aidant à mieux se positionner dans des environnements dynamiques, internationalisés et hautement compétitifs.
Face à ces enjeux, l'intelligence technologique peut être définie comme « Ensemble des activités coordonnées visant l'acquisition de connaissances solides sur l'environnement scientifique et technologique afin de soutenir le processus deprise de décision, en particulier sur les problématiques liées au management de la recherche et l'innovation ».
L'intelligence technologique s'apparente donc à la recherche et l'analyse d'informations stratégiques pour mieux comprendre les environnements innovants. C'est un ensemble de méthodes et d'outils originaux et à forte valeurajoutée qui permettent d'aborder un panel de questions variées, des plus larges aux plus précises. Exemples :
Quels sont les acteurs les plus actifs sur les technologies blockchain ? Quels sont les pays positionnés sur le développement de technologies pour le stockage d'hydrogène ? Quelles universités possèdent des compétences solides sur les technologies d'imagerie médicale ? Comment IBM aborde les technologies de deep learning ? Quelles entreprises travaillent sur mon domaine de compétence ?
Ce cours s'inscrit dans la volonté de sensibiliser aux enjeux de compréhension des environnements innovants.
Les étudiants pratiqueront l'intelligence technologique autour de cas appliqués de leur choix. Les 26 heures de cours s'articuleront en 3 parties et aboutiront à la réalisation d'un rapport collectif (groupe de trois ou quatreétudiants) qui présentera l'utilisation des méthodes en intelligence technologique acquises à travers une problématique choisie.
Les étudiants y manipuleront des bases de données structurées (base de données brevets principalement) et exploiteront les informations qui en sont issues grâce à des outils d'analyse dédiés.
L'innovation est aujourd'hui unanimement reconnue comme un facteur clés de succès du développement économique. La maîtrise de la technologie, toujours plus complexe, coûteuse, risquée, dans un monde en perpétuelle évolution est au coeur de la stratégie d'innovation des grands groupes industriels et pose la question du ressourcement. La démarche « d'Open Innovation » tente d'y répondre mais implique la mise en place de dispositifs de veille stratégique et d'intelligence économique/technologiques performants pour permettre l'identification précoce des partenaires clés et des signaux faibles annonciateurs de ruptures. L'analyse de ces informations multiples doit se faire dans un cadre sectoriel et non pas uniquement technologique pour alimenter une vision prospective de l'innovation dans son contexte à 10 ans. Ceci passe par une capacité à interroger, structurer et analyser des informations de très grandes masses renvoyant au concept de « Big Data ».
Ce cours et les travaux pratiques associés visent à appréhender :
les bases de données existantes dans le domaine de l'innovation (ORBIT et Scopus notamment)
les outils de veille et de traitement de l'information de type « Big Data » (informations brevets, publications scientifiques, réseaux sociaux... ) (Scoop it, Intellixir...).
Il doit permettre également de maitriser les outils de visualisation graphique adaptés à la visualisation de données de grandes masses (GEPHI et Sigma JS).
Environnement logiciel et bases de données : Les logiciels, outils de veille et bases de données ne nécessitent pas d'installation préalable, à l'exception du logiciel GEPHI (représentation cartographique des données).
Introduction à la robotique
Composante
ENSEIRB-MATMECA
Dans ce cours, les concepts de bases de la modélisation géométrique et cinématique des robots, ainsi que la planification de trajectoires sur des robots articulaires et mobiles seront présentés. L'objectif est de donner un aperçu des problématiques liées à la modélisation, au contrôle, mais aussi à la mise en pratique concrète sur du vrai matériel.
Programme:
Notions fondamentales de la robotique: mécatronique, modélisation, cinématique et dynamique, planification. Il s'agit de comprendre ce qui définit un robot, d'en produire un modèle géométrique et physique et d'aborder les techniques classiques de contrôle.
Modèle géométrique direct et inverse de robots articulaires
Modèle cinématique (robot mobile)
Génération de trajectoire dans l'espace opérationnel (interpolations)
Locomotion de robots à pattes
Utilisation de simulateur physique
Expérimentations sur des véritables robots
Evaluation
Pour l'évaluation des connaissances, il sera demander de remettre un projet (individuel) évalué à la fin du cours. Dans l'idéal (si les conditions sanitaires le permettent), le projet sera réalisé sur des robots hexapodes ou quadrupède. Dans le cas dégradé (enseignement à distance), le projet sera réalisé sous forme de simulation.
Apprentissage et Deep Learning
Composante
ENSEIRB-MATMECA
Apprendre à formaliser un problème d'apprentissage
Connaître les notions d'apprentissage suoervisés et non supervisés, de régression et de classification
Comprend les principales méthodes d'apprentissage (KMeans, NL-Bayes, GMM, Support Vector Machines, Deep Learning)
Connaitre leurs applications
Savoir les appliquer.
S8 TOEIC (Rattrapage obligatoire)
Composante
ENSEIRB-MATMECA
UE I8-H - UE-B-4 : 1 module EX214 + 1 module EX205 + 1 module EX206 + LC206 (Rattrapage TOEIC)
ECTS
9 crédits
Composante
ENSEIRB-MATMECA
I2-S8 Modules informatiques (au choix)
Composante
ENSEIRB-MATMECA
Théorie des jeux pour la modélisation informatique
Composante
ENSEIRB-MATMECA
Suite aux travaux de John Nash au début des années 1950, la théorie des jeux a été utilisée principalement comme un modèle mathématique pour les intéractions économiques et sociales. Cependant, depuis le début des années 1980, la théorie des jeux occupe une place de plus en plus importante en informatique, et en particulier pour la logique et la vérification automatique de programmes. L'objectif de ce cours est de présenter quelques modèles de jeux, ainsi que des applications de la théorie dans plusieurs domaines de l'informatique.Une première partie de ce cours porte sur des jeux infinis sur des graphes finis ou infinis. Cette théorie possède des applications pour la théorie des automates (automates d'arbre), et la vérification de programme (mu-calcul ou autres logiques).
La deuxième partie porte sur les jeux en forme stratégique et les équilibres de Nash.
Flot et Combinatoire
Composante
ENSEIRB-MATMECA
La sécurisation et le dimensionnement des réseaux (urbain, informatique, de télécommunication,...), l'optimisation du routage des flux (financiers, d'information, de personnels, de produits), les problèmes de logistique et de transport (routier, aérien et du rail) représentent de réels enjeux pour les industriels. Les problèmes d'optimisation sous-jacents se ramènent le plus souvent à des modèles combinatoires qui sont des briques essentielles pour appréhender les systèmes complexes.
Ce cours vise à compléter la formation aux approches algorithmiques spécifiques aux problématiques d'optimisation combinatoire dans les graphes. Le cours vise à expliquer comment utiliser les outils de la programmation mathématique (typiquement la programmation linéaire et en nombre entiers) pour guider les algorithmes combinatoires vers des solutions optimales ou quand cela s'avère trop complexe, de bonne solutions approchées. L'objectif est de maîtriser les modèles et techniques de base qui servent dans les stratégies de résolution d'une grande variété de problèmes complexes.
Génie logiciel avancé
Composante
ENSEIRB-MATMECA
Depuis quelques années, on assiste à l'émergence du DevOps dans le monde du développement logiciel. De plus en plus d'entreprises adoptent une approche DevOps afin d'apporter continuellement de la valeur aux utilisateurs de leurs logiciels. Cela implique un changement de culture, la mise en place de nouveaux outils et de nouvelles pratiques, et une façon différente de collaborer pour « faire du logiciel ». Ce module vise à sensibiliser les étudiants aux pratiques DevOps à travers la découverte notamment de l'intégration continue et du déploiement continu.
Securite des systemes d'information
Composante
ENSEIRB-MATMECA
La sécurité des systèmes d'informations est un enjeu essentiel de notre société où l'utilisation de systèmes électroniques de traitement des données connectés en réseaux s'est généralisée. Aussi bien les entreprises privées que les administration nationales se dotent maintenant de moyens importants pour veiller à la sécurité de leurs systèmes et limiter les risques d'attaques aux conséquences importantes sur des plans humains, financiers ainsi qu'en terme de protection des données.
L'objectif de ce module est donc de renforcer la connaissance des étudiants dans ce domaine en leur proposant une introduction approfondie à la cybersécurité. Pour atteindre cet objectif, le cours adopte une approche pratique en étudiant et en mettant en œuvre diverses cyberattaques parmi les plus courantes aujourd'hui, notamment celles identifiées dans le cadre du OWASP Top 10. Une mise en œuvre des bonnes pratiques existantes pour se prémunir contre ces attaques sera également proposée. En outre, le cours explorera les nouvelles tendances et orientations émergentes dans le domaine de la cybersécurité.
Plan
Le module s'organise en 13 séances de deux heures. Parmi ces 13 séances :
12 d'entre elles porteront sur un ensemble de mises en pratique organisées autour d'un projet global : la sécurisation d'un site Web. Parmi les points/types de menaces/solutions de sécurité qui pourront être abordés et mis en place par les étudiants au cours de ces séances on peut notamment citer :
Les attaques réseau (DNS Spoofing, Man-in-the-Middle)
Les failles de sécurité (Injections SQL)
L'ingénierie Sociale
La mise en oeuvre de nouvelles solutions telles que la Blockchain.
etc.
1 d'entre elles portera sur la présentation des élèves d'un nouveau sujet en lien avec la cybersécurité parmi un ensemble de sujets qui leurs seront proposés. L'idée sera de permettre à l'ensemble de se sensibiliser à de nouvelles problématiques
Systèmes de Types et Programmation
Composante
ENSEIRB-MATMECA
Programmer, c'est transcrire un problème algorithmique dans un langage particulier. Cette opération n'est pas univoque (plusieurs façons de faire) et potentiellement hasardeuse (plusieurs façons de se tromper). De quels outils un programmeur dispose t'il pour l'assister dans cette transcription ? Quelles formes de vérification automatique existent qui permettent de certifier des propriétés d'un programme ?
L'un des outils les plus généralisés et directement applicables utilisés par les programmeurs pour vérifier leur code, ce sont les systèmes de types. Ce cours va s'intéresser à :
définir et comprendre ce qu'est un système de type,
comprendre les algorithmes permettant de vérifier la correction des types,
étudier les formes classiques de polymorphisme, des manières de manipuler des types distincts de façon uniforme,
examiner des formes plus avancées de vérification, allant jusqu'aux preuves de programmes.
Ce cours examine les langages de programmation de manière transverse, et prend des exemples variés dans des langages tels qu'Haskell, OCaml, et Scala (entre autres) en plus des classiques que sont le C, C++ et Java. Il aborde le problème d'un point de vue formel, en se ramenant systématiquement au modèle fondamental du lambda-calcul simplement typé. L'idée essentielle reliant ces concepts est leur caractère applicable, permettant de programmer et de certifier, sans avoir à écrire directement des preuves.
Makers
Composante
ENSEIRB-MATMECA
L'objectif de ce module est de se familiariser avec les techniques de prototypage rapide disponible au FabLab à travers la réalisation d'un projet. L'élève est formé à l'impression 3D, la découpe laser, la modélisation 3D, la conception et la programmation de circuit embarqués (arduino, raspberry pi).
Interfaces sonores
Composante
ENSEIRB-MATMECA
Ce cours est une initation au son numérique et ses interfaces. Les compétences visées sont les suivantes :
- reconnaître les paramètres physiques et perceptifs des sons et interpréter leurs représentations
- maîtriser le principe de numérisation et les différents formats sonores numériques (DAC, échantillonage, quantification) et le fonctionnement des cartes sons.
- savoir utiliser les protocoles de communication et de synchronisation des sons numériques (MIDI, OSC, JACK)
- savoir manipuler les sons numériques par programme C (lecture, filtrage)
- connaître les principes de base de la synthèse sonore et savoir synthétiser des sons au moyen de langages de synthèse sonore
- connaître les principes de base des séquenceurs et savoir écrire des plug-ins
Initiation à la recherche - Parcours PhD
Composante
ENSEIRB-MATMECA
L'ENSEIRB-MATMECA propose un parcours « ingénieur-docteur » destiné aux élèves-ingénieurs qui souhaitent s'impliquer dans la recherche scientifique et ses applications afin de susciter des vocations RetD et de faciliter l'appréhension des études doctorales (poursuite en thèse de doctorat). L'objectif du parcours « ingénieur-docteur » est de promouvoir et de valoriser la recherche auprès des élèves ingénieur, de montrer l'importance de la recherche et le besoin de développement d'expertises scientifiques du haut niveau.
Le module "Initiation à la recherche" est un enseignement du parcours "ingénieur-docteur". Il vise à développer des compétences bibliographiques par la lecture d'un article scientifique (conférence, journal, chapitre de livre, etc) encadrée par un chercheur, la réalisation d'une synthèse bibliographique et une présentation orale de celle-ci.
Programmation multicoeur et GPU
Composante
ENSEIRB-MATMECA
Comment tirer partie de la puissance de calcul des ordinateurs contemporains ? Ce cours est une initiation aux techniques algorithmiques, logicielles et matérielles permettant de programmer des machines disposant de plusieurs coeurs et/ou d'accélérateurs tels que les cartes graphiques (GPU). Autrement dit, il s'agira de comprendre comment exploiter les capacités de traitement en paralléle offertes par le matériel.
Plan
intérêts et notions de base du parallélisme, granularité des calculs, d'équilibrage de charge
architecture générale des ordinateurs multicoeur et des cartes graphiques
techniques algorithmiques générales de parallélisation
langages et bibliothèques incontournables de la programmation des architectures multicoeur
impacts de l'architecture et de la compilation sur la programmation : vers la portabilité des performances
programmation des machines hétérogènes équipées de processeurs specialisés (e.g. GPU)
Liste de modules (culture de l'ingénieur)
Composante
ENSEIRB-MATMECA
Management de projet digital et innovant
Composante
ENSEIRB-MATMECA
Connaissance des bases du pilotage du projet digital et/ou innovant
Intelligence Economique
Composante
ENSEIRB-MATMECA
Initiation à la finance de marché
Composante
ENSEIRB-MATMECA
Sciences techniques et sociétés
Composante
ENSEIRB-MATMECA
Parcours entrepreneur
Composante
ENSEIRB-MATMECA
Management humain et performant
Composante
ENSEIRB-MATMECA
Management & santé au travail
Composante
ENSEIRB-MATMECA
Initiation à la recherche - parcours PhD
Composante
ENSEIRB-MATMECA
Lire un article de recherche, réaliser une étude bibliographique en lien avec l'article, rédiger une note de synthèse, et la présenter à l'oral.
I2-S8 Modules informatiques (au choix)
Composante
ENSEIRB-MATMECA
Introduction aux traitements des images
Composante
ENSEIRB-MATMECA
Il s'agit d'une introduction aux différentes méthodes existantes pour traiter les images numériques (filtrage, segmentation, ...) Ce cours couvre les différentes thématiques suivantes :
Manipulation des images numériques
Modèle fréquentielle
Techniques d'interpolations
Notion de morphologie mathématique
Transformation de domaine
Tranformation couleur
Débruitage d'images
La mise en pratique et la programmation des notions se fera en C.
Analyse de l'Innovation & Intelligence Technologique
Composante
ENSEIRB-MATMECA
Que ce soit à l'échelle d'une entreprise, d'un groupe industriel ou d'un territoire géographique, l'innovation est aujourd'hui une problématique stratégique majeure.
Cependant, bien que les bénéfices de l'innovation soient en partie bien connus, la compréhension du phénomène d'innovation reste complexe. L'enjeu est de taille pour les acteurs innovants ou qui soutiennent l'innovation : bien comprendre les dynamiques d'innovation facilitent leur prise de décision en les aidant à mieux se positionner dans des environnements dynamiques, internationalisés et hautement compétitifs.
Face à ces enjeux, l'intelligence technologique peut être définie comme « Ensemble des activités coordonnées visant l'acquisition de connaissances solides sur l'environnement scientifique et technologique afin de soutenir le processus deprise de décision, en particulier sur les problématiques liées au management de la recherche et l'innovation ».
L'intelligence technologique s'apparente donc à la recherche et l'analyse d'informations stratégiques pour mieux comprendre les environnements innovants. C'est un ensemble de méthodes et d'outils originaux et à forte valeurajoutée qui permettent d'aborder un panel de questions variées, des plus larges aux plus précises. Exemples :
Quels sont les acteurs les plus actifs sur les technologies blockchain ? Quels sont les pays positionnés sur le développement de technologies pour le stockage d'hydrogène ? Quelles universités possèdent des compétences solides sur les technologies d'imagerie médicale ? Comment IBM aborde les technologies de deep learning ? Quelles entreprises travaillent sur mon domaine de compétence ?
Ce cours s'inscrit dans la volonté de sensibiliser aux enjeux de compréhension des environnements innovants.
Les étudiants pratiqueront l'intelligence technologique autour de cas appliqués de leur choix. Les 26 heures de cours s'articuleront en 3 parties et aboutiront à la réalisation d'un rapport collectif (groupe de trois ou quatreétudiants) qui présentera l'utilisation des méthodes en intelligence technologique acquises à travers une problématique choisie.
Les étudiants y manipuleront des bases de données structurées (base de données brevets principalement) et exploiteront les informations qui en sont issues grâce à des outils d'analyse dédiés.
L'innovation est aujourd'hui unanimement reconnue comme un facteur clés de succès du développement économique. La maîtrise de la technologie, toujours plus complexe, coûteuse, risquée, dans un monde en perpétuelle évolution est au coeur de la stratégie d'innovation des grands groupes industriels et pose la question du ressourcement. La démarche « d'Open Innovation » tente d'y répondre mais implique la mise en place de dispositifs de veille stratégique et d'intelligence économique/technologiques performants pour permettre l'identification précoce des partenaires clés et des signaux faibles annonciateurs de ruptures. L'analyse de ces informations multiples doit se faire dans un cadre sectoriel et non pas uniquement technologique pour alimenter une vision prospective de l'innovation dans son contexte à 10 ans. Ceci passe par une capacité à interroger, structurer et analyser des informations de très grandes masses renvoyant au concept de « Big Data ».
Ce cours et les travaux pratiques associés visent à appréhender :
les bases de données existantes dans le domaine de l'innovation (ORBIT et Scopus notamment)
les outils de veille et de traitement de l'information de type « Big Data » (informations brevets, publications scientifiques, réseaux sociaux... ) (Scoop it, Intellixir...).
Il doit permettre également de maitriser les outils de visualisation graphique adaptés à la visualisation de données de grandes masses (GEPHI et Sigma JS).
Environnement logiciel et bases de données : Les logiciels, outils de veille et bases de données ne nécessitent pas d'installation préalable, à l'exception du logiciel GEPHI (représentation cartographique des données).
Introduction à la robotique
Composante
ENSEIRB-MATMECA
Dans ce cours, les concepts de bases de la modélisation géométrique et cinématique des robots, ainsi que la planification de trajectoires sur des robots articulaires et mobiles seront présentés. L'objectif est de donner un aperçu des problématiques liées à la modélisation, au contrôle, mais aussi à la mise en pratique concrète sur du vrai matériel.
Programme:
Notions fondamentales de la robotique: mécatronique, modélisation, cinématique et dynamique, planification. Il s'agit de comprendre ce qui définit un robot, d'en produire un modèle géométrique et physique et d'aborder les techniques classiques de contrôle.
Modèle géométrique direct et inverse de robots articulaires
Modèle cinématique (robot mobile)
Génération de trajectoire dans l'espace opérationnel (interpolations)
Locomotion de robots à pattes
Utilisation de simulateur physique
Expérimentations sur des véritables robots
Evaluation
Pour l'évaluation des connaissances, il sera demander de remettre un projet (individuel) évalué à la fin du cours. Dans l'idéal (si les conditions sanitaires le permettent), le projet sera réalisé sur des robots hexapodes ou quadrupède. Dans le cas dégradé (enseignement à distance), le projet sera réalisé sous forme de simulation.
Apprentissage et Deep Learning
Composante
ENSEIRB-MATMECA
Apprendre à formaliser un problème d'apprentissage
Connaître les notions d'apprentissage suoervisés et non supervisés, de régression et de classification
Comprend les principales méthodes d'apprentissage (KMeans, NL-Bayes, GMM, Support Vector Machines, Deep Learning)
Connaitre leurs applications
Savoir les appliquer.
S8 TOEIC (Rattrapage obligatoire)
Composante
ENSEIRB-MATMECA
UE I8-C - Projet de génie logiciel
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) : N1 : débutant N2 : intermédiaire N3 : confirmé N4 : expertCompétences acquises au sein de cette UE :
C1. Connaissance et compréhension d'un large champ de sciences fondamentales (algorithmique, automates, langages, graphes, logique ...) et capacité d'analyse et de synthèse associéeC2. Capacité à utiliser les fondements et modèles pour concevoir, réaliser et valider les systèmes informatiquesC3. Capacité à choisir et utiliser les outils et les méthodes adéquats dans le cadre du cycle de développement logiciels (langage de programmation, bibliothèques, IDE, Framework, middleware)C4. Capacité à spécifier les besoins et à concevoir l'architecture des applications dans divers domaines scientifiques et technologiques (big data, cloud, développement mobile, calcul parallèle, multimédia, robotique, sécurité des systèmes, vérification des systèmes critiques...) C5. Capacité à tester, valider et prouver les systèmes informatiques afin d'assurer leur bon fonctionnement dans des conditions critiquesC6. Capacité à appréhender, anticiper et intégrer les évolutions technologiques et méthodologiques d'un ensemble de domaines liés aux métiers d'ingénieur informatiqueC7. Capacité à analyser, organiser, répartir les tâches inhérentes à la réalisation d'un projet en équipe en réponse à une demande ou un besoin client parfois partiellement définis, à s'adapter à de nouvelles contraintes liées au projet C8. Capacité à présenter efficacement les solutions et à synthétiser et à démontrer la pertinence des résultatsNiveau acquis à la fin de la formation:C1:N2C2:N2C3:N2C4:N2C5:N2C6:N1C7:N2C8:N2
Projet de systèmes d'exploitation
Composante
ENSEIRB-MATMECA
Ce projet vise à construire une bibliothèque de threads en espace utilisateur. On va fournir une interface de programmation plus ou moins proche des pthreads,mais en les exécutant sur un seul thread noyau. Les intérêts sont d'étudier les coûts d'ordonnancement, de comparer des politiques d'ordonnancement facilement configurables, et d'expérimenter avec les changements de contexte.
Plan
implémentation des fonctionnalités de base avec quelques tests unitaires
évaluation de la complexité de l'implémentation
mise en place de tests de performance
mplémentation de fonctionnalités additionnelles
optimisation des performances
rapport technique et soutenance
Projet de Génie Logiciel - Développement
Composante
ENSEIRB-MATMECA
Ce module est le principal projet de génie logiciel de deuxième année. Il consiste à développer par équipes un logiciel qui répond aux attentes d'un client conformément aux besoins et aux exigences exprimés dans le document de spécifications. Le logiciel produit et ses manuels, un rapport et une soutenance orale constituent la base de notation de ce module.
Ce module permet d'initier les élèves ingénieurs aux domaines suivants :
programmation avancée et répartition du travail dans des groupes de programmation
intégration logicielle
respect des délais
interaction avec un client et un responsable pédagogique qui joue le rôle de chef de service
Projet de réseaux
Composante
ENSEIRB-MATMECA
Ce projet de programmation réseau consiste à écrire des programmes qui communiquent entre eux et à programmer à travers un réseau informatique. L'objectif principal est d'élaborer une application réseau complexe en utilisant le langage C (fonctions POSIX) et le langage JAVA et en utilisant le traitement multitâches (Thread ). Les communications synchrones et asynchrones seront évaluées. La programmation en réseau soulève de nombreux problèmes qui n'apparaissent pas dans le cas d'applications non communicantes. Des bibliothèques faciles à utiliser peuvent être intégrées pour masquer la complexité du réseau.
Un sujet unique de developpement d'application Réseaux permet aux étudiants de conduire un travail d'analyse, de conception et de réalisation d'une application réseau. L'objectif est triple: une pratique de la programmation réseau, un approfondissement des connaissances et un travail de spécification d'une application non triviale.
Une part importante du travail consiste à définir une solution, à la décrire et à la justifier (c'est un travail d'analyse qui consiste en une première expérience de spécification d'un logiciel système et réseau). L'autre partie consiste à réaliser la solution, la tester et faire une démonstration.
Plan
Le sujet disponible une semaine avant le début de la première séance de cours
Exemples de sujet :
Application d'échange de Fichiers en Pair à Pair (FileShare)
Simulation d'un aquarium de poissons
Organisation
Les élèves doivent s'organiser en équipes de 4-5 élèves.
La programmation se fera obligatoirement en C et un langage orienté objet (C++, Java, C#).
Un rapport intermédiaire d'avancement est à remettre à la fin de la 5ème séance.
La 10ème séance est réservée aux soutenances du projet. Le rapport final doit être rendu avant la soutenance.
Les fichiers sources doivent être fournis dans une archive à la fin de la 9ème séance
Langues et Culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Objectifs :
- Savoir être autonome dans son travail
- Comprendre et exploiter des documents variés d'ordre culturel anglophone
- Savoir appréhender le multiculturel
- Savoir participer activement à une conversation, défendre ses opinions
- Savoir écrire un texte clair et détaillé, et/ou lié à une opinion donnée
LV2
Composante
ENSEIRB-MATMECA
Niveaux de compétence et activités correspondants aux niveaux A2-B2 du CECR dans la langue choisie en 1e année et suivie en S7. Les groupes de niveau sont maintenus.
Savoir comprendre et s'exprimer à l'oral et à l'écrit (C 10 / N1-N3)
Savoir s'exprimer avec aisance et précision (C 10 / N1-N3)
Savoir adapter un discours approprié à une situation donnée (C 10, C 12/N1-N3)
Etudier la culture et la civilisation à travers la langue.
Atteindre au moins le niveau A2 -B1 du cadre européen des langues (C 10 /N1-N3)
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Pilotage Dynamique des projets
Objectifs
- Apprendre à sélectionner les projets les plus rentables - Calcul de coût complets et partiel avec seuil de rentabilité sur projet - Contrôle de gestion sur développement des projetsCOURS 1 : LE SYSTèME D'ORGANISATION COMPTABLE1. les obligations fiscales et comptable de l'entreprise MC : fiscalité des entreprises, principes comptables, documents de synthèse2. Synoptique du système d'organisation comptable3. Nature des engagements comptables En comptabilité : MC charges, produits, emplois, ressources4. plan des comptes MC : le plan comptable générale5. Les documents de synthèse (Bilan et compte de résultat)COURS 2 : FAIRE LE CHOIX DE VALIDER LE DEMARRAGE D'UN PROJET1. Projet et gestion de projet MC : projet, gestion de projet, cycle en V, méthode agile... (voir cours de 1A)2. Les critères économiques de décision2.1 Le concept d'actualisation 2.1.1. Présentation 2.1.2 Taux proportionnel - taux équivalent 2.1.3 Cas d'une somme de flux financiers constants MC : actualisation, taux, valeur acquise, valeur actuelle2.2 Les cash-flows prévisionnels d'un projet MC : Capacité d'autofinancement, cash-flows2.3 La valeur actuelle nette des cash-flows du projet MC : VAN, coût moyen pondéré du projet2.4 Autres critères de choix d'investissement MC : TIR, Indice de profitabilité, délai de récupération.2.5 Choix d'investissement en avenir incertain (présentation / outils) MC : Laplace, maximax, minimax, maximinCOURS 3 : LA RENTABILITé D'EXPLOITATION DES PROJETS1. Définition et maîtrise des coûts2. Une typologie des coûts : Coût variable versus coût fixe3. Coût et décision de gestion 3.1 La méthode du coût variable 3.2 Le modèle coût - volume - profit (calcul du seuil de rentabilité)COURS 4 : PRISE DE DéCISION ET CONTRôLE1. La prise de décision2. Le pilotage économique des projets 2.1 Le processus de contrôle 2.2 Le pilotage par la méthode de la valeur acquise
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Semestre 9 - Extérieur
ECTS
30 crédits
Composante
ENSEIRB-MATMECA
Semestre 9 - Algorithmes et méthodes formelles (AMF)
ECTS
30 crédits
Composante
ENSEIRB-MATMECA
UE I9AMF-A - Master informatique Université de Bordeaux (au choix)
Composante
ENSEIRB-MATMECA
UE I9AMF-A1 - Modèles et algorithmes
ECTS
25 crédits
Composante
ENSEIRB-MATMECA
Majeure en algorithmique avancée, mineure en vérification logicielle
Personnalisation (au choix)
Composante
ENSEIRB-MATMECA
Jeux, synthèse et contrôle
Composante
ENSEIRB-MATMECA
Partie 1:
Introduction à la théorie des jeux pour la vérification et la synthèse. La synthèse de systèmes ouverts ou de contrôleurs part du principe d'un système réactif, qui doit intéragir avec son environnement. Les deux entités - système et environnement - sont vues en tant que 2 joueurs antagonistes. On abordera différents types de jeux : jeux à deux joueurs sur des arènes finies, jeux pour la synthèse de contrôleurs, et jeux distribués.
Partie 2:
Bases théoriques de l'apprentissage par renforcement, un framework de l'intelligence artificielle permettant à des agents d'acquérir des connaissances et de prendre des décisions en interagissant avec leur environnement. Nous explorerons en détail les concepts fondamentaux tels que le problème des bandits manchots, les processus de décision markoviens, les compromis entre exploration et exploitation, le Q-learning, etc. ainsi que des techniques avancées telles que l'approximation de fonction et le Deep Q-learning. À la fin de ce cours, vous aurez entre autres acquis les compétences nécessaires pour comprendre AlphaGo, première IA à surpasser l'humain au jeu de go.
Vérification de logiciels
Composante
ENSEIRB-MATMECA
Ce cours a pour but principal d’introduire des techniques classiques de vérification et de les implémenter dans un vérificateur de programmes (simples). L’outil réalisé au cours du semestre est capable de détecter des violation d’assertions sur des programmes dans un sous-langage du C (uniquement des entiers et pas de pointeurs) sans que l’utilisateur ait à fournir d’autres information que le programme.
Partie 1:
Cadre général du vérificateur (notamment le langage vérifié et sa sémantique), visant à familiariser avec le langage utilisé (Ocaml) et le SMT-solveur utilisé (Z3), et présentation de la technique du Bounded Model Checking à travers deux algorithmes pour le réaliser.
Partie 2:
Introduction à l'interprétation abstraite, qui consiste à regarder des abstractions de l’ensemble des exécutions d’un programme dans un domaine mathématique bien ordonné plus simple. Durant cette partie, plusieurs domaines abstraits simples sont implémentés.
Partie 3:
Présentation de la technique du raffinement d’abstraction guidé par contre-exemple (CEGAR) et quelques bases sur les réseaux de Petri.
Algorithmique appliquée
Composante
ENSEIRB-MATMECA
L'objectif de cet enseignement est de balayer quelques techniques/approches algorithmiques pour résoudre des problèmes de toutes sortes. Analyser ces techniques pour comprendre pourquoi elles marchent, identifier leurs points forts et leurs faiblesses. Car en algorithmique tout est question de compromis: tel algorithme sera efficace pour telles données ou structures de données. Programmer ces approches et les tester sur un problème en grandeur réelle. Le projet représente 75% de la note finale, 25% pour le test écrit.
Logique et langages
Composante
ENSEIRB-MATMECA
Ce cours introduit la logique des modèles finis, tels que les mots, les arbres et les graphes fini, ainsi que des logiques temporelles utilisées en vérification. Nous présenterons également les logiques de description qui servent à représenter de manière formelle des connaissances d’un domaine particulier (e.g. médecine) pour améliorer l’interrogation et le partage d'informations. On s’intéressera au pouvoir d’expression des logiques considérées, ainsi que des problèmes algorithmiques variés (validation de formule sur un modèle, satisfiabilité de formule, inférence logique, etc).
Nous aborderons également l’apprentissage d'automates et de formules LTL à partir d’exemples dans des contextes passifs et actifs. Nous discuterons des algorithmes associés à ces problèmes (bornes supérieures) ainsi que des questions de complexité (bornes inférieures). Si le temps le permet, nous mettrons également en lumière un lien étroit entre la théorie des automates et la complexité des circuits algébriques, et montrerons comment les résultats de l'une peuvent être appliqués à l'autre.
Théorie des graphes avancée
Composante
ENSEIRB-MATMECA
La théorie des graphes est un modèle très général qui permet de représenter des problèmatiques très variées, que ce soit dans les réseaux (de toute nature) mais aussi pour des structures hierarchisées comme les bases de données. La culture générale des problématiques de graphe que nous proposons dans ce cours ainsi que la connaissance des outils efficaces pour ces problématiques sont des atouts pour reconnaître et traiter les problèmes qu'elles modélisent.
Cet enseignement présente des notions avancées de théorie des graphes et familiarise l’étudiant avec certaines techniques de preuve classiques, liées notamment à la coloration de graphes. Quelques problèmes et conjectures classiques sont abordés.
Algorithmique distribuée
Composante
ENSEIRB-MATMECA
Objectifs : introduire l’algorithmique distribuée; présenter les différents modèles et contraintes du calcul distribué ; présenter et analyser quelques algorithmiques classiques du domaine ; concevoir des algorithmes s'exécutant sur des systèmes distribués
Séminaire
Composante
ENSEIRB-MATMECA
Le but de ce cours est de familiariser les étudiants avec les séminaires de recherche, à la fois en tant que spectateur et en temps que présentateur. Les élèves y seront encouragés à assister au séminaires des équipes de recherche du LaBRI et à discuter de leur expérience. Ils devront également préparer deux présentation, une première sur un problème ouvert, puis une seconde sur un article de recherche, qu’il retravailleront en fonction des retours. Ils devront également écouter leurs camarades faire leurs présentation et leur faire des critiques constructives, et poser des questions.
Initiation à la recherche
Composante
ENSEIRB-MATMECA
Objectifs : Lire un article scientifique.
Identifier les ressources connexes à la problématique scientifique ciblée par l'article (réaliser une étude bibliographique).
Rédiger un résumé des contributions apportées par l'article.
Présenter une synthèse de l'article.
UE I9AMF-A2 - Vérification logicielle
ECTS
25 crédits
Composante
ENSEIRB-MATMECA
Majeure en vérification logicielle, mineure en algorithmique avancée.
Personnalisation 1 (au choix)
Composante
ENSEIRB-MATMECA
Théorie des graphes avancée
Composante
ENSEIRB-MATMECA
La théorie des graphes est un modèle très général qui permet de représenter des problèmatiques très variées, que ce soit dans les réseaux (de toute nature) mais aussi pour des structures hierarchisées comme les bases de données. La culture générale des problématiques de graphe que nous proposons dans ce cours ainsi que la connaissance des outils efficaces pour ces problématiques sont des atouts pour reconnaître et traiter les problèmes qu'elles modélisent.
Cet enseignement présente des notions avancées de théorie des graphes et familiarise l’étudiant avec certaines techniques de preuve classiques, liées notamment à la coloration de graphes. Quelques problèmes et conjectures classiques sont abordés.
Algorithmique distribuée
Composante
ENSEIRB-MATMECA
Objectifs : introduire l’algorithmique distribuée; présenter les différents modèles et contraintes du calcul distribué ; présenter et analyser quelques algorithmiques classiques du domaine ; concevoir des algorithmes s'exécutant sur des systèmes distribués
Systèmes de types et programmation
Composante
ENSEIRB-MATMECA
Comprendre et mettre en oeuvre l'intérêt et les principes de la démarche de recherche fondamentale et/ou appliquée
Savoir se remettre en question, faire preuve d'esprit critique
Construire et développer une argumentation.
Connaître et mettre en application les principaux modèles mathématiques intervenant dans les différentes disciplines connexes du domaine Sciences et Technologies mais aussi des autres domaines
Maîtriser les bases de la logique et organiser un raisonnement mathématique.
être capable de traduire un problème simple en langage mathématique.
Connaître les principaux paradigmes de programmation et sélectionner un langage adapté à une situation donnée
Identifier les limites de l'informatique en termes de calculabilité et de complexité
Modéliser une situation concrète en un énoncé formel au moyen d'outils (e.g., automates, langages, grammaires, graphes)
Comprendre une preuve de correction d'algorithme (e.g., variants/invariants, induction, convergence)
Types, spécifications et preuves
Composante
ENSEIRB-MATMECA
Comprendre et mettre en oeuvre l'intérêt et les principes de la démarche de recherche fondamentale et/ou appliquée
Savoir se remettre en question, faire preuve d'esprit critique
Construire et développer une argumentation.
Connaître et mettre en application les principaux modèles mathématiques intervenant dans les différentes disciplines connexes du domaine Sciences et Technologies mais aussi des autres domaines
Maîtriser les bases de la logique et organiser un raisonnement mathématique.
Construire et rédiger une démonstration mathématique synthétique et rigoureuse.
être capable de traduire un problème simple en langage mathématique.
Connaître les principaux paradigmes de programmation et sélectionner un langage adapté à une situation donnée
Modéliser une situation concrète en un énoncé formel au moyen d'outils (e.g., automates, langages, grammaires, graphes)
Comprendre une preuve de correction d'algorithme (e.g., variants/invariants, induction, convergence)
Ecrire une preuve de correction d'algorithme
Personnalisation 2 (au choix)
Composante
ENSEIRB-MATMECA
Logique et langages
Composante
ENSEIRB-MATMECA
Ce cours introduit la logique des modèles finis, tels que les mots, les arbres et les graphes fini, ainsi que des logiques temporelles utilisées en vérification. Nous présenterons également les logiques de description qui servent à représenter de manière formelle des connaissances d’un domaine particulier (e.g. médecine) pour améliorer l’interrogation et le partage d'informations. On s’intéressera au pouvoir d’expression des logiques considérées, ainsi que des problèmes algorithmiques variés (validation de formule sur un modèle, satisfiabilité de formule, inférence logique, etc).
Nous aborderons également l’apprentissage d'automates et de formules LTL à partir d’exemples dans des contextes passifs et actifs. Nous discuterons des algorithmes associés à ces problèmes (bornes supérieures) ainsi que des questions de complexité (bornes inférieures). Si le temps le permet, nous mettrons également en lumière un lien étroit entre la théorie des automates et la complexité des circuits algébriques, et montrerons comment les résultats de l'une peuvent être appliqués à l'autre.
Algorithmique appliquée
Composante
ENSEIRB-MATMECA
L'objectif de cet enseignement est de balayer quelques techniques/approches algorithmiques pour résoudre des problèmes de toutes sortes. Analyser ces techniques pour comprendre pourquoi elles marchent, identifier leurs points forts et leurs faiblesses. Car en algorithmique tout est question de compromis: tel algorithme sera efficace pour telles données ou structures de données. Programmer ces approches et les tester sur un problème en grandeur réelle. Le projet représente 75% de la note finale, 25% pour le test écrit.
Jeux, synthèse et contrôle
Composante
ENSEIRB-MATMECA
Partie 1:
Introduction à la théorie des jeux pour la vérification et la synthèse. La synthèse de systèmes ouverts ou de contrôleurs part du principe d'un système réactif, qui doit intéragir avec son environnement. Les deux entités - système et environnement - sont vues en tant que 2 joueurs antagonistes. On abordera différents types de jeux : jeux à deux joueurs sur des arènes finies, jeux pour la synthèse de contrôleurs, et jeux distribués.
Partie 2:
Bases théoriques de l'apprentissage par renforcement, un framework de l'intelligence artificielle permettant à des agents d'acquérir des connaissances et de prendre des décisions en interagissant avec leur environnement. Nous explorerons en détail les concepts fondamentaux tels que le problème des bandits manchots, les processus de décision markoviens, les compromis entre exploration et exploitation, le Q-learning, etc. ainsi que des techniques avancées telles que l'approximation de fonction et le Deep Q-learning. À la fin de ce cours, vous aurez entre autres acquis les compétences nécessaires pour comprendre AlphaGo, première IA à surpasser l'humain au jeu de go.
Vérification de logiciels
Composante
ENSEIRB-MATMECA
Ce cours a pour but principal d’introduire des techniques classiques de vérification et de les implémenter dans un vérificateur de programmes (simples). L’outil réalisé au cours du semestre est capable de détecter des violation d’assertions sur des programmes dans un sous-langage du C (uniquement des entiers et pas de pointeurs) sans que l’utilisateur ait à fournir d’autres information que le programme.
Partie 1:
Cadre général du vérificateur (notamment le langage vérifié et sa sémantique), visant à familiariser avec le langage utilisé (Ocaml) et le SMT-solveur utilisé (Z3), et présentation de la technique du Bounded Model Checking à travers deux algorithmes pour le réaliser.
Partie 2:
Introduction à l'interprétation abstraite, qui consiste à regarder des abstractions de l’ensemble des exécutions d’un programme dans un domaine mathématique bien ordonné plus simple. Durant cette partie, plusieurs domaines abstraits simples sont implémentés.
Partie 3:
Présentation de la technique du raffinement d’abstraction guidé par contre-exemple (CEGAR) et quelques bases sur les réseaux de Petri.
Séminaire
Composante
ENSEIRB-MATMECA
Le but de ce cours est de familiariser les étudiants avec les séminaires de recherche, à la fois en tant que spectateur et en temps que présentateur. Les élèves y seront encouragés à assister au séminaires des équipes de recherche du LaBRI et à discuter de leur expérience. Ils devront également préparer deux présentation, une première sur un problème ouvert, puis une seconde sur un article de recherche, qu’il retravailleront en fonction des retours. Ils devront également écouter leurs camarades faire leurs présentation et leur faire des critiques constructives, et poser des questions.
Initiation à la recherche
Composante
ENSEIRB-MATMECA
Objectifs : Lire un article scientifique.
Identifier les ressources connexes à la problématique scientifique ciblée par l'article (réaliser une étude bibliographique).
Rédiger un résumé des contributions apportées par l'article.
Présenter une synthèse de l'article.
UE I9AMF-B - Conception formelle des logiciels
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Conception formelle
Composante
ENSEIRB-MATMECA
Ce cours a pour but d'apprendre à utiliser la modélisation formelle comme outil de détection de bugs et de preuve de systèmes ou programmes informatiques.
Spécification et preuve formelle de programmes
Composante
ENSEIRB-MATMECA
Maîtriser les concepts fondamentaux de la spécification et de la preuve formelle de programme.
Acquérir des compétences pratiques dans ce domaine.
Semestre 9 - Calcul Intensif et les Sciences des Données
ECTS
30 crédits
Composante
ENSEIRB-MATMECA
Architectures, langages et modèles de programmation
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Langages du parallélisme
Composante
ENSEIRB-MATMECA
Ce cours présente les différents langages de parallélisme utilisés aujourd'hui pour paralléliser les applications de simulation.
Le cours sera découpé en trois parties. Les deux premières parties présenteront le modèle Message Passing Interface et OpenMP. La troisième partie étudiera la programmation hybride MPI+X.
Multicoeurs et accélérateurs de calcul
Composante
ENSEIRB-MATMECA
Le cours est décomposé en 2 parties. L'une sur le fonctionnement des multicoeurs généralistes, l'autre sur le fonctionnement des accélérateurs graphiques.
L'objectif de ce cours sera d'une part de présenter ces architectures, et d'autre part d'apprendre à les programmer efficacement à l'aide :
- de flags de compilation
- d'extensions du compilateur (SIMD, fonction intrinsèques),
- d'annotations de code (OpenACC),
- de langages specifiques (CUDA),
- de bibliothèques optimisées (CUBLAS),
- d'outils d'analyse de performances,
- de support d'exécution à base de tâches (StarPU) pour articuler les multicoeurs généralistes et les accélérateurs graphiques.
La description du fonctionnement de ces architectures sera mise en oeuvre par le biais de microbenchmarks, pour bien comprendre le lien entre le code écrit, le code généré par les compilateurs et leurs performances.
Des TPs seront consacrés à l'écriture, au debug, et à l'optimisation de code accéléré sur GPU et sur multicoeurs, ainsi qu'a l'analyse des performances.
Outils et environnements pour le HPC
Composante
ENSEIRB-MATMECA
Apprentissage des outils du HPC, utilisation des clusters de calculs, job schedulers (slurm)
Outils d'analyse des programmes HPC (Intel Vtune, Nvidia nvprof, ...)
Algorithmique du calcul hautes performances, de la classification et de l'apprentissage
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Algorithmique du parallélisme, ordonnancement, structures de données, équilibrage de charges
Composante
ENSEIRB-MATMECA
La démocratisation des machines parallèles a rendu critique la bonne gestion des moyens de calculs. Processeurs, mémoire, bande passante, énergie... Le but de ce cours est de discuter les moyens algorithmiques d'attribution des ressources pour les différentes applications s'exécutant sur ces plateformes.
Parmi les sujets discutés, nous présenterons la manière d'analyser et résoudre algorithmiquement ce type de problèmes. Nous parlerons d'ordonnancement de ressources avec et sans contraintes. Nous parlerons d'hétérogénéité et de hiérarchie mémoire et d'équilibrage de charges.
Analyse de données.
Composante
ENSEIRB-MATMECA
Dans ce cours nous aborderons différentes techniques d'apprentissage statistique. Plus précisément nous nous intéresserons à l'apprentissage non supervisé avec les méthodes d'analyse en composantes principales et de partitionnement et à l'apprentissage supervisé avec les méthodes de régression et de classification. Ces méthodes seront mises en oeuvre lors de 2 séances de TP avec le langage de programmation R. Ensuite, des mini projets vous seront proposés.
Algorithmique numérique
Composante
ENSEIRB-MATMECA
L'objectif du cours est de parcourir les méthodes de résolution de problèmes d'algèbre linéaire dense dans un contexte de calcul haute performance. On s'intéressera particulièrement à la (re)formulation de ces algorithmes dans un contexte parallèle permettant une mise en relation avec les cours d'ordonnancement et d'équilibrage de charges, mais également dans le contexte de modèles de programmation avancés.
Systèmes linéaires
Factorisations triangulaires (Cholesky, LU, ...)
Résolution de systèmes triangulaires
Utilisation de bases orthogonales (QR)
Décomposition en valeurs singulières/propres
Introduction aux tenseurs
Environnement d'exécution, d'extraction et de visualisation
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Introduction à la visualisation scientifique
Composante
ENSEIRB-MATMECA
La visualisation scientifique située à l'interface entre l'informatique scientifique et les mathématiques appliquées est désormais un outil de communication, de compréhension et d'analyse de résultats rendu incontournable pour l'analyse de grands volume de données.
L'objectif de ce cours est de présenter les enjeux, les principes et des solutions logicielles de visualisation scientifique. Différentes notions seront abordées comme les formats des données, les pipelines de visualisation, les algorithmes d'extraction d'information ou encore l’analyse topologique.
Les TD s'intéressent à la compréhension et à l'utilisation de bibliothèques de visualisation ainsi qu’au développement d'un outil permettant de créer ses propres logiciels de visualisation 3D. Des données issues de simulations numériques 3D seront utilisées dans les TD telles que la modélisation de l'impact d'un asteroid dans l'océan ou encore la génération de turbulence dans un fluide en mouvement. Les technologies utilisées seront notamment Python, VTK, Paraview.
Supports pour le traitement de données
Composante
ENSEIRB-MATMECA
L'objectif de ce cours est d'apprendre aux étudiants les concepts de base nécessaires pour traiter des larges quantités de données de façon distribuée.
Pour cela, les points suivants seront discutés :
1. Introduction au big data
2. Le framework Hadoop et le système de fichiers distribué HDFS
3. Le paradigme MapReduce
4. La création d'applications avec Spark
5. Introduction aux bases de données NoSQL
Parcours personnalisé (au choix)
Composante
ENSEIRB-MATMECA
Apprentissage profond efficace
Composante
ENSEIRB-MATMECA
Ce cours aborde les défis posés par les réseaux neuronaux modernes, qui nécessitent une mémoire et une puissance de calcul importantes, rendant difficile leur déploiement sur des dispositifs mobiles et périphériques. De plus, l'échelle et la complexité croissantes des réseaux neuronaux rendent l'entraînement très exigeant en ressources, créant souvent des goulets d'étranglement qui ralentissent les progrès des applications d'IA. Le cours est divisé en deux parties principales : l'amélioration de l'efficacité de l'inférence et l'optimisation du processus d'entraînement.
Dans la première partie, les étudiants se concentreront sur l'amélioration de l'efficacité de l'inférence en évaluant l'efficacité des réseaux neuronaux et en appliquant diverses techniques de compression, telles que le pruning, la factorisation tensorielle et la quantization, afin de créer des modèles plus petits et plus rapides sans perte de précision. La deuxième partie du cours est consacrée à l'optimisation du processus d'entraînement, en abordant les défis liés à la mise à l'échelle et à la complexité de l'entraînement des modèles d'IA modernes. Les étudiants exploreront des techniques telles que les méthodes d'économie de mémoire, y compris la re-materialization (activation checkpointing) et le offloading, ainsi que différents types de parallélisme—data, tensor, model, et pipeline parallelism—qui sont essentiels pour un entraînement efficace.
Le profilage des réseaux neuronaux pour identifier les goulets d'étranglement est souligné tout au long du cours, aidant les étudiants à comprendre et à résoudre les problèmes de performance tant pour l'inférence que pour l'entraînement. À la fin du cours, les étudiants auront acquis les compétences nécessaires pour optimiser la performance des réseaux neuronaux et réussir le déploiement et l'entraînement de modèles d'IA avancés dans des scénarios réels.
Programmation 3D
Composante
ENSEIRB-MATMECA
Le but de cette UE est de s'initier à l'informatique graphique à travers du cours intégrés et des travaux pratiques. L'initiation porte sur le rendu dit offline avec l'implémentation d'un mini logiciel de lancer de rayon (ray-tracing) ainsi que sur le rendu temps réel à l'aide de GPU via l'API OpenGL.
Modules applicatifs
ECTS
7 crédits
Composante
ENSEIRB-MATMECA
Traitement des données in-situ
Composante
ENSEIRB-MATMECA
L'objectif principal de cette formation est de comprendre le fonctionnement des modèles de visualisation in-situ et de prendre en main un ensemble d'outils permettant leur mise en œuvre. Le cours prend la forme d'une série de TP, clôturé par un mini-projet (application des apprentissages du TP). Nous utiliserons en particulier le logiciel Paraview et la bibliothèque Catalyst. Le mini-projet consistera en la mise en œuvre d'une instrumentation in situ sur un système gravitationnel corpusculaire (un système stellaire en l’occurrence). Si le temps le permet, nous essaierons également d'instrumenter un code de simulation de tokamak (évolution du plasma au sein d'un réacteur à fusion nucléaire).
Fouille, extraction et visualisation
Composante
ENSEIRB-MATMECA
Le but de ce cours est double et s'articulera autour de deux projets.
Le premier projet a pour but de présenter et de mettre en oeuvre quelques techniques d'extraction d'information issues de données textuelles.
Nous verrons dans un premier temps comment des algorithmes éprouvés tels que le modèle Bag-of-Word et le TF-IDF permettent d'extraire des données pertinentes de documents.
Nous aborderons ensuite les méthodes d'embedding vectoriels, en étudiant le modèle Word2Vec, qui permet d'extraire des données contextuelles.
Enfin nous verrons comment exploiter ces informations pour identifier des textes sémantiquement proches ou encore les catégoriser au moyen d'algorithmes de clustering.
Le second projet s'intérressera à un problème similaire, mais dans le cadre de données visuels.
Les cours seront accompagnés de TDs/TPs permettant la mise en oeuvre effective des algorithmes présentés ci-dessus.
Deux projets, l'un sur les données textuelles et l'autre sur les données visuelles, adossés à des données réelles, permettront aux élèves de mettre en application les algorithmes vu en cours, tout en mettant en oeuvre leurs compétences en calcul distribué pour traiter la volumétrie du jeu de données en un temps raisonnable.
Projet Application HPC
Composante
ENSEIRB-MATMECA
L'objectif consiste à étudier les différents niveaux de parallélisation d'une application HPC: vectorisation, multi-thread, mémoire distribuée au sein d'une seule et même application. L'application choisie consiste en l'implémentation de noyaux d'algèbre linéaire eux-même fréquemement au coeur des application de simulation et d'apprentissage à grande échelle.
UE Langues et culture de l'ingénieur
ECTS
7 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maitriser l'anglais et connaître d'autres cultures (C10, N1 à N4)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Savoir communiquer avec des personnes de langues et cultures différentes (C10, N2 à N4)
Savoir s'adapter dans différents contextes, dans l'entreprise, à l'international (C10, C12, N1 à N3)
Savoir communiquer avec de spécialistes et non-spécialistes (C12, N1 à N3)
Apprendre à mieux se connaître, à s'autoévaluer, à gérer ses compétences (C13, N2 - N3)
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Projet Professionnel
- Business Challenge.
Partie 1 : PROJET PROFESSIONNEL (4 heures)
Identification des sources de motivation et des forces/faiblesses/opportunités/menaces rencontrées pendant le stage de 1ere année et 2ème année se préparer à l'embauche Construire son pitch et se préparer à la soutenance du projet professionnel.
MODULE 1 :Debriefing du stage 2A,
MODULE 2 : Préparation du pitch en vue de la soutenance de projet professionnel
Partie 2 : BUSINESS CHALENGE (24 heures)
A travers une simulation l'étudiant doit :- Apprendre à développer une stratégie- comprendre les mécanismes de fonctionnement de l'entreprise ( coûts, comptabilité, finances, marketing, production...)- Analyser les résultats- Se sensibiliser au DDRSMieux comprendre les intéractions entre les différentes dimensions d'une entreprise est un des principaux objectifs de Global Challenge. Les participants devront traiter de multiples disciplines liées à la gestion en les intégrant dans une stratégie globale. De plus, les participants devront apprendre à travailler en équipe, afin de mieux analyser les implications opérationnelles et financières de leurs décision.Chaque équipe, regroupée en unité autonome de gestion, doit gérer un ensemble de produits sur un marché virtuel.
Semestre 9 - Génie logiciel
ECTS
30 crédits
Composante
ENSEIRB-MATMECA
UE I9GL-A - Méthodologie
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Test du logiciel
Composante
ENSEIRB-MATMECA
Le test logiciel contribue à assurer la qualité des produits logiciels de l'entreprise : il s'inscrit dans un processus plus global d'Assurance Qualité au sein des entreprises.
L'activité de test se structure dans un niveau stratégique (Organisation des tests dans un objectif de répondre aux exigences de la politique qualité) mais également dans un niveau tactique (Implémentation opérationnelle de la stratégie : règles, prérequis et les standards qui doivent être satisfaits pour répondre aux objectifs de la stratégie)
Elle décline de ce fait toutes les activités de test dans un processus de test structurée (niveaux de test, Phases et étapes de test) en s'appuyant sur des outils et méthodes de test adaptives (fondamentaux : Typologies, Techniques de test standards)
L'objectif de cet enseignement est de comprendre comment piloter et organiser les tests dans une logique de couverture des exigences et de maitrise des risques produits.
Conduite de projet
Composante
ENSEIRB-MATMECA
Objectif :
L'objectif du cours est d'apprendre et de mettre en œuvre des techniques de conduite de projet appliqués à un projet informatique
Dans le cadre du cours les notions suivantes sont abordées :
- Définition d'un projet, place des projets dans les entreprises, différentes phases d'un projet (initialisation, exécution, clôture)
- Gestion et planification des tâches, suivi, contrôle, gestion des risques et des changements
- Suivi budgétaire et financier
- Test, validation et contrôle qualité et livraisons
- Communication et management d'équipe
- Méthodes agiles : rappels et introduction à l'agilité à l'échelle
Le cours a pour objectif de fournir un ensemble d'outils permettant de comprendre, d'appréhender et/ou de gérer un projet dans une organisation donnée. Des mises en situations et des exercices pratiques sont réalisés, illustrés d'exemples de cas réels issues de la vie des projets et des entreprises.
Plan
1. Les entreprises et les projets
Fonctionnement des organisations : rôles, entités, interactions
Le logiciel en tant que clé de transformation des entreprises
Qu'est-ce qu'un projet ?
Le rôle d'un chef de projet et sa place dans l'organisation
Types et exemples de projets
Projets vs autres activités dans les organisations
2. L'introduction au pilotage de projet
Comprendre le besoin - le pourquoi du projet
L'identification des parties prenantes : client, fournisseur, sous-traitant et autres acteurs
Les différentes phases d'un projet
Equipe projet : constitution, animation, motivation, coordination
L'importance de la communication (relation client, coordination des acteurs, reporting au sein de l'entreprise)
3. Initialisation d'un projet
Démarrage du projet : cadrage du besoin, cahier des charges, définition du périmètre Méthode Agile, Cycle en V, Méthodes itératives : comment choisir ?
Constitution de l'équipe projet
Rôles et responsabilités (RACI)
Documentation projet
Définition des jalons du projet
Identification et évaluation des tâches
Evaluation de la charge (chiffrage) et planification budgétaire
Réalisation d'un plan d'exécution / plan de production
Identification et gestion des risques
4. Exécution d'un projet
Suivi et contrôle qualité
Suivi et reporting financier
Gestion des incidents et des problèmes
Gestion des changements
Tests et livraison des produits
5. Communication et Management
Réunion d'équipe (suivi d'avancement, suivi d'incident, gestion de crise)
Entretien de motivation et recadrage
Relation client-fournisseur : communication écrite et orale
Préparation et animation d'une réunion et rédaction d'un compte-rendu
Négociation : un exercice difficile
Incident, crise et escalade
6. Approches agiles
Les méthodes Agiles (Scrum, Kanban, XP, Lean)
DevOps - Technique ou Culture ?
Pilotage par la valeur, projet vs. flux et "centricité client"
L'agilité à l'échelle (prérequis, conditions)
Introduction à SAFe
SAFe : Trains agiles, techniques et outils (suivi, contrôle qualité, estimation de charge, organisation des équipes)
SAFe : L'agilité à tous les niveaux de l'organisation
Urbanisation et Architecture des Systèmes d'Information
Composante
ENSEIRB-MATMECA
I. Introduction à l'urbanisation : l'urbanisme du SIII. Rôle de l'urbanisme des SIIII. Les outils méthodologiquesIV. Les outils techniquesV. Conclusion : La mise en œuvre
Intervenant: Olivier FOUQUET
UE I9GL-B - Conception et Validation de logiciels
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Spécification et preuve formelle de programmes
Composante
ENSEIRB-MATMECA
Maîtriser les concepts fondamentaux de la spécification et de la preuve formelle de programme.
Acquérir des compétences pratiques dans ce domaine.
Conception orientée objet
Composante
ENSEIRB-MATMECA
Intervenants: Georges Eyrolles, Philippe Narbel
Ce cours présentera les principes généraux de conception des architectures logicielles, et tout particulièrement ceux qui s'appliquent aux architectures orientées-objet. Les cinq principes dits SOLID (responsabilité unique, ouvert/fermé, substitutivité de Liskov, ségrégation des interfaces, inversion des dépendances) y seront définis et développés en détail, que ce soit dans leur mise en oeuvre, leur conséquences, leurs qualités et leurs défauts. Ces principes seront par ailleurs illustrés et mis en relation avec despatrons de conception classiques (Design Patterns), comme par exemplel'Adaptateur, le Composite, le Décorateur, le Médiateur, la Stratégie, le Visiteur. Ces derniers seront donc également introduits et définis.
Même si les notions et les concepts y seront présentés avec toute la rigueur qu'ils méritent, ce cours fera la part belle aux expériences, aux exercices pratiques, et aux études de cas.
BIBLIOGRAPHIE : - Agile Software Development. Robert Martin. Prentice Hall. 2003. - Working Effectively with Legacy Code. Feathers, Prentice Hall. 2005. - Design Patterns. Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides. Addison-Wesley. 1995. (livre appelé aussi "GoF" pour "Gang of Four") - Pattern Hatching: Design Patterns Applied. John Vlissides. Addison-Wesley. 1998. - Object-oriented Software Construction. Bertrand Meyer. Prentice-Hall. 1988, 1997. - Object-Oriented Modeling and Design with UML. Blaha and Rumbaugh. Prentice Hall. 1991, 2005. - Large-Scale C++ Software Design. John Lakos. Addison-Wesley. 1996. - Design Patterns for Object-Oriented Software Development. W. Pree. Addison-Wesley. 1995. - Structured Analysis and System Specification. DeMarco. Prentice Hall. 1979. - Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Yourdon and Constantine. 1979. - The Practical Guide to Structured Systems Design. Page-Jones. Prentice Hall. 1988
PLAN :
- Architectures logicielles, composants, dépendances. - Substitutivité. - Couplage et cohésion. - Responsabilités, séparation des rôles. - Ségrégation. - Concept de l'ouvert/fermé.
UE I9GL-C - Ingénierie des données
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
DevOps pour les données
Niveau d'étude
Bac + 5 - Master, DEA, DESS, diplôme d'ingénieur
Composante
ENSEIRB-MATMECA
Ce cours vise à familiariser les étudiants avec avec les outils et les pratiques liés à l'utilisation de DevOps dans le contexte de la gestion et de l'analyse des données. Les étudiants apprendront à appliquer les principes de DevOps pour créer des pipelines efficaces de collecte, de traitement, et d'analyse des données à grande échelle.
- Concepts et principes fondamentaux de DevOps
- Conteneurs, Docker
- Fondamentaux NoSQL - TP Redis utilisant Docker
- Indexation, Clustering - TP MongoDB utilisant Docker
- Cloud - TP BigQuery
- Kubernetes
- Batch processing - TP Airflow utilisant Kubernetes
- Streaming processing - TP Kafka utilisant Kubernetes
Gestion et analyse de masse de données - Big Data
Composante
ENSEIRB-MATMECA
1- Introduction à la problématique BigData
-Notion d'ordre de grandeur
-Enjeux scientifiques/sociétaux/économiques.
-Problèmes
2- Notion de base sur le fonctionnement d'un système distribué à grande échelle.
-Introduction à l'éco-système hadoop
-Notion élémentaire administration hadoop
3 Introduction sur les systèmes de fichiers distribués.
-HDFS : principe fonctionnement.
-Utilisation du client HDFS
-Introduction au framework JAVA de programmation pour la manipulation de HDFS
4 Introduction au paradigme de programmation Map/Reduce
-Principes élementaires
-Mise en place avec Hadoop/HDFS
-Introduction au framework Java de programmation MapReduce Hadoop2.
5 Introduction au design pattern Map/Reduce
-Filtration
-Summarization
-Organization
-Jointure
6 Introduction au BigTable (nosql)
-Démistification des BigTable
-Introduction au Big Table de Hadoop HBASE
-Présentation du framework de programmation Java pour HBASE
UE I9GL-D - Architecture distribuée et mobile
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Applications concurrentes et distribuées
Composante
ENSEIRB-MATMECA
L'objectif de ce cours est de comprendre la pertinence des applications concurrentes et distribuées.
A travers la mise en œuvre de deux programmes construit itérativement durant le semestre, le cours introduit les bases et les concepts utilisés dans les applications modernes. Des technologies couramment employées en entreprise comme Java, Spring, Kafka et Maven sont utilisés afin de familiariser l'étudiant à leur usage et faciliter une future montée en compétence sur des technologies similaires
Programmation concurrente
Processus vs Thread
Programmation multi-thread
Les difficultés du multi-thread
Comment concevoir des applications multi thread
HTTP et socket
Création d'un serveur web multi-thread
Programmation distribuée
Préambule : IOC et injection de dépendance
Serveur REST
Client REST
Architecture 3-tiers
Architecture distribuée
Introduction à un bus de message
Producer et consumer
Notion de haute disponibilité
Sérialisation / Désérialisation
Service asynchrone
Développement d'applications mobiles
Composante
ENSEIRB-MATMECA
1/ Introduction au monde mobile, premier pas avec Android Bref historique avec une mise en perspective de ce qu'était le monde mobile avant les smartphones Détail de comment fonctionne Android, comment les applications sont gérées par le système TP : Première application type "Hello world!" 2/ Construction des interfaces, premier design pattern Comment Android gère l'affichage d'un écran Explication du design pattern MVP (Model View Presenter) utilisé par Android Aperçu de la gestion des multiples résolutions TP : Réalisation d'interface pour une application simple sur téléphone et tablette 3/ Navigation et transmission d'informations Comment Android gère le passage d'un écran à l'autre Méthode pour passer les informations d'un écran à l'autre Stockage et restitution des informations TP : application constitué de plusieurs écran, dont certains ont un état persistant même une fois l'application arrêtée 3/ Appel à des webservices Présentation des appels aux webservices Sensibilisation sur les contraintes techniques liés à leur consommation TP : application appelant plusieurs webservices 4/ Mise en place d'une architecture en couche Réflexion autour d'une application appelant plusieurs webservices Présentation d'une architecture en couche dans une application Android TP : Mise en pratique d'une architecture en couche 5/ Utilisation des fonctionnalités Android Gestion des permissions Accès aux services d'Android TP : Utilisation de plusieurs services combinés (Téléphone, GPS, Multimédia, Web...)
UE I9GL-E - Personnalisation
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Module libre d'informatique
Composante
ENSEIRB-MATMECA
Ce module sera en fait un module pris dans une autre option,
choisi individuellement par l'élève d'une liste de modules sans prérequis.
Méthodologie et outils logiciels
Composante
ENSEIRB-MATMECA
Ce cours a pour but, à l'aide d'un projet transversal, d'acquérir des compétences sur les méthodes et les technologies les plus récentes pour aider au développement d'applications. Par équipe de 5 étudiants, les étudiants réalisent un projet et mettent en oeuvre les connaissances vues dans plusieurs cours de l'option.
UE Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maitriser l'anglais et connaître d'autres cultures (C10, N1 à N4)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Savoir communiquer avec des personnes de langues et cultures différentes (C10, N2 à N4)
Savoir s'adapter dans différents contextes, dans l'entreprise, à l'international (C10, C12, N1 à N3)
Savoir communiquer avec de spécialistes et non-spécialistes (C12, N1 à N3)
Apprendre à mieux se connaître, à s'autoévaluer, à gérer ses compétences (C13, N2 - N3)
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Projet Professionnel
- Business Challenge.
Partie 1 : PROJET PROFESSIONNEL (4 heures)
Identification des sources de motivation et des forces/faiblesses/opportunités/menaces rencontrées pendant le stage de 1ere année et 2ème année se préparer à l'embauche Construire son pitch et se préparer à la soutenance du projet professionnel.
MODULE 1 :Debriefing du stage 2A,
MODULE 2 : Préparation du pitch en vue de la soutenance de projet professionnel
Partie 2 : BUSINESS CHALENGE (24 heures)
A travers une simulation l'étudiant doit :- Apprendre à développer une stratégie- comprendre les mécanismes de fonctionnement de l'entreprise ( coûts, comptabilité, finances, marketing, production...)- Analyser les résultats- Se sensibiliser au DDRSMieux comprendre les intéractions entre les différentes dimensions d'une entreprise est un des principaux objectifs de Global Challenge. Les participants devront traiter de multiples disciplines liées à la gestion en les intégrant dans une stratégie globale. De plus, les participants devront apprendre à travailler en équipe, afin de mieux analyser les implications opérationnelles et financières de leurs décision.Chaque équipe, regroupée en unité autonome de gestion, doit gérer un ensemble de produits sur un marché virtuel.
Semestre 9 - Intelligence Artificielle
ECTS
30 crédits
Composante
ENSEIRB-MATMECA
UE I9IA-A - Connaissance et Raisonnement
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Algorithmes de Recherche
Composante
ENSEIRB-MATMECA
Ce module permet de d'approfondir les liens entre Intelligence Artificielle et complexité algorithmique liée aux problèmes de décision et de recherche de solution. Y sont introduits les concepts d'heuristiques pour les jeux, pour la recherche dans les graphes d'états ainsi que les approches d'optimisations à l'aide de méta-heuristiques. SAT, la programmation par contraintes et answer set programming permettent de découvrir les approches déclaratives et à base de modélisation.Les cours sont mis en pratique à l'aide de TP en python.Plan du cours :Algorithmique des jeux avancée (3h / 6h)Rappels Heuristiques, Alpha-Béta, Iterative DeepeningAlgos sur des fenêtres nullesMonte Carlo Tree SearchPrincipes du Deep Reinforcement Learning pour les arbres de jeuxRecherches dans les graphes d'état (2h / 3h)Heuristique, A*Recherche localeRecherches méta-heuristiques (1h / 3h)Optimisation par colonies de fourmisAlgorithmes GénétiquesSAT et Programmation par Contraintes (3h / 3h)Answer Sets Programming (4h / 6h)Livre de référence : Intelligence Artificielle, une approche moderne (Stuart et Russell)
Représentation des Connaissances
Composante
ENSEIRB-MATMECA
Ce module permet d'appréhender les problématiques de représentations des connaissances en mettant en évidence le lien entre le pouvoir d'expression du langage représentant la connaissance avec l'efficacité pratique de sa manipulation. Le plan du cours est le suivant :Systèmes d'aides à la décision (2h / 3h)Systèmes à base de règlesBases de connaissances et raisonnementCompilation de bases de connaissances (requêtes / manipulation / transformation) (2h / 3h)Logique Propositionnelle / Impliquants / Impliqués Premiers / ROBDDApplications aux diagnostics de systèmes / configuration / inférence BayésienneNotions de causalités (2h / 2h)Ontologies (8h / 6h)Langages d'ontologies: logiques de description, standards du Web Sémantique (OWL, RDF, SPARQL)Raisonner sur les ontologies: principales techniques algorithmiques (tableaux, saturation, réécriture de requêtes), complexité du raisonnementConstruction d'ontologies: méthodologie, utilisation de l'éditeur d'ontologies ProtégéLes cours sont mis en pratique à l'aide de TP en python, ainsi que Protégé pour la partie Ontologies.
Intelligence Artificielle pour les Jeux Vidéos
Composante
ENSEIRB-MATMECA
Ce module permet de découvrir les approches IA utilisées dans le domaine du jeu vidéo, ayant des contraintes temps réel très fortes. Le plan est le suivant :
- Introduction à l'IA pour les jeux vidéos (1h)
- Steering Behaviors (1h/3h)
- A* pour le pathfinding (1h/3h)
- Goal Oriented Action Planning / Behavior Trees (2h/2h)
- Automates cellulaires (1h / 2h)
UE I9IA-B - Science des Données et Apprentissage
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Apprentissage automatique
Composante
ENSEIRB-MATMECA
Fondamentaux de l'apprentissage automatique : apprentissage supervisé/non-supervisé, classification/régression, optimisation, surapprentissage, généralisation, etc.
Régression linéaire et modélisation probabiliste (maximum de vraisemblance, maximum a posteriori)
Classifieurs linéaires : régression logistique, descente de gradient, classifieur bayésien
SVM et méthodes à noyaux
Arbres de décision et combinaison de modèles (bagging, boosting, etc).
Apprentissage non-supervisé (clustering) et réduction de dimension
Traitement de séries temporelles, chaînes de Markov
Introduction au traitement du langage naturel (NLP)
Apprentissage profond
Composante
ENSEIRB-MATMECA
Réseaux de neurones et perceptron multicouches : architectures, fonctions d'activation, algorithme de rétropropagation du gradient, fonctions de perte
Techniques d'apprentissage profond : momentum, batch normalization, dropout, data augmentation, etc.
Réseaux de neurones convolutifs
Réseaux de neurones récurrents
Apprentissage de représentations, modèles génératifs : auto-encodeurs, GANs, etc.
Introduction au traitement du langage naturel (NLP)
Mécanisme d'attention et architectures type Transformers
Apprentissage par renforcement
Composante
ENSEIRB-MATMECA
Ce cours est une introduction à une branche de l'apprentissage automatique ("machine learning") appelée apprentissage par récompense ("reinforcement learning", RL). Dans ce cours nous aborderons les modèles principaux utilisés en RL : les bandits manchots ("multi-armed bandits"), les processus de décision Markoviens ("Markov decision process"), et leurs extensions multi-agents et à observation partielle, à la fois dans le cadre dynamique et dans le cadre d'approximation de fonctions (par réseaux de neurones en particulier). Nous étudierons les algorithmes les plus importants : value iteration, strategy iteration, Q-learning, DQN (Deep Q-learning). Ils seront implémentés en Python.
UE I9IA-C -Applications de l'Intelligence Artificielle
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Vision par ordinateur
Composante
ENSEIRB-MATMECA
Bases de la vision par ordinateur : formation et géométrie de l'image, filtres/contours, caractéristiques visuelles.
Classification, détection d'objets et segmentation sémantique : principes des CNNs, architectures R-CNN/YOLO, U-Net, Mask R-CNN, etc.
Modèles génératifs pour le traitement et l'analyse d'images (VAEs, GANs, etc).
Autres approches de l'état de l'art.
Réalisation d'un projet mettant en œuvre les concepts étudiés.
Apprentissage profond efficace
Composante
ENSEIRB-MATMECA
Ce cours aborde les défis posés par les réseaux neuronaux modernes, qui nécessitent une mémoire et une puissance de calcul importantes, rendant difficile leur déploiement sur des dispositifs mobiles et périphériques. De plus, l'échelle et la complexité croissantes des réseaux neuronaux rendent l'entraînement très exigeant en ressources, créant souvent des goulets d'étranglement qui ralentissent les progrès des applications d'IA. Le cours est divisé en deux parties principales : l'amélioration de l'efficacité de l'inférence et l'optimisation du processus d'entraînement.
Dans la première partie, les étudiants se concentreront sur l'amélioration de l'efficacité de l'inférence en évaluant l'efficacité des réseaux neuronaux et en appliquant diverses techniques de compression, telles que le pruning, la factorisation tensorielle et la quantization, afin de créer des modèles plus petits et plus rapides sans perte de précision. La deuxième partie du cours est consacrée à l'optimisation du processus d'entraînement, en abordant les défis liés à la mise à l'échelle et à la complexité de l'entraînement des modèles d'IA modernes. Les étudiants exploreront des techniques telles que les méthodes d'économie de mémoire, y compris la re-materialization (activation checkpointing) et le offloading, ainsi que différents types de parallélisme—data, tensor, model, et pipeline parallelism—qui sont essentiels pour un entraînement efficace.
Le profilage des réseaux neuronaux pour identifier les goulets d'étranglement est souligné tout au long du cours, aidant les étudiants à comprendre et à résoudre les problèmes de performance tant pour l'inférence que pour l'entraînement. À la fin du cours, les étudiants auront acquis les compétences nécessaires pour optimiser la performance des réseaux neuronaux et réussir le déploiement et l'entraînement de modèles d'IA avancés dans des scénarios réels.
Ingénierie logicielle pour l'IA
Composante
ENSEIRB-MATMECA
Données déséquilibrées
Choix du modèle, choix de la métrique
Travail sur les données
Application à un cas industriel sur données de capteurs
Détection d'objets
Utilisation de modèles pré-entraînés
Transfer learning
Application à un cas industriel sur données de vision par ordinateur
Déploiement
Packaging d'un modèle ML
Usage de FastAPI et Docker
Notions de monitoring d'un modèle
Intelligence artificielle musicale
Composante
ENSEIRB-MATMECA
* Traitement de représentations numériques musicales symboliques (MIDI, MusicXML) et audio.* Extraction de descripteurs haut niveau et encodages pour l'apprentissage automatique (segmentation en vecteurs, tokenization)* Classification stylistique et détection de structure (régression logistique, HMMs, MLP, RNNs)* Génération de contenu (chaînes de Markov, RNNs)* Autres techniques d'apprentissage automatique dans le domaine du Music Information Retrieval* Réalisation d'un projet mettant en œuvre les concepts étudiés.
Analyse de vidéos
Composante
ENSEIRB-MATMECA
Ce projet s'intéresse à l'aide à la préhension par des outils de vision par ordinateur aux amputés des membres supérieurs équipés de neuroprothèses.
Suivi des objets à saisir dans la vidéo égocentrée: approche par l'apprentissage incrémental temporel
Bases technologiques d'un flux vidéo
Estimation de déplacement
CNN et modèles attentionnels pour la vidéo
Introduction à l'apprentissage continu
Cours enseigné en anglais.
UE I9IA-E - Parcours de Professionnalisation
ECTS
7 crédits
Composante
ENSEIRB-MATMECA
Projet Semestriel
Composante
ENSEIRB-MATMECA
Projet proposé par une entreprise ou un labo de recherche
Durée : tout le semestre
Créneau horaire : vendredi après-midi
Séminaires Professionnels
Composante
ENSEIRB-MATMECA
Workshop AI4Industry
Conférences et séminaires sur des thématiques IA ou connexes
UE Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maitriser l'anglais et connaître d'autres cultures (C10, N1 à N4)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Savoir communiquer avec des personnes de langues et cultures différentes (C10, N2 à N4)
Savoir s'adapter dans différents contextes, dans l'entreprise, à l'international (C10, C12, N1 à N3)
Savoir communiquer avec de spécialistes et non-spécialistes (C12, N1 à N3)
Apprendre à mieux se connaître, à s'autoévaluer, à gérer ses compétences (C13, N2 - N3)
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Projet Professionnel
- Business Challenge.
Partie 1 : PROJET PROFESSIONNEL (4 heures)
Identification des sources de motivation et des forces/faiblesses/opportunités/menaces rencontrées pendant le stage de 1ere année et 2ème année se préparer à l'embauche Construire son pitch et se préparer à la soutenance du projet professionnel.
MODULE 1 :Debriefing du stage 2A,
MODULE 2 : Préparation du pitch en vue de la soutenance de projet professionnel
Partie 2 : BUSINESS CHALENGE (24 heures)
A travers une simulation l'étudiant doit :- Apprendre à développer une stratégie- comprendre les mécanismes de fonctionnement de l'entreprise ( coûts, comptabilité, finances, marketing, production...)- Analyser les résultats- Se sensibiliser au DDRSMieux comprendre les intéractions entre les différentes dimensions d'une entreprise est un des principaux objectifs de Global Challenge. Les participants devront traiter de multiples disciplines liées à la gestion en les intégrant dans une stratégie globale. De plus, les participants devront apprendre à travailler en équipe, afin de mieux analyser les implications opérationnelles et financières de leurs décision.Chaque équipe, regroupée en unité autonome de gestion, doit gérer un ensemble de produits sur un marché virtuel.
Semestre 9 - Robotique et apprentissage
ECTS
30 crédits
Composante
ENSEIRB-MATMECA
UE I9ROBOT-A - Modélisation et commande de systèmes robotiques
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Contrôle commande
Composante
ENSEIRB-MATMECA
L'objet du cours est de présenter succinctement la commande des robots. Après un bref rappel des outils de modélisation développés (modèles géométriques, cinématiques et dynamiques) et du principe des régulations d'axes de type PID, les principales architecture de commande des systèmes robotisés sont présentés. Deux séances de travaux pratiques illustreront le cours.
Modélisation des robots et analyse des performances
Composante
ENSEIRB-MATMECA
Ce cours a pour objectif de présenter les concepts de base de la robotique, pour permettre aux
étudiants d'aborder la lecture de textes plus avancés. Un étudiant ayant suivi cet enseignement doit
disposer d'une approche rigoureuse et systématique pour décrire un robot manipaleur: modèles
géométrique, cinématique et dynamique, forces et moments. Il doit également avoir une connaissance
du langage et des notions de base de la robotique ( Denavit Hartenberg, degrés de liberté, singularités ,
jacobiennne)
Méthodes numériques pour la robotique
Composante
ENSEIRB-MATMECA
Cet enseignement a pour objet de présenter un ensemble de notions
mathématiques nécessaires à la modélisation et à la commande de systèmes robotiques.
UE I9ROBOT-B - IA et robotique
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Interactions humains robots
Composante
ENSEIRB-MATMECA
Ce cours est une initiation à la problématique de l'interaction, de la perception à l'action en
passant par l'attention, la communication, la robotique sociale et développementale. Le robot humanoïde NAO sera exploité.
IA pour la robotique autonome
Composante
ENSEIRB-MATMECA
En informatique, l'apprentissage automatique a défini un ensemble de techniques statistiques éprouvées que l'on peut dans une certaine mesure rapprocher de formes d'apprentissage dans le vivant. Cependant, leur mise en oeuvre en robotique autonome met en lumière un certain nombre de faiblesses pour assurer l'autonomie de l'agent. Le but de ce cours est de revisiter ces techniques à la lumière de données des neurosciences et des sciences sociales pour présenter des algorithmes permettant des apprentissages en autonomie, par simple interaction avec l'environnement et avec des critères de survie définis a priori. Pour chaque forme d'apprentissage, après un rappel des formes classiques d'apprentissage automatique, des critères d'autonomie sont définis et des données biologiques et comportementales sont introduites, permettant de définir des formes plus plausibles biologiquement et intégrant une vue systémique plus globale du vivant.
Planification
Composante
ENSEIRB-MATMECA
La planification est la prise de décision d'une action au vu de notre objectif et des réponses que nous retourne notre environnement.
Eviter un accident de voitures, trouver son chemin à la boulangerie, rattraper une balle, il existe une multitude de situations où l'Homme planifie ses actions avant d'agir. Ces prises de décisions que l'Homme prend aisément sont plus difficiles à mettre en œuvre pour un robot. Le cours se donne donc comme objectif d'introduire les élèves à ce vaste chapitre.
Outils d'imagerie pour la robotique
Composante
ENSEIRB-MATMECA
Il s'agit d'une introduction aux différentes méthodes existantes pour traiter les images et les vidéos dans le contexte de la robotique.
UE I9ROBOT-C - Systèmes embarqués
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Projet systèmes embarqués
Composante
ENSEIRB-MATMECA
UE I9ROBOT-D - Projet Robotique
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Projet robotique
Composante
ENSEIRB-MATMECA
Le projet robotique a pour objectif de mettre en oeuvre les compétences acquises dans la formation au cours de la conception et de la réalisation d'un robot ou d'un de ses composants.Le sujet du projet est fourni et peut être encadré par l'un des partenaires industrielles ou scientifiques de la formation (http://www.aquitaine-robotics.com/). Sa réalisation concerne 3 à 4 élèves-ingénieurs.
Etat de l'art Projet Robotique
Composante
ENSEIRB-MATMECA
UE I9ROBOT-E - Intégration professionnelle
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Un premier robot en Atelier Robotique
Composante
ENSEIRB-MATMECA
L'objectif consiste à concevoir, réaliser et programmer un petit robot autonome pour qu'il réaliser une mission. Cela permettre à chacun des groupes de 3 élèves-ingénieurs d'appréhender en situation réelle chacune des disciplines de la formation.
Journée dans les pas d'un dirigeant d'entreprise
Composante
ENSEIRB-MATMECA
Disséminations Robot Makers' Day
Composante
ENSEIRB-MATMECA
La communauté robotique Nouvelle-Aquitaine et son cluster Aquitaine Robotics se mobilisent chaque année autour du festival robotique Robot Makers' Day qui rassemble jusqu' à 200 équipes de jeunes compétiteurs robotiques. Cet évènement mêle compétitions, stands et conférences pour promouvoir sciences et industries, leurs métiers, leurs savoir-faire et leurs formations.
Afin de soutenir la communauté Robot Makers' Day et son action auprès des jeunes apprenants, chaque élève-ingénieur est sollicité pour consacrer a minima 16h de son temps dans l'une au moins des trois actions suivantes :
suivre et coacher une équipe de collégiens participant à l'une des compétiitons robotiques de Robot Makers' Day
préparer et accueillir une classe d'un établissement des académies de Nouvelle-Aquitaine lors d'une visite d'un établissement scientifique.
présenter un démonstrateur robotique lors d'un évènement type Robot Makers' Day
Cette action bénéficie du soutien des académies de Nouvelle-Aquitaine, des écoles d'ingénieurs ENSAM, ENSC, ENSEIRB-MATECA et des réseaux Aquitaine Robotics et URISA
Techniques orales de communication scientifique
Composante
ENSEIRB-MATMECA
Workshop IA pour l'industrie
Composante
ENSEIRB-MATMECA
Séminaire R4
Composante
ENSEIRB-MATMECA
Le Réseau Régional de Recherche en Robotique (R4, https://r4-robotique.fr/) est un regroupement d'entités de recherche en Nouvelle-Aquitaine. Dans ce cadre, un séminaire hebdomadaire est organisé le lundi de 13h à 14h, dans lequel des chercheurs en robotique sont invités à présenter leurs travaux (45mn de présentation et 15mn de question).
La présence des étudiants de l'option robotique au séminaire leur permet de découvrir de nombreuses thématiques de recherche, mais aussi les verrous scientifiques actuels, la méthodologie, les outils utilisés et les résultats obtenus.
Workshop ROS pour l'industrie
Composante
ENSEIRB-MATMECA
Culture scientifique
Composante
ENSEIRB-MATMECA
Valoriser, sous la forme d'un grand oral, l'ouverture culturelle et interdisciplinaire acquise au cours de la formation et plus spécifiquement dans le registre des sciences et technologies robotiques et IA, du contexte de l'ingénierie et des rapports entre sciences et société.
Workshop Robots & Agro
Composante
ENSEIRB-MATMECA
UE Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maitriser l'anglais et connaître d'autres cultures (C10, N1 à N4)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Savoir communiquer avec des personnes de langues et cultures différentes (C10, N2 à N4)
Savoir s'adapter dans différents contextes, dans l'entreprise, à l'international (C10, C12, N1 à N3)
Savoir communiquer avec de spécialistes et non-spécialistes (C12, N1 à N3)
Apprendre à mieux se connaître, à s'autoévaluer, à gérer ses compétences (C13, N2 - N3)
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Projet Professionnel
- Business Challenge.
Partie 1 : PROJET PROFESSIONNEL (4 heures)
Identification des sources de motivation et des forces/faiblesses/opportunités/menaces rencontrées pendant le stage de 1ere année et 2ème année se préparer à l'embauche Construire son pitch et se préparer à la soutenance du projet professionnel.
MODULE 1 :Debriefing du stage 2A,
MODULE 2 : Préparation du pitch en vue de la soutenance de projet professionnel
Partie 2 : BUSINESS CHALENGE (24 heures)
A travers une simulation l'étudiant doit :- Apprendre à développer une stratégie- comprendre les mécanismes de fonctionnement de l'entreprise ( coûts, comptabilité, finances, marketing, production...)- Analyser les résultats- Se sensibiliser au DDRSMieux comprendre les intéractions entre les différentes dimensions d'une entreprise est un des principaux objectifs de Global Challenge. Les participants devront traiter de multiples disciplines liées à la gestion en les intégrant dans une stratégie globale. De plus, les participants devront apprendre à travailler en équipe, afin de mieux analyser les implications opérationnelles et financières de leurs décision.Chaque équipe, regroupée en unité autonome de gestion, doit gérer un ensemble de produits sur un marché virtuel.
Semestre 9 - cybeR-sécurité, Systèmes et Réseaux (RSR)
ECTS
30 crédits
Composante
ENSEIRB-MATMECA
UE I9RSR-A - Réseaux de communication
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances et compétences :
N0: Pas de compétence.
N1 : débutant (SENSIBILISATION) : comprendre les principaux enjeux et problèmes liés à la compétence.
N2 : intermédiaire (APPLICATION) : réaliser des actes simples et certains actes complexes liés à la compétence.
N3 : confirmé (MAîTRISE) : réaliser des actes complexes ou tous les actes liés à la compétence.
N4 : expert (SPéCIALISé) : avoir reçu une formation dédiée à la compétence sur une durée longue permettant de justifier d'un niveau allant au-del à de la maitrise
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE :
Sécurité des réseaux et protocoles (C1, N3), (C2, N3)
Sécurité des bases de données (C1, N3), (C2, N3)
Contribution des architectures à la sécurité (C1, N3), (C2, N3)
Politique de cybersécurité (C1, N3), (C2, N3)
Développement logiciel et ingénierie logicielle (sous l'angle de la sécurité) (C4, N3) (C1, N3), (C2, N3)
Prise en compte de la sécurité dans les projets (C4, N3)(C7, N3), (C8, N3)
Tests d'intrusion (C4, N3) (C5, N3)
Parcours Ingénieur Docteur (Initiation à la recherche) : Etat de l'art et étude bibliographique sur des thèmes et articles du domaines de la sécurité et conférence I.D (C6, N2)
Investigation numérique et Enquête judiciaire cyber
Niveau d'étude
Bac + 5 - Master, DEA, DESS, diplôme d'ingénieur
Composante
ENSEIRB-MATMECA
Ce module s’intéresse à l’investigation numérique et l'enquête judiciaire cyber. Il couvre le cycle de vie complet d'une procédure d'investigation, depuis la préservation des logs à l'enquête judiciaire.
Développement système et réseaux (Plateforme Cyber Entrainement)
Composante
ENSEIRB-MATMECA
Ce module consiste en la réalisation du projet de développement de la plateforme de cyber entrainement. Le projet s'étale sur tout le semestre à raison de 4h par semaine. Il est bâti sur le développement réalisé par les promotions précédentes.
La plateforme de cyber entrainement se veut un environnement réaliste d'entraînement à la cyber-défense avec des moyens logiciels et matériels adaptés, pour simuler, tester, prototyper et démontrer dans un environnement réaliste et étanche des actions liés aux menaces de cybersécurité (piratage, intrusion, Déni de Service, etc.). Les objectifs pédagogiques apportés par la plateforme sont nombreux : (1) Amélioration des connaissance théoriques et pratiques, (2) Formation à la détection des anomalies cachées dans le trafic réseau et identification des attributs de cyber-attaques, (3) Identification des points faibles d'une infrastructure réseau et les plans d'urgence à dérouler.
Evolution des Réseaux
Composante
ENSEIRB-MATMECA
Les réseaux de nouvelle génération sont devenus de plus en plus complexes, interconnectant différentes technologies et architectures (IP, WiFi, 3G, 4G LTE et 5G) à travers plusieurs plates-formes matérielles et logicielles pour offrir une multitude de services (données, téléphonie, diffusion vidéo, vidéoconférence, etc.). Ces nouvelles technologies réseaux ont permis une augmentation spectaculaire des capacités, notamment à l'accès. Dans ce contexte, l'avènement des objets connectés, de l'IoT et de la robotique va accroitre la surface d'attaque d'un point de vue sécurité et va rendre plus difficile la détection et la correction des menaces. Les cyber-attaques sont de plus en plus complexes à identifier et à traiter. Leurs conceptions profitent en partie des fuites issues des technologies gouvernementales et militaires (par exemple outils CIA / NSA) et des avancées dans le domaine de l'intelligence artificielle, du machine learning et du big data. Ce cours a pour objectif de passer en revue les différentes architectures réseaux et leur évolution vers des réseaux de nouvelle génération mutliservices. Un aspet important abordé concerne la qualité de service (QoS), les réseaux cellulaures (GSM, 3G, 4G) et la sécurité des réseaux (sécurités des objets connectés / IoT).
UE I9RSR-B - Sécurité et Systèmes d'Information
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances et compétences :
N0: Pas de compétence.
N1 : débutant (SENSIBILISATION) : comprendre les principaux enjeux et problèmes liés à la compétence.
N2 : intermédiaire (APPLICATION) : réaliser des actes simples et certains actes complexes liés à la compétence.
N3 : confirmé (MAîTRISE) : réaliser des actes complexes ou tous les actes liés à la compétence.
N4 : expert (SPéCIALISé) : avoir reçu une formation dédiée à la compétence sur une durée longue permettant de justifier d'un niveau allant au-del à de la maitrise
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE :
Sécurité des systèmes d'exploitation (C1, N3), (C2, N3)
Sécurité des réseaux et protocoles (C1, N3), (C2, N3)
Contribution des architectures à la sécurité (C1, N3), (C2, N3)
Connaissance de la gouvernance, des normes et des standards dans le domaine de la sécurité (C1, N1), (C2, N1)
Certifications et évaluations de produits (C1, N1), (C2, N1)
Politique de cybersécurité (C1, N3), (C2, N3)
Droit et réglementation (C1, N1), (C2, N1)
Développement logiciel et ingénierie logicielle (sous l'angle de la sécurité) (C4, N3), (C5, N3)
Prise en compte de la sécurité dans les projets (C4, N3)(C7, N3), (C8, N3)
Cyberdéfense (C1, N3), (C2, N3)
Aspects sociaux et sociétaux (C1, N2), (C2, N2)
Aspects économique de la sécurité (C1, N1), (C2, N1)
Evaluation et traitement des cyber risques
Composante
ENSEIRB-MATMECA
- Objectifs
Découvrir une analyse de risque de cybersécurité en suivant la méthode Ebios Risk Manager
Pouvoir réaliser une analyse de risque Ebios Risk Manager simple en autonomie
Projet développement en cyber-sécurité
Composante
ENSEIRB-MATMECA
Ce projet a pour objectif de réaliser des programmes montrant l'exploitation de certaines vulnérabilités et l'impact que cela peut avoir. Les programmes réalisés ont pour finalité d'être utilisés dans le cadre de démonstrations auprès d'organismes publics, d'entreprises, afin de les sensibiliser à la cyber-sécurité. Les élèves réalisent des démonstrateurs qui sont complétés par des vidéos. Ce projet est fait en partenariat avec l'Agence Nationale des Systèmes de Sécurité Informatique (ANSSI).
Aspects Légaux de la Sécurité
Composante
ENSEIRB-MATMECA
Cyber-entraînement, séminaires et conférence Hack-it-n
Composante
ENSEIRB-MATMECA
Tout au long de la scolarité, les élèves de l'option RSR participent à des séminaires obligatoires et des conférences du mardi de l'entreprise optionnelles qui touchent à des thématiques liées au domaine de l'ingénieur.
De plus, sur une journée, la DGSI présente un challenge de cyber entrainement utilisant une plateforme de type cyber-range.
Les élèves RSR participent activement à l'organisation de la conférence Hack-it-n. L'événement Hack-it-n Conference est organisé par la société TEHTRIS, experte en Cybersécurité, en partenariat avec notre école et l'option RSR [cybeR-sécurité, Systèmes et Réseaux] de la filière Informatique.
Les thématiques de cyberdéfense et de cyberattaque seront au coeur des préoccupations, pour coller à la réalité technique et à l'actualité des menaces : hacking, cyber-espionnage, cyber-surveillance, etc.
Liste des séminaires :
Séminaire sur la PSSI/PSSIE
Séminaire sur la protection des données personnelles
Séminaire sur la présentation de la RGDP
UE I9RSR-C - Sécurité et administration des réseaux
ECTS
8 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances et compétences :
N0: Pas de compétence.
N1 : débutant (SENSIBILISATION) : comprendre les principaux enjeux et problèmes liés à la compétence.
N2 : intermédiaire (APPLICATION) : réaliser des actes simples et certains actes complexes liés à la compétence.
N3 : confirmé (MAîTRISE) : réaliser des actes complexes ou tous les actes liés à la compétence.
N4 : expert (SPéCIALISé) : avoir reçu une formation dédiée à la compétence sur une durée longue permettant de justifier d'un niveau allant au-del à de la maitrise
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE :
Sécurité des systèmes d'exploitation (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Sécurité des réseaux et protocoles(C1, N3), (C2, N3) (C4, N3), (C5, N3)
Cryptologie (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Stéganographie et tatouage (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Sécurité des bases de données (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Contribution des architectures à la sécurité (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Analyse post-mortem (Forensic) (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Sécurité des systèmes spécifiques et émergents (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Tests d'intrusion (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Sécurité physique (C4, N3), (C5, N3)
Sécurité des services externalisés (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Rétro-ingénierie (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Audit sécurité d’applications mobiles Android et iOS
Composante
ENSEIRB-MATMECA
A l'issue de ce module les élèves seront capables d'identifier les vulnérabilités du Top10 Mobile de l'OWASP, de réaliser eux-mêmes des attaques pour récupérer des informations sensibles stockées par les applications Android ou iOS et de modifier le comportement de ces applications pour contrer des fonctions simples de sécurité (verrouillage par code PIN, détection de jailbreak, chiffrement des communications, etc...).
Sécurité des réseaux
Composante
ENSEIRB-MATMECA
Ce cours décrit l'architecture réseau pour la SSI, les détections d'intrusion, les tests d'intrusion, la sécurité sur le web et présente également de la cryptographie appliquée.
Sécurité des systèmes et sécurité physique
Composante
ENSEIRB-MATMECA
Ce cours introduit les concepts nécessaires à la compensions de la sécurité des systèmes. Il est complété par une introduction à la sécurité physique (ouverture de porte, de cadenas et de verrous).
Sécurité des systèmes embarqués et de l'IoT
Composante
ENSEIRB-MATMECA
Ce cours présente les bases de l'architecture, la programmation et le débug des objets connectés pour comprendre les problématiques de sécurité.
Il présente de manière théorique et pratique comment les objets connectés peuvent être utilisés comme vecteurs d'attaque et comment les sécuriser.
UE I9RSR-D - Outils d'administration des réseaux
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances et compétences :
N0: Pas de compétence.
N1 : débutant (SENSIBILISATION) : comprendre les principaux enjeux et problèmes liés à la compétence.
N2 : intermédiaire (APPLICATION) : réaliser des actes simples et certains actes complexes liés à la compétence.
N3 : confirmé (MAîTRISE) : réaliser des actes complexes ou tous les actes liés à la compétence.
N4 : expert (SPéCIALISé) : avoir reçu une formation dédiée à la compétence sur une durée longue permettant de justifier d'un niveau allant au-del à de la maitrise
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE :
Sécurité de l'électronique et des architectures matérielles (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Sécurité des systèmes d'exploitation (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Sécurité des réseaux et protocoles (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Contribution des architectures à la sécurité (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Sécurité des systèmes spécifiques et émergents (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Sécurité des services externalisés (C1, N3), (C2, N3) (C4, N3), (C5, N3)
Virtualisation de systèmes
Composante
ENSEIRB-MATMECA
Ce module sur la virtualisation vise à donner aux élèves une vision complète du domaine, depuis l'invention des premières techniques de virtualisation jusqu' à leur utilisation actuelle dans le cloud ou les technologies devops (via la création d'environnements de développement virtuels).Une approche bas-niveau fait également partie du cours : l'architecture des ordinateurs (mémoire, processeur et autres) est étudiée pour comprendre le fonctionnement de la virtualisation.Côté système, des TPs permettent de se familiariser avec la manipulation des outils de virtualisation sous Linux. De même, plusieurs hyperviseurs sont étudiés : QEMU-KVM, VirtualBox, VMware.Lors des TPs, les principes des réseaux sont revus et mis en pratique : pare-feu, réseau interne/externe, routage, commutation.Côté cybersécurité, sont étudiées les vulnérabilités (attaque d'un Windows virtualisé), l'utilisation de la virtualisation lors d'attaques, les menaces sur la virtualisation, la sûreté de fonctionnement dans le cadre d'infrastructures virtuelles, l'analyse de disques virtuels post-mortem (forensic).
Administration Microsoft et Cybersécurité en milieu industriel
Composante
ENSEIRB-MATMECA
Ce cours se compose en deux partis :
Parie 1 : Prise en main de l'administration Windows : couvre les bases de la gestion des systèmes d'exploitation Windows, incluant l'installation, la configuration, la maintenance et la sécurité des serveurs et des postes de travail. Elle vise à fournir les compétences nécessaires pour administrer efficacement un environnement Windows, en mettant l'accent sur les meilleures pratiques et les outils essentiels.
Partie 2 : Intrusion en environnement Active Directory : Active Directory représente aujourd’hui la solution de gestion d’un parc informatique la plus utilisée mondialement. Il est de ce fait une cible privilégiée pour les attaquants, et sa compromission un risque majeur pour les entreprises. Comprendre les principaux leviers d’attaque sur ce type d’environnement est ainsi indispensable, aussi bien dans une optique offensive que pour les équipes défensives.
Administration, Routage, QoS
Composante
ENSEIRB-MATMECA
Ce module permet une prise en main par les étudiants des techniques et des outils d'administration d'un système Unix.
OSINT et Cyber Threat Intelligence
Niveau d'étude
Bac + 5 - Master, DEA, DESS, diplôme d'ingénieur
ECTS
1 crédits
Composante
ENSEIRB-MATMECA
Donner aux élèves les fondamentaux pour intégrer des CERT & SOC.(Centre de réponse à incident / analyste de la menace). Avoir un apprentissage sur la connaissance de la menace et donner les capacités aux élèves de faire
leurs premières « Threat Analysis ». On veillera à rendre le sujet pratique par la mise en place :
- d’une plateforme OPENCTI
- du développement de leurs plateformes DRSD : Détection Ransomware Surveillance Deep
& DarkWeb.
UE Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maitriser l'anglais et connaître d'autres cultures (C10, N1 à N4)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Savoir communiquer avec des personnes de langues et cultures différentes (C10, N2 à N4)
Savoir s'adapter dans différents contextes, dans l'entreprise, à l'international (C10, C12, N1 à N3)
Savoir communiquer avec de spécialistes et non-spécialistes (C12, N1 à N3)
Apprendre à mieux se connaître, à s'autoévaluer, à gérer ses compétences (C13, N2 - N3)
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Projet Professionnel
- Business Challenge.
Partie 1 : PROJET PROFESSIONNEL (4 heures)
Identification des sources de motivation et des forces/faiblesses/opportunités/menaces rencontrées pendant le stage de 1ere année et 2ème année se préparer à l'embauche Construire son pitch et se préparer à la soutenance du projet professionnel.
MODULE 1 :Debriefing du stage 2A,
MODULE 2 : Préparation du pitch en vue de la soutenance de projet professionnel
Partie 2 : BUSINESS CHALENGE (24 heures)
A travers une simulation l'étudiant doit :- Apprendre à développer une stratégie- comprendre les mécanismes de fonctionnement de l'entreprise ( coûts, comptabilité, finances, marketing, production...)- Analyser les résultats- Se sensibiliser au DDRSMieux comprendre les intéractions entre les différentes dimensions d'une entreprise est un des principaux objectifs de Global Challenge. Les participants devront traiter de multiples disciplines liées à la gestion en les intégrant dans une stratégie globale. De plus, les participants devront apprendre à travailler en équipe, afin de mieux analyser les implications opérationnelles et financières de leurs décision.Chaque équipe, regroupée en unité autonome de gestion, doit gérer un ensemble de produits sur un marché virtuel.
Semestre 9 - Génie logiciel des réseaux et des télécommunications
ECTS
30 crédits
Composante
ENSEIRB-MATMECA
UE T9GLR-A - UE Technique GLRT
ECTS
20 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE :
- Connaitre les principes fondamentaux des nouvelles technologies liées aux langages de programmation pour le développement web, des applications mobiles et des services de communication (N3, C2)
- Connaitre les principes fondamentaux des solutions systèmes et middleware pour le cloud et l'IOT (N3, C2)
- Connaitre les principes fondamentaux pour la conception logicielle de systèmes et d'applications connectés, de l'architecture au déploiement opérationnel, incluant la sécurité (N2, C2)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE :
- Mettre en œuvre une application web et mobile de bout en bout sur la base d'un cahier des charges détaillé fonctionnellement (C4, N2)
- Faire des choix technologiques sur le(s) framework(s) et le(s) langage(s) à utiliser dans le cadre d'un projet logiciel d'une application connectée (C4, N2)
- Mettre en œuvre les méthodes et techniques pour concevoir, développer, déployer et administrer des solutions et des services web et IoT (C4, N2)
- Faire évoluer les architectures logicielles et services de communication à petite, moyenne et large échelle (C6, N2)
Conception d'objets connectés
Composante
ENSEIRB-MATMECA
Cours :
Caractéristiques d'un système embarqué.
Importance du codesign dans l'embarqué.
Internet embarqué. Internet des objets. Etat de l'art dans l'IoT.
Linux et l'embarqué : Linux embarqué.
Temps Réel sous Linux. Introduction au Temps Réel.
Contrôle et communication des objets connectés. Protocoles HTTP et MQTT. Modulation LoRa et architecture LoRaWAN.
Prototypage rapide : application à l'IoT. Conception d'un objet connecté.
TP :Conception d'un objet connecté par prototypage rapide sur carte Rapsberry Pi :
TP1. Distribution standard Raspbian et langage Python. Construction d'un objet connecté contrôlable localement et à distance par HTTP.
TP2. Mise en oeuvre de MQTT.
TP3. Conception d'un objet connecté LoRa intégré dans l'architecture LoRaWAN communautaire TTN et contrôlable à distance par MQTT.
Génie Logiciel
Composante
ENSEIRB-MATMECA
Ce module présente les différentes activités nécessaires au développement d'un système logiciel.
Architectures logiciels
Composante
ENSEIRB-MATMECA
Présentation des principales architectures logicielles et leurs domaines applicatifs
Middleware pour l'Internet des objets
Composante
ENSEIRB-MATMECA
Avoir une connaissance conceptuelle et pratique des couches logicielles émergentes couvant le domaine de l'Internet des objets.
Les langages à script
Composante
ENSEIRB-MATMECA
L'objectif de ce cours est d'étudier et de maîtriser les concepts fondamentaux des langages à script. Cette étude se concentrera particulièrement sur les langages JavaScript et Typescript. Elle comprendra des présentations formelles et des exercices.
Développement d'applications Web et mobiles
Composante
ENSEIRB-MATMECA
Introduction et utilisation pratique des briques technologiques (langages, frameworks, emulateurs, etc.) permettant le développement d'applications Web et mobiles.
Cloud Computing system
Composante
ENSEIRB-MATMECA
This course presents students with both fundamental and practical aspects involved in building and operating cloud computing systems and applications.
Développement JavaCard
Composante
ENSEIRB-MATMECA
Téléphonie sur internet
Composante
ENSEIRB-MATMECA
Ce module a pour but de présenter les technologies de voix / téléphonie sur IP. Plus particulièrement, le protocole SIP sera présenté en détails.
Dans une deuxième partie du cours, un industriel présentera la place de SIP dans le monde industriel.
Développement de services de téléphonies sur Internet
Composante
ENSEIRB-MATMECA
Ce module se décompose en trois parties : - Installation et configuration d'un proxy SIP et d'un PABX- Développement d'une pile en .NET - Application de SIP à la messagerie instantanée et à la présence
Introduction Cloud Computing
Composante
ENSEIRB-MATMECA
UE T9GLR-B - Projet
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
Le projet avancé de 3ème année télécommunications a pour objectif d'approfondir, par une expérience pratique, les matières enseignées au sein du département.
Il se déroule pendant la totalité du semestre 9, en petits groupes de 5 à 6 élèves ingénieurs selon les années.
Les projets sont encadrés par des enseignants-chercheurs et potentiellement, en collaboration avec des industriels issues de start-up, PME ou grands groupes. Les élèves traitent de sujets techniques variés portant sur des problématiques industrielles, adossées à la recherche et/ou multidisciplinaires.
Les élèves-ingénieurs mènent leur projet dans un environnement particulier, nommé le fablabou encore le Télécom lab, qui s'inspire des design-centers et des centres d'innovation d'entreprises partenaires.
Il est à noter que ce projet est parrainé par quatre grands-groupes, qui apportent leur savoir-faire sur la gestion de projet et la gestion de programme.
De plus, les élèves-ingénieurs travaillent sur leur savoir-être et sont amenés à communiquer sur leur travail de différentes manières et à plusieurs étapes du projet :
Le reporting par mail de quelques lignes aux parrains industriels et encadrants.
Le comité de pilotage devant les entreprises « marraines », durant lequel chaque groupe projet dispose de 20 minutes pour présenter l'état d'avancement de son projet et le planning envisagé. Il mentionne les risques identifiés et justifie les retards éventuels.
Les élèves-ingénieurs sont aussi amenés à rédiger leurs rapports en anglais sous la forme d'une communication scientifique de plusieurs pages à deux colonnes.
Les élèves-ingénieurs présentent aussi leur travail lors d'une soutenance en anglais de 20 minutes suivies de questions devant un jury composé d'industriels, d'enseignants-chercheurs et de représentants du centre de ressources en langues. Le jury évalue la présentation tant sur le fond que sur la forme. Les représentants industriels délibèrent pour sélectionner les projets les plus aboutis en termes de réalisation technique, de gestion de projet et de valorisation. Il est à noter qu'au semestre 9, une séance de tutorat est programmée en amont avec un enseignant de langues : les élèves ont une présentation blanche et retravaillent la phonologie, le métalangage ainsi que la clarté des diapositives. La soutenance finale constitue le point d'orgue des savoirs construits tout au long des trois années de la formation en langues.
Ainsi, le projet avancé de 3ème année est évalué par trois éléments :
la note de travail sur la base d'une évaluation fourni par les encadrants du projet.
la note de rapport est déterminée par le rapporteur de votre groupe.
la note de soutenance, affectée par un jury mixte contenant des enseignants et/ou des industriels.
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maîtriser les concepts et fondements en programmation, réseaux, transmission et traitement du signal et de l'image(C1, N4).
Disposer d'une culture sur les signaux (parole / audio / image / vidéo), sur les systèmes de communications, les langages de programmation et les réseaux en étant sensibilisé aux normes existantes
Connaître les domaines d'application dans lesquels les différents concepts présentés durant la formation sont utilisés.
Savoir rédiger un document de synthèse en anglais et présenter ses travaux à l'oral.
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Sur la base des connaissances en programmation, réseaux, transmission et traitement du signal et de l'image, analyser la problématique à traiter, dresser un état de l'art des solutions existantes et sélectionner celle la plus adapté au cahier des charges (C1, N4) (C2, N4) (C3, N4) (C4, N4), (C7, N4)
Evaluer les avantages et les inconvénients des solutions, algorithmes ou produits existants ou développées (C5, N4)
Travailler au sein d'une équipe-projet durant un semestre donné avec des dates à respecter (C7, N4)
Valoriser le travail effectué, sous différents formats tant à l'oral qu' à l'écrit (C8, N4)
Selon la nature du sujet, prendre en compte les enjeux d'éthique, environnementaux et économiques. (C.9, N4) (C.11, N4)
Projet avancé en télécommunications
Composante
ENSEIRB-MATMECA
Le projet avancé de 3ème année télécommunications a pour objectif d'approfondir, par une expérience pratique, les matières enseignées au sein de l'option.
Il se déroule pendant la totalité du semestre 9, en petits groupes de 5 à 6 élèves ingénieurs selon les années. Un créneau encadré est habituellement réservé au projet. D'autres peuvent être programmés.
Les projets sont encadrés par des enseignants-chercheurs et potentiellement, en collaboration avec des industriels issues de start-up, PME ou grands groupes. Les élèves traitent de sujets techniques variés portant sur des problématiques industrielles, adossées à la recherche et/ou multidisciplinaires. Les élèves poursuivent leur familiarisation avec la gestion de projets.
Les élèves-ingénieurs mènent leur projet dans un environnement particulier, nommé le fablab ou encore le Télécom lab, qui s'inspire des design-centers et des centres d'innovation d'entreprises partenaires.
Il est à noter que ce projet est parrainé par plusieurs grands groupes, qui apportent leur savoir-faire au niveau de la gestion de projet.
De plus, les élèves-ingénieurs travaillent sur leur savoir-être et sont amenés à communiquer sur leur travail de différentes manières et à plusieurs étapes du projet :
Le comité de pilotage : les élèves-ingénieurs présentent l'état d'avancement de leur projet devant un comité de pilotage à mi-parcours.
Les élèves-ingénieurs sont aussi amenés à rédiger leurs rapports en anglais sous la forme d'une communication scientifique de plusieurs pages à deux colonnes. Une séance de tutorat est programmée afin que les enseignants en langues indiquent aux élèves le type d'erreurs commis. Ils les amènent à comprendre leurs erreurs et à reformuler si nécessaire les paragraphes rédigés.
Les élèves-ingénieurs présentent aussi leur travail lors d'une soutenance en anglais de 20 minutes suivies de questions devant un jury composé d'industriels, d'enseignants-chercheurs et de représentants du centre de ressources en langues. Le jury évalue la présentation tant sur le fond que sur la forme. Les membres du jury délibèrent pour sélectionner les projets les plus aboutis en termes de réalisation technique, de gestion de projet et de valorisation.
UE Langues et culture de l'ingénieur
ECTS
5 crédits
Composante
ENSEIRB-MATMECA
LV1 Anglais
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
Maitriser l'anglais et connaître d'autres cultures (C10, N1 à N4)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
Savoir communiquer avec des personnes de langues et cultures différentes (C10, N2 à N4)
Savoir s'adapter dans différents contextes, dans l'entreprise, à l'international (C10, C12, N1 à N3)
Savoir communiquer avec de spécialistes et non-spécialistes (C12, N1 à N3)
Apprendre à mieux se connaître, à s'autoévaluer, à gérer ses compétences (C13, N2 - N3)
Engagement Etudiant facultatif (Niveau élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau élevé lorsqu'un élève-ingénieur a des fonctions/missions définies et reconnues dans l'exercice de ses activités.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 1 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Engagement Étudiant facultatif (Niveau très élevé)
Composante
ENSEIRB-MATMECA
Reconnaissance de l'engagement étudiant dans la vie sociale, associative ou personnelle
Chaque élève-ingénieur peut faire une demande de validation des compétences, connaissances et aptitudes qu'il a acquises dans l'exercice des activités suivantes :
activité bénévole au sein d'une association,
activité de promotion de l'école ou de l'établissement,
implication au service de l'école ou de l'établissement,
activité professionnelle,
activité militaire dans la réserve opérationnelle,
engagement de sapeur-pompier volontaire,
service civique,
volontariat dans les armées,
participation aux conseils de l'établissement et des écoles, d'autres établissements d'enseignement supérieur ou des centres régionaux des œuvres universitaires et scolaires.
Un engagement étudiant est considéré de niveau très élevé lorsqu'un élève-ingénieur a des fonctions/missions comportant des responsabilités administratives, financières et/ou pénales dans l'exercice de ses activités. Un engagement très élevé doit également comprendre un aspect encadrement et animation.
Le module facultatif engagement étudiant donne lieu à une note sur 20 points entraînant un bonus maximum de 2 point/20 à la moyenne de l'UE (Langues et culture de l'ingénieur). La note obtenue à ce module ne peut pas diminuer la moyenne de l'UE (Langues et culture de l'ingénieur).
Intégrer l'entreprise
Composante
ENSEIRB-MATMECA
Ce module se compose de deux parties complémentaires :
- Projet Professionnel
- Business Challenge.
Partie 1 : PROJET PROFESSIONNEL (4 heures)
Identification des sources de motivation et des forces/faiblesses/opportunités/menaces rencontrées pendant le stage de 1ere année et 2ème année se préparer à l'embauche Construire son pitch et se préparer à la soutenance du projet professionnel.
MODULE 1 :Debriefing du stage 2A,
MODULE 2 : Préparation du pitch en vue de la soutenance de projet professionnel
Partie 2 : BUSINESS CHALENGE (24 heures)
A travers une simulation l'étudiant doit :- Apprendre à développer une stratégie- comprendre les mécanismes de fonctionnement de l'entreprise ( coûts, comptabilité, finances, marketing, production...)- Analyser les résultats- Se sensibiliser au DDRSMieux comprendre les intéractions entre les différentes dimensions d'une entreprise est un des principaux objectifs de Global Challenge. Les participants devront traiter de multiples disciplines liées à la gestion en les intégrant dans une stratégie globale. De plus, les participants devront apprendre à travailler en équipe, afin de mieux analyser les implications opérationnelles et financières de leurs décision.Chaque équipe, regroupée en unité autonome de gestion, doit gérer un ensemble de produits sur un marché virtuel.
Semestre 10 - Stage 2A et Projet de Fin d'Etudes
ECTS
26 crédits
Composante
ENSEIRB-MATMECA
Rapport et soutenance du Projet de Fin d'Etudes
ECTS
12 crédits
Composante
ENSEIRB-MATMECA
Le stage nommé "PFE" est un stage à vocation professionnelle qui dure 5 mois minimum, et 6 mois maximum en France, ou 8 mois maximum à l'étranger, et qui se déroule entre février et septembre.
Rapport et soutenance du stage 2A
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Validation du stage 2A
ECTS
2 crédits
Composante
ENSEIRB-MATMECA
Ce module concerne l'évaluation par le maître de stage du stage de 2ème année.
Validation du Projet de Fin d'Etudes
ECTS
6 crédits
Composante
ENSEIRB-MATMECA
Ce module concerne l'évaluation par le maître de stage du projet de fin d'études.
Semestre 10 - Projet Professionnel
ECTS
4 crédits
Composante
ENSEIRB-MATMECA
Niveau de connaissances (savoirs) :
N1 : débutant
N2 : intermédiaire
N3 : confirmé
N4 : expert
Les connaissances (savoirs) attendues à l'issue des enseignements de l'UE
XXX : (Ci, Nj), (Ci, Nj)
Les acquis d'apprentissage en termes de capacités, aptitudes et attitudes attendues à l'issue des enseignements de l'UE
XXX : (Ci, Nj), (Ci, Nj)
Stage Découverte
Composante
ENSEIRB-MATMECA
- Stage obligatoire d'une durée de 4 semaines minimum sur la période de mai à Août.
Stage Découverte en Entreprise
Objectif: découvrir le monde de l'entreprise, tel qu'il est ressenti à la base. Pour la plupart d'entre vous, ce sera votre premier contact avec le monde du travail. L'intérêt de la "découverte" réside dans le choix d'une entreprise de taille moyenne ou grande.
Stage Découverte et parcours Entrepreneur
Pour les élèves optant pour le parcours Entrepreneuriat, un stage au sein d'une jeune entreprise (type star 'up) est vivement recommandé. Le stage peut également être réalisé dans le cadre du projet de l'élève.
Autres formes du Stage Découverte
Pour ceux d'entre vous qui ont déj à connu une telle activité ("jobs d'été", ou stages déj à réalisés dans votre cursus scolaire préalable....), il existe d'autres modes de stage "Découverte" :
mission caritative, bénévolat, chantier d'été, woofing pour l'apprentissage d'une langue...
Le stage en laboratoire doit être exceptionnel, dans le cas par exemple où l'élève a déj à réalisé un stage en entreprise ou un job d'été.
Université ou école d'été ne sont pas acceptées.
Autres :- Possibilité de faire un stage à l'étanger qui valide une partie de la mobilité à l'international.- Rapport de stage sans soutenance
Soutenance de projet professionnel
Composante
ENSEIRB-MATMECA
OBJECTIF DE LA SOUTENANCE
L'évaluation terminale du dispositif Projet Professionnel consiste à rassembler des compétences écrites et orales de présentation autour d'une offre réelle d'emploi d'ingénieur. Ainsi, au cours d'un entretien d'une trentaine de minutes vous soutiendrez, face à un jury d'enseignants et de professionnels, les raisons de votre recrutement. Pour cela vous aurez à recueillir une offre d'emploi d'ingénieur selon le secteur qui vous convient, puis à adapter vos outils techniques de présentation CV et lettre de motivations (qui seront remis au jury) et à élaborer une présentation orale qui permettra au jury d'apprécier les raisons de votre recrutement dans la cohérence entre votre cursus universitaire, vos expériences professionnelles (stages et projets), vos motivations, vos perspectives de carrière.
Organisation
Stages
Au cours de sa formation, l’élève-ingénieur réalise 3 stages qui lui permettent de s’intégrer progressivement dans le milieu professionnel, en France ou à l’étranger.
Stage 1ère année - Stage Découverte
Durée | 1 à 2 mois / Juillet - Août |
---|---|
Type de missions | Découverte de la vie des entreprises et du métier d'ingénieur |
Stage 2ème année - Stage d'application
Durée | 3 à 4 mois / Juin - Septembre |
---|---|
Type de missions | Mise en situation sur des problèmes techniques |
Stage 3ème année - Projet de fin d'études
Durée | 5 à 6 mois / Février - Septembre |
---|---|
Type de missions | Mission d'envergure que l'élève-ingénieur suit dans son intégralité |
Admission
Conditions d'admission
La filière Informatique est ouverte au Concours Commun INP, au concours Pass'Ingénieur, aux classes préparatoires intégrées (La Prépa des INP, CPBx, Licence renforcée de Poitiers, Licence renforcée de Toulon) et aux admissions sur titre (Licence et BUT ).
Le Concours Commun INP (CCINP)
La filière Informatique recrute la majorité de ses élèves via le Concours Commun INP (CCINP), filières MP, MPI, PC, PSI, TSI, PT.
- Filière MP : 46
- Filière MPI : 10
- Filière PC : 3
- Filière PSI : 10
- Filière TSI : 2
- Filière PT : 1
Le Concours Pass Ingénieur
- L2 ou L3 à l'université : 1
Les Classes Préparatoires intégrées
- La Prépa des INP est commune à tous les INP de France (Bordeaux, Clermont-Ferrand, Grenoble et Nancy). Elle donne accès à plus de 30 écoles d'ingénieurs publiques sur contrôle continu. Nombre de places offertes pour la filière Informatique : 6
- Le CPBx (Cycle Préparatoire de Bordeaux) est commun à 9 écoles d'ingénieurs de Nouvelle-Aquitaine. Nombre de places offertes pour la filière Informatique : 6
- La licence renforcée de Poitiers est une formation en 2 ans permettant d'entrer sur titre dans l'une des écoles d'ingénieurs partenaires. Nombre de places offertes pour la filière Informatique : 1
- La licence renforcée de Toulon est une formation en 2 ans permettant d'entrer sur titre dans l'une des écoles d'ingénieurs partenaires. Nombre de places offertes pour la filière Informatique : 1
Le Recrutement sur titres
L'école recrute en 1ère année des élèves titulaires d'un BUT ou d'une licence scientifique et technologique, obtenus dans d'excellentes conditions et correspondant au domaine scientifique de la filière considérée. L'admission en 2ème année est ouverte aux étudiants titulaires d'une 1ère année de master scientifique et technique.
Nombre de places offertes sur titres pour la filière Informatique :
- En 1ère année : 14
- En 2ème année : en fonction des disponibilités
Pour les élèves résidant dans les pays suivants, vous devez uniquement candidater via la procédure Campus France : Algérie, Argentine, Bénin, Brésil, Burkina Faso, Burundi, Cameroun, Chili, Chine, Colombie, Comores, Congo Brazzaville, Corée du Sud, Côte d'Ivoire, Djibouti, Egypte, Etats-Unis, Gabon, Guinée, Inde, Indonésie, Iran, Japon, Koweit, Liban, Madagascar, Mali, Maroc, Maurice, Mauritanie, Mexique, Pérou, République du Congo Démocratique, Russie, Sénégal, Singapour, Taiwan, Togo, Tunisie, Turquie et Vietnam.
Pour postuler, s’assurer que votre diplôme permet d'accéder à la formation que vous souhaitez intégrer (document à consulter ici).
Candidater :
- Les candidatures seront à déposer du 14 mars au 23 mai 2024 sur le site eCandidat. Pour tout renseignement concernant votre candidature, contacter la scolarité par mail à l’adresse : candidater-enseirbmatmeca@bordeaux-inp.fr.
NB : Dans le cas où le relevé de notes du dernier semestre ou l'attestation de diplôme ne serait pas en votre possession lors du dépôt de votre dossier, vous devrez impérativement nous les faire parvenir par mail à : candidater-enseirbmatmeca@bordeaux-inp.fr dès délivrance de ceux-ci. L'absence de ces pièces ne sera pas pénalisante à l'étude de votre dossier.
Pièces à fournir :
- Lettre de motivation
- Curriculum vitae
- Photocopie du relevé de notes du baccalauréat
- Photocopie des relevés de notes et des classements obtenus au cours du cursus post baccalauréat
- Avis de poursuite d’études (document à télécharger sur eCandidat) ou avis de poursuite d'études selon modèle défini et délivré par le responsable du cursus (BUT2/BUT3) à déposer sur le site par vos soins avant le 23 mai 2024 ou à envoyer par mail par le responsable du cursus à l'adresse : candidater-enseirbmatmeca@bordeaux-inp.fr
- Document complémentaire : photocopie du diplôme pris en compte pour l'admission ou à défaut l'attestation provisoire de réussite
Modalités d'admission :
- Les candidats pourront consulter leurs résultats sur l’application eCandidat au plus tard le 7 juin 2024 au soir.
- Aucun résultat ne sera communiqué par téléphone.
Droits de scolarité
- Droit d'inscription pour élèves communautaires : 618* euros par an
- Droit d'inscription pour élèves extracommunautaires : 3 879* euros la première année / 618* euros pour une réinscription
- Droit d'inscription lors d'une année de césure : 413* euros
Tout élève en formation initiale doit verser la cotisation de vie étudiante et de campus au CROUS avant de s'inscrire.
* Tarif en vigueur sur l'année 2024-2025
Et après
Insertion professionnelle
Les ingénieurs diplômés de la filière Informatique bénéficient d’excellentes conditions d’insertion professionnelle et de perspectives de carrière riches et variées.
L’insertion professionnelle en quelques chiffres
- 8 élèves sur 10 trouvent un emploi avant leur sortie de l’école
- 95% des jeunes diplômés sont en activité 3 mois après la sortie de l’école
-
5% des diplômés préparent une thèse dans un laboratoire (statut doctorant salarié)
Quels débouchés pour nos ingénieurs-diplômés en Informatique ?
Les secteurs géographiques :
- Nouvelle-Aquitaine : 42%
- Ile de France : 27%
- Occitanie : 5%
- International : 9%
- Autres : 17%
Les secteurs d’activités :
- Activités informatiques et service d'information : 46%
- Sociétés de conseil, bureaux d'études, ingénierie : 35%
- Recherche, développement scientifique : 5%
- Industrie aéronautique, automobile, spatiale : 5%
- Autres : 9%
Les Métiers :
- Ingénieur R&D de conception et développement logiciels
- Architecte logiciel, Expert sécurité
- Administrateur système, réseaux et bases de données
- Chef de projets et responsable qualité
- Chef d’entreprise, consultant
- etc.