Formation Ingénieur de l'École pour l'Informatique et les Techniques Avancées - Tronc Commun
Liste chronologique des étapes d’admission
Etape
Passage en cycle Ingénieur depuis la classe préparatoire intégrée
Modalités
Validation de l'étape/phase précédente du parcours de formation
Lieu
jury de validation d'une étape/phase précédente d'un parcours
Point de contact
Etape
Entrée directe en Cycle ingénieur via le Concours Advance Parallèle : Etape de dossier (pour les étudiants ayant validé un BUT, une Licence ou un BTS dans un domaine scientifique)
Modalités
Dossier via une plateforme Web (Parcours Sup, e-candidat, mon master, site web organisme de formation)
Lieu
transmission de documents (courrier postal ou électronique, dépôt sur un site web)
Point de contact
Etape
Entrée directe en Cycle ingénieur via le Concours Advance Parallèle : Etape du concours écrits : 5 épreuves 2 d Mathématiques, 1 d'Algo, 1 de prog et 1 anglais (pour les étudiants ayant validé un BUT, une Licence ou un BTS dans un domaine scientifique)
Modalités
Test d'aptitude et de connaissances
Lieu
sur une plateforme numérique (tests, exercices, ...)
Point de contact
Etape
Entrée directe en Cycle ingénieur via le Concours Advance Parallèle : Etape de l'épreuve orale de motivation (pour les étudiants ayant validé un BUT, une Licence ou un BTS dans un domaine scientifique)
Modalités
Entretien individuel
Lieu
avec un système de visioconférence
Point de contact
Bloc de compétences
Libellé descriptif du bloc
PRODUIRE
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Libellé descriptif du bloc
CONCEVOIR
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Libellé descriptif du bloc
PILOTER
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Libellé descriptif du bloc
GERER
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Libellé descriptif du bloc
AGIR
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Libellé descriptif du bloc
FORMALISER
Peut être suivi de manière indépendante sous réserve d’avoir les compétences pré-requises
Non
Qualification associée inscrite au RNCP ou Répertoire spécifique
Non
Ce bloc est
Issue(s) de l’action
Niveau de diplôme minimum pour accéder à l’action via une VAPP
Nombre minimum d’année(s) d’expérience continue
2.00
Page web d’informations
Caractéristiques de l’action
Famille(s) Métier concernée(s)
Publics ciblés
Etudiant en poursuite d'études
Métier(s) ciblé(s)
Description détaillée
Niveau de diplôme minimum requis
Bac+2 / Niveau 5 ou Classe Préparatoire ou Préparation intégrée
Critères spécifiques d’éligibilité des publics à l’action complète
Pour pouvoir faire le tronc commun, les étudiants doivent avoir soit fait la classe préparatoire intégrée de l'EPITA soit intégrer directement l'école sur concours en provenance d'une classe préparatoire générale, d'un BUT ou d'une Licence dans le domaine scientifique et idéalement dans le domaine de l'informatique et la programmation en particuliers.
Diplôme délivré
Aucun
Déroulement de l’action
Type(s) de parcours concerné(s)
Ingénieur
Modalité(s)
Durée globale
1.50
Unité
Année(s)
En Alternance
Non
Précision
L'ensemble de cette action se déroule sur le site de Strasbourg de l'EPITA.
La quantité de projets et d'atelier sur ces deux semestres font que l'école est souvent ouverte 7 jours sur 7.
Le semestre 7 est stage en entreprise de développement informatique ou d'administration système d'une durée minimum de 5 mois temps plein.
La quantité de projets et d'atelier sur ces deux semestres font que l'école est souvent ouverte 7 jours sur 7.
Le semestre 7 est stage en entreprise de développement informatique ou d'administration système d'une durée minimum de 5 mois temps plein.
Nombre d’heures en entreprise
700
Modalité
Précisions (fréquence, période, …)
Stage de 5 mois minimum à faire sur le semestre 7
Unité
Mois
Précisions sur les outils
Les étudiants du cycle ingénieur ont accès à de nombreuses plateformes d'apprentissage (notamment une plateforme d'e-learning, des plateformes d'intégration continue du code, des plateformes de test automatique des livrables rendus, etc ...)
Informations complémentaires pour le diplôme délivré
Le diplôme est obtenu à l'issue de la 5ème année du cycle ingénieur qui faite suite à cette phase de tronc commun.
La phase de Tronc Commun (qui s'étend sur la 3ème année, dite ING1, et le premier semestre de la 4ème année, dite ING2) est découpée en trois parties :
- Semestre 5
- Semestre 6
- Stage de Tronc Commun au Semestre 7
La phase de Tronc Commun (qui s'étend sur la 3ème année, dite ING1, et le premier semestre de la 4ème année, dite ING2) est découpée en trois parties :
- Semestre 5
- Semestre 6
- Stage de Tronc Commun au Semestre 7
Points de contact
Zone(s) géographique(s) gérée(s) par le contact pour l'action
Alsace : Bas-Rhin (67)
Fonction
Direction
Responsable Relations avec les Entreprises (pour stage/alternance)
Responsable Admission des stagiaires / étudiants
Civilité
Monsieur
Prénom
Lionel
Nom
BROSIUS
Téléphone
03 67 18 04 01
Mail
Adresse
5 rue Gustave Adolph Hirrn, 67000 Strasbourg
Contact interne de l’organisme pour les processus de gestion du Numéric’Emploi
Off
Affichage média(s) de contact dans le répertoire
Modalités pédagogiques
Outils pédagogiques
Moyens techniques
Bloc de compétence
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Atelier C/UNIX
Thème(s) abordé(s) dans le module
Atelier incontournable de l’EPITA, également connu sous le nom de la Piscine. Il s’agit du tout premier
atelier de programmation d’ING1. Il est dédié à l’apprentissage du langage C sur système UNIX. Les exercices
de l’atelier sont à réaliser dans le contexte d’un environnement minimaliste (console, éditeurs de textes en
mode texte, shell et autres outils en ligne de commande). L’étudiant est incité à maîtriser les outils de base
dans le but de monter en efficacité et en autonomie dans la réalisation des divers travaux au cours de
l’année.
L’enseignement vise à mettre en application les concepts fondamentaux de la programmation bas-niveau
sur un système Linux à travers une série d’exercices à résoudre.
atelier de programmation d’ING1. Il est dédié à l’apprentissage du langage C sur système UNIX. Les exercices
de l’atelier sont à réaliser dans le contexte d’un environnement minimaliste (console, éditeurs de textes en
mode texte, shell et autres outils en ligne de commande). L’étudiant est incité à maîtriser les outils de base
dans le but de monter en efficacité et en autonomie dans la réalisation des divers travaux au cours de
l’année.
L’enseignement vise à mettre en application les concepts fondamentaux de la programmation bas-niveau
sur un système Linux à travers une série d’exercices à résoudre.
Titre du module
Systèmes d'exploitation
Thème(s) abordé(s) dans le module
Premier contact avec le système, ce cours démystifie ce qu'est un système d'exploitation, ainsi que son rôle
dans un système complet.
Le cours apporte les éléments techniques nécessaires à la réalisation des projets de C/UNIX dispensés par
les Tuteurs-Assistants PPEX.
This course provides an introduction to computer systems and related concepts. Emphasis is placed on
understanding the implications of computer hardware, the operating system, and compilation system, on
the performance and security of written code. Students learn basic C programming and the x86-64 assembly
languages. Topics covered include basic computer organization, reverse engineering, buffer overflow,
pipelining, the memory hierarchy, code optimization, and process creation. Students also gain exposure to
topics in concurrency and parallel computing through the POSIX API.
dans un système complet.
Le cours apporte les éléments techniques nécessaires à la réalisation des projets de C/UNIX dispensés par
les Tuteurs-Assistants PPEX.
This course provides an introduction to computer systems and related concepts. Emphasis is placed on
understanding the implications of computer hardware, the operating system, and compilation system, on
the performance and security of written code. Students learn basic C programming and the x86-64 assembly
languages. Topics covered include basic computer organization, reverse engineering, buffer overflow,
pipelining, the memory hierarchy, code optimization, and process creation. Students also gain exposure to
topics in concurrency and parallel computing through the POSIX API.
Titre du module
Eléments de réseaux 1
Thème(s) abordé(s) dans le module
L’objectif de ce cours est de fournir une introduction et une vue d’ensemble aux réseaux informatiques
utilisés aujourd’hui avec une distinction entre la théorie et la pratique. A l’issue de ce cours, les étudiants
seront capables de créer et de configurer des réseaux de petite échelle et de les interconnecter.
utilisés aujourd’hui avec une distinction entre la théorie et la pratique. A l’issue de ce cours, les étudiants
seront capables de créer et de configurer des réseaux de petite échelle et de les interconnecter.
Titre du module
Atelier SQL
Thème(s) abordé(s) dans le module
A travers une succession de TP, TD et d'exercices en autonomies, les étudiants apprendront le modèle
théorique normal de conception des bases de données, l'utilisation du langage SQL (*sequel*) pour la
création et la sélection. Ils suivront également une introduction à la modélisation des bases de données.
théorique normal de conception des bases de données, l'utilisation du langage SQL (*sequel*) pour la
création et la sélection. Ils suivront également une introduction à la modélisation des bases de données.
Titre du module
Assembleur
Thème(s) abordé(s) dans le module
Par l’apprentissage d’une architecture matérielle et de son assembleur, ce cours consiste à approfondir les
connaissances bas-niveau vues en SYS et en CNIX.
Dans le contexte d’un ordinateur type IBM PC x86-64 fonctionnant sur Linux, le cours permet de :
- Avoir un aperçu de la conception d'une architecture de microprocesseur.
- Pratiquer l’assembleur Intel x86-64/AMD64 en utilisant la syntaxe GNU
- Interfacer du code assembleur avec du code C en respectant les conventions d'appel propres au
système visé.
- Améliorer ses facultés à debugger un programme sur une architecture donnée.
- Avoir une ouverture sur la performance et la sécurisation d’un programme informatique pour des
électifs ou majeures.
connaissances bas-niveau vues en SYS et en CNIX.
Dans le contexte d’un ordinateur type IBM PC x86-64 fonctionnant sur Linux, le cours permet de :
- Avoir un aperçu de la conception d'une architecture de microprocesseur.
- Pratiquer l’assembleur Intel x86-64/AMD64 en utilisant la syntaxe GNU
- Interfacer du code assembleur avec du code C en respectant les conventions d'appel propres au
système visé.
- Améliorer ses facultés à debugger un programme sur une architecture donnée.
- Avoir une ouverture sur la performance et la sécurisation d’un programme informatique pour des
électifs ou majeures.
Titre du module
Atelier JAVA
Thème(s) abordé(s) dans le module
Atelier d’apprentissage des bases de l’écosystème Java, du placement industriel à la syntaxe, en s’arrêtant
rapidement sur le fonctionnement, d’un ramasse-miettes.
rapidement sur le fonctionnement, d’un ramasse-miettes.
Titre du module
Atelier JS
Thème(s) abordé(s) dans le module
Atelier d’apprentissage des bases de l’écosystème Javascript, du navigateur à l’application de bureau, en passant sur
les bases du langage HTML / CSS.
les bases du langage HTML / CSS.
Titre du module
Atelier C++
Thème(s) abordé(s) dans le module
Le langage C++ est un standard industriel pour obtenir des logiciels performants. Il est riche de très nombreuses
notions, qui sont difficiles à appréhender dans leur globalité. Il est multi-paradigme, relativement de bas-niveau tout
en proposant des abstractions de haut-niveau, mais possédant une syntaxe compliquée. Le fait de connaître les
notions et la syntaxe du langage C, ainsi que le paradigme des langages à objets avec héritage comme Java, permet
d’appréhender plus facilement le langage C++.Le langage C++ est un standard industriel pour obtenir des logiciels
performants. Il est riche de très nombreuses notions, qui sont difficiles à appréhender dans leur globalité. Il est
multi-paradigme, relativement de bas-niveau tout en proposant des abstractions de haut-niveau, mais possédant
une syntaxe compliquée. Le fait de connaître les notions et la syntaxe du langage C, ainsi que le paradigme des
langages à objets avec héritage comme Java, permet d’appréhender plus facilement le langage C++.
notions, qui sont difficiles à appréhender dans leur globalité. Il est multi-paradigme, relativement de bas-niveau tout
en proposant des abstractions de haut-niveau, mais possédant une syntaxe compliquée. Le fait de connaître les
notions et la syntaxe du langage C, ainsi que le paradigme des langages à objets avec héritage comme Java, permet
d’appréhender plus facilement le langage C++.Le langage C++ est un standard industriel pour obtenir des logiciels
performants. Il est riche de très nombreuses notions, qui sont difficiles à appréhender dans leur globalité. Il est
multi-paradigme, relativement de bas-niveau tout en proposant des abstractions de haut-niveau, mais possédant
une syntaxe compliquée. Le fait de connaître les notions et la syntaxe du langage C, ainsi que le paradigme des
langages à objets avec héritage comme Java, permet d’appréhender plus facilement le langage C++.
Titre du module
Technologie des interfaces
Thème(s) abordé(s) dans le module
Cette activité a pour objectif d’introduire les interfaces graphiques web.
Titre du module
Conception des compilateurs
Thème(s) abordé(s) dans le module
Le cours de CCMP, est destiné à appuyer le déroulement du projet TIGER de bases théoriques concernant le
fonctionnement d’un front-end compilateur, de l’analyse du code source à l’émission de code intermédiaire.
Ce cours sera par la suite prolongé avec CMP2 (Construction des Compilateurs 2), détaillant le fonctionnement du
middle-end et du back-end compilateur.
fonctionnement d’un front-end compilateur, de l’analyse du code source à l’émission de code intermédiaire.
Ce cours sera par la suite prolongé avec CMP2 (Construction des Compilateurs 2), détaillant le fonctionnement du
middle-end et du back-end compilateur.
Titre du module
Initiation au développement et craftmanship
Thème(s) abordé(s) dans le module
Le module a pour but d’initier les étudiants aux méthodes et outils DevOps. L’enseignement à EPITA se concentre
principalement sur les aspects de dev, et très peu sur l’ops. Ce cours est une ouverture vers une nouvelle branche,
tout en fournissant des connaissances sur des outils très utilisés en industrie.
Le cours va également proposer une partie sur l’observabilité, notion clé dans l’industrie et dont l’implémentation
s’effectue de préférence en suivant une méthodologie DevOps
principalement sur les aspects de dev, et très peu sur l’ops. Ce cours est une ouverture vers une nouvelle branche,
tout en fournissant des connaissances sur des outils très utilisés en industrie.
Le cours va également proposer une partie sur l’observabilité, notion clé dans l’industrie et dont l’implémentation
s’effectue de préférence en suivant une méthodologie DevOps
Travaux pratiques en groupe en synchrone (heures)
527.00
Nom du bloc de compétence
9511
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Introduction au traitement du signal
Thème(s) abordé(s) dans le module
Les signaux sont omniprésents autour de nous : données multimédia (images, vidéos), télécommunications
numériques, etc. En cet égard, le traitement du signal est une discipline fondamentale en ingénierie, qui vise
à développer des modèles, méthodes et algorithmes pour le traitement, l'analyse et l'extraction
d'information de tels signaux.
Ce cours présente les notions de base théoriques et pratiques de traitement du signal, pour répondre aux
questions suivantes :
- Qu’est-ce qu'un signal, comment les reconnaître et les catégoriser ?
- Qu’est-ce que la corrélation et la convolution de deux signaux ? À quoi ça sert en pratique ?
- Comment analyser les fréquences constituant un signal ? À quoi sert en pratique l'analyse
harmonique ?
- Comment numériser un signal (échantillonnage/quantification) en perdant le moins possible
d'information ?
numériques, etc. En cet égard, le traitement du signal est une discipline fondamentale en ingénierie, qui vise
à développer des modèles, méthodes et algorithmes pour le traitement, l'analyse et l'extraction
d'information de tels signaux.
Ce cours présente les notions de base théoriques et pratiques de traitement du signal, pour répondre aux
questions suivantes :
- Qu’est-ce qu'un signal, comment les reconnaître et les catégoriser ?
- Qu’est-ce que la corrélation et la convolution de deux signaux ? À quoi ça sert en pratique ?
- Comment analyser les fréquences constituant un signal ? À quoi sert en pratique l'analyse
harmonique ?
- Comment numériser un signal (échantillonnage/quantification) en perdant le moins possible
d'information ?
Titre du module
Complexité des Algorithmes
Thème(s) abordé(s) dans le module
Ce cours introduit la complexité des algorithmes. La présentation de plusieurs algorithmes de tris ainsi que
d'algorithmes classiques — de type "diviser pour régner" ou "programmation dynamique" — servent de
support à l'introduction de la notion de complexité et des différents outils mathématiques qui permettent
de l'étudier.
d'algorithmes classiques — de type "diviser pour régner" ou "programmation dynamique" — servent de
support à l'introduction de la notion de complexité et des différents outils mathématiques qui permettent
de l'étudier.
Titre du module
Approches fonctionnelles de la programmation
Thème(s) abordé(s) dans le module
Ce cours traite du paradigme de programmation fonctionnelle, qui a la particularité d'être à la fois très
ancien, basé sur de solides fondements théoriques, et pourtant moins populaire que la programmation
orientée objet, jusqu'à finalement retrouver la place qu'il mérite dans le paysage du génie logiciel, mais
seulement récemment. Le cours est illustré par deux langages : Lisp (le père de ce paradigme), et Haskell
(plus récent), tous deux fonctionnels quoique très différents par ailleurs. C'est précisément ce qui rend leur
mise en parallèle particulièrement intéressante.
On étudiera le contexte historique dans lequel le paradigme est né, les principes applicatifs qu'il offre
(principalement les fonctions d'ordre supérieur) ainsi que leurs fondements théoriques. On mettra l'accent
sur les différents contextes d'intégration de ce paradigme, en particulier en typage statique ou dynamique,
avec ou sans effets de bords (pur / impur), et dans le cadre d'évaluateurs stricts ou paresseux.
ancien, basé sur de solides fondements théoriques, et pourtant moins populaire que la programmation
orientée objet, jusqu'à finalement retrouver la place qu'il mérite dans le paysage du génie logiciel, mais
seulement récemment. Le cours est illustré par deux langages : Lisp (le père de ce paradigme), et Haskell
(plus récent), tous deux fonctionnels quoique très différents par ailleurs. C'est précisément ce qui rend leur
mise en parallèle particulièrement intéressante.
On étudiera le contexte historique dans lequel le paradigme est né, les principes applicatifs qu'il offre
(principalement les fonctions d'ordre supérieur) ainsi que leurs fondements théoriques. On mettra l'accent
sur les différents contextes d'intégration de ce paradigme, en particulier en typage statique ou dynamique,
avec ou sans effets de bords (pur / impur), et dans le cadre d'évaluateurs stricts ou paresseux.
Titre du module
Structures algébriques
Thème(s) abordé(s) dans le module
L'axiomatisation est le pendant mathématique de la démarche de factorisation en informatique, notamment
en POO. Ce cours vise à apporter un regard sur l'intérêt de cette pratique dans les contextes algébriques et
arithmétiques, pour l'informatique. Il souhaite par ailleurs présenter en filigrane les différentes structures
usuelles auxquelles les étudiants auront ahaite par ailleurs présenter en filigrane les différentes structures
usuelles auxquelles les étudiants auront affaire au cours de leur scolarité. Il s'agit d'une grille de lecture des
structures computationnelles standards.
en POO. Ce cours vise à apporter un regard sur l'intérêt de cette pratique dans les contextes algébriques et
arithmétiques, pour l'informatique. Il souhaite par ailleurs présenter en filigrane les différentes structures
usuelles auxquelles les étudiants auront ahaite par ailleurs présenter en filigrane les différentes structures
usuelles auxquelles les étudiants auront affaire au cours de leur scolarité. Il s'agit d'une grille de lecture des
structures computationnelles standards.
Titre du module
Approche objet de la programmation
Thème(s) abordé(s) dans le module
AOP1 traite de l’approche orientée objet « classique », c’est-à-dire la plus répandue aujourd’hui. C’est
l’approche utilisée dans les langages C++ et Java en particulier, et ce sont les deux langages qui servent
d'illustration pour le contenu du cours. Les caractéristiques de cette approche sont la notion de « classe »
pour la structuration de l'information, l'envoi de message pour la modélisation du comportement
dynamique, et le contexte général des langages statiquement typés.
On détaillera le contexte historique dans lequel ce paradigme est né, son évolution, ainsi que les concepts
fondamentaux au-dessus desquels il est construit. On abordera les grands principes de modélisation dans
cette approche, et on en montrera les limites, en mettant l'accent sur les liens avec les caractéristiques des
langages sous-jacents.
l’approche utilisée dans les langages C++ et Java en particulier, et ce sont les deux langages qui servent
d'illustration pour le contenu du cours. Les caractéristiques de cette approche sont la notion de « classe »
pour la structuration de l'information, l'envoi de message pour la modélisation du comportement
dynamique, et le contexte général des langages statiquement typés.
On détaillera le contexte historique dans lequel ce paradigme est né, son évolution, ainsi que les concepts
fondamentaux au-dessus desquels il est construit. On abordera les grands principes de modélisation dans
cette approche, et on en montrera les limites, en mettant l'accent sur les liens avec les caractéristiques des
langages sous-jacents.
Titre du module
Théorie des langages
Thème(s) abordé(s) dans le module
La théorie des langages, initialement conçue par des linguistes pour analyser le langage courant, s'est avérée
particulièrement adaptée à l'informatique. Ce cours en explore un domaine appelé la théorie des automates
et des grammaires ainsi que certaines de ses applications, en particulier dans le cadre de la compilation :
- Les expressions régulières, qui sont une manière simple de décrire de manière finie des ensembles
potentiellement infinis, et que l'on applique en particulier à la recherche de motifs dans des
données. Dans le cadre d'un compilateur, on les applique à l'analyse lexicale, afin de découper un
flux d'entrée en jetons interprétables.
- Le parsing, qui permet d'interpréter des ensembles de mots plus complexes que ceux décrits par
les expressions régulières. Il n'existe toutefois pas d'algorithme de parsing universel efficace, on
décrira donc une famille de méthodes applicables à différents cas. Un compilateur utilise un parser
pour effectuer une analyse du code source (analyse syntaxique) et produire ainsi un arbre
syntaxique.
particulièrement adaptée à l'informatique. Ce cours en explore un domaine appelé la théorie des automates
et des grammaires ainsi que certaines de ses applications, en particulier dans le cadre de la compilation :
- Les expressions régulières, qui sont une manière simple de décrire de manière finie des ensembles
potentiellement infinis, et que l'on applique en particulier à la recherche de motifs dans des
données. Dans le cadre d'un compilateur, on les applique à l'analyse lexicale, afin de découper un
flux d'entrée en jetons interprétables.
- Le parsing, qui permet d'interpréter des ensembles de mots plus complexes que ceux décrits par
les expressions régulières. Il n'existe toutefois pas d'algorithme de parsing universel efficace, on
décrira donc une famille de méthodes applicables à différents cas. Un compilateur utilise un parser
pour effectuer une analyse du code source (analyse syntaxique) et produire ainsi un arbre
syntaxique.
Titre du module
Théorie des graphes
Thème(s) abordé(s) dans le module
L'objectif du cours est quadruple :
- introduire le vocabulaire de la théorie des graphes et d'illustrer son vaste champ d'applications
- prolonger le cours de complexité des algorithmes en l'appliquant aux algorithmes de graphes, ainsi qu'en
montrant de nouveau algorithmes de programmation dynamique
- relier les graphes à la théorie des groupes (en particulier, semi-anneaux)
- préparer au cours de recherche opérationnelle qui sera sanctionné par un projet mêlant des
problématiques de graphe.
- introduire le vocabulaire de la théorie des graphes et d'illustrer son vaste champ d'applications
- prolonger le cours de complexité des algorithmes en l'appliquant aux algorithmes de graphes, ainsi qu'en
montrant de nouveau algorithmes de programmation dynamique
- relier les graphes à la théorie des groupes (en particulier, semi-anneaux)
- préparer au cours de recherche opérationnelle qui sera sanctionné par un projet mêlant des
problématiques de graphe.
Titre du module
Modélisation dynamique
Thème(s) abordé(s) dans le module
MOD1 traite de la modélisation « statique » de logiciels avec un langage orienté objet (par exemple C++ ou Java).
Par statique, il faut comprendre la description de ce qu'il y a dans le logiciel et la façon dont il est architecturé. Le
diagramme de classes du Langage de Modélisation Unifié (UML) sera l'outil utilisé pour "dessiner" les plans des
logiciels.
Si, a priori, les concepts liés à l'orienté-objet restent simples à comprendre, l'obtention de modélisations de bonne
qualité n'est pas si facile de prime abord. Savoir bien bâtir les hiérarchies de classes et les relations entre classes
nécessite une prise de recul que ce cours propose d'aborder.
Par statique, il faut comprendre la description de ce qu'il y a dans le logiciel et la façon dont il est architecturé. Le
diagramme de classes du Langage de Modélisation Unifié (UML) sera l'outil utilisé pour "dessiner" les plans des
logiciels.
Si, a priori, les concepts liés à l'orienté-objet restent simples à comprendre, l'obtention de modélisations de bonne
qualité n'est pas si facile de prime abord. Savoir bien bâtir les hiérarchies de classes et les relations entre classes
nécessite une prise de recul que ce cours propose d'aborder.
Titre du module
Programmation Vectorielle et Calcul Matriciel
Thème(s) abordé(s) dans le module
Revoir et découvrir l’utilisation des matrices pour résoudre différents problèmes en mettant les mains dans
le code. Apprendre la programmation est vectorielle en s'appuyant sur la bibliothèque Numpy de Python.
le code. Apprendre la programmation est vectorielle en s'appuyant sur la bibliothèque Numpy de Python.
Titre du module
Probabilité et Statistiques 1
Thème(s) abordé(s) dans le module
Ce cours vise à apporter une introduction au modèles probabilistes et statistiques d'analyses de données qu'on
retrouve dans plusieurs disciplines. Cette analyse guide les décisions à prendre dans des situations qui permettent
une telle modélisation probabiliste.
retrouve dans plusieurs disciplines. Cette analyse guide les décisions à prendre dans des situations qui permettent
une telle modélisation probabiliste.
Titre du module
Intelligence Artificielle et Machine Learning
Thème(s) abordé(s) dans le module
Ce cours propose une introduction aux concepts et techniques fondamentaux de l'**Intelligence Artificielle (IA)**
et du **Machine Learning (ML)**. Il vise à fournir une compréhension générale de l'IA, de ses applications et des
méthodes employées pour résoudre des problèmes variés. Les étudiants apprendront à construire et à évaluer des
modèles prédictifs, tout en abordant des aspects pratiques tels que la manipulation de données et l’implémentation
algorithmique. Les enjeux éthiques, les limites et les tendances actuelles de l'IA seront également explorés.
et du **Machine Learning (ML)**. Il vise à fournir une compréhension générale de l'IA, de ses applications et des
méthodes employées pour résoudre des problèmes variés. Les étudiants apprendront à construire et à évaluer des
modèles prédictifs, tout en abordant des aspects pratiques tels que la manipulation de données et l’implémentation
algorithmique. Les enjeux éthiques, les limites et les tendances actuelles de l'IA seront également explorés.
Titre du module
Typologie des languages
Thème(s) abordé(s) dans le module
Ce cours vise à fournir aux élèves un ensemble d'éléments de culture et de critères afin de pouvoir prendre du recul
et appréhender les différents langages de programmation auxquels ils peuvent être confrontés. Ceci se fait, dans un
premier temps, via un bref historique de l'histoire de l'informatique et plus spécifiquement des langages de
programmation, puis dans un second temps par l'analyse spécifique de certains aspects des langages de
programmation et des études de cas sur certains de ces langages en particulier.
Ce cours cherche à démontrer que les langages ne sont pas égaux, et que certains sont plus adaptés à certains
contextes que d'autres. Il insiste, en complément du cours de CMP1, sur le lien étroit, mais presque invisible, qui
existe entre les technologies de compilation existantes et la définition d'un langage, pour mettre l'emphase sur
l'évolution des langages de programmation et le besoin de promouvoir de nouvelles technologies.
et appréhender les différents langages de programmation auxquels ils peuvent être confrontés. Ceci se fait, dans un
premier temps, via un bref historique de l'histoire de l'informatique et plus spécifiquement des langages de
programmation, puis dans un second temps par l'analyse spécifique de certains aspects des langages de
programmation et des études de cas sur certains de ces langages en particulier.
Ce cours cherche à démontrer que les langages ne sont pas égaux, et que certains sont plus adaptés à certains
contextes que d'autres. Il insiste, en complément du cours de CMP1, sur le lien étroit, mais presque invisible, qui
existe entre les technologies de compilation existantes et la définition d'un langage, pour mettre l'emphase sur
l'évolution des langages de programmation et le besoin de promouvoir de nouvelles technologies.
Titre du module
Conception
Thème(s) abordé(s) dans le module
En logique, une conception est un ensemble de contenu de pensée, qui, lorsqu'elle est appliquée à un objet,
peut former une proposition. En anglais on traduit le mot conception par “design”. “Le design ce n’est pas
seulement ce à quoi ça ressemble, le design est comment ça marche” : Steve Jobs.
L’objectif sera d’expérimenter des outils utiles à l’identification du besoin jusqu’à la construction d'une
solution répondant en tout ou partie à ces besoins.
Nous traiterons un outil par thématique dans le cadre d’un exercice ciblé. Des ateliers thématiques
permettront aux apprenants de mettre en pratique ces outils sous l'œil bienveillant d'experts qui pourront
alors valider, réorienter, aider à l’appropriation de la démarche.
Ce cours permettra aux élèves d’ING1 d’aborder leur projet PING plus sereinement et de profiter d’expertise
et de suivi durant ce projet.
peut former une proposition. En anglais on traduit le mot conception par “design”. “Le design ce n’est pas
seulement ce à quoi ça ressemble, le design est comment ça marche” : Steve Jobs.
L’objectif sera d’expérimenter des outils utiles à l’identification du besoin jusqu’à la construction d'une
solution répondant en tout ou partie à ces besoins.
Nous traiterons un outil par thématique dans le cadre d’un exercice ciblé. Des ateliers thématiques
permettront aux apprenants de mettre en pratique ces outils sous l'œil bienveillant d'experts qui pourront
alors valider, réorienter, aider à l’appropriation de la démarche.
Ce cours permettra aux élèves d’ING1 d’aborder leur projet PING plus sereinement et de profiter d’expertise
et de suivi durant ce projet.
Cours / Topos en synchrone (heures)
69.00
Travaux dirigés en synchrone (heures)
350.00
Nom du bloc de compétence
9591
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Communication 1
Thème(s) abordé(s) dans le module
- Savoir s’exprimer de façon claire et précise dans le cadre professionnel tant à l’oral qu’à l’écrit
- Structurer sa communication
- Prendre la parole en public
- Adapter son discours aux différents publics
- Transmettre sa pensée
- Présenter et exposer ses idées le plus clairement possible
- Échanger de manière délibérée et adaptée dans un contexte expert
- Structurer sa communication
- Prendre la parole en public
- Adapter son discours aux différents publics
- Transmettre sa pensée
- Présenter et exposer ses idées le plus clairement possible
- Échanger de manière délibérée et adaptée dans un contexte expert
Titre du module
Développement des capacités transverses
Thème(s) abordé(s) dans le module
Ce cours va permettre aux étudiants de :
- mieux se connaître et de prendre conscience de leurs forces et de leurs talents;
- collaborer entre eux ;
- travailler sur leur motivation- aller au-delà de l’échec ;
- déterminer des objectifs :
o Améliorer l’organisation personnelle et la gestion des priorités – faire des choix.
- comprendre les différents niveaux de stress :
o Identifier concrètement ses propres facteurs de stress.
- pratiquer les techniques de résolution de problème pour le diminuer ;
Ce cours, s'appuie sur de nombreux exercices pratiques et des analyses individualisées aussi bien en cours
que sur Moodle.
Chaque chapitre comportera des supports sur Moodle, des questionnaires de positionnement et des quizz
ainsi que des Ateliers notés de mise en pratique.
- mieux se connaître et de prendre conscience de leurs forces et de leurs talents;
- collaborer entre eux ;
- travailler sur leur motivation- aller au-delà de l’échec ;
- déterminer des objectifs :
o Améliorer l’organisation personnelle et la gestion des priorités – faire des choix.
- comprendre les différents niveaux de stress :
o Identifier concrètement ses propres facteurs de stress.
- pratiquer les techniques de résolution de problème pour le diminuer ;
Ce cours, s'appuie sur de nombreux exercices pratiques et des analyses individualisées aussi bien en cours
que sur Moodle.
Chaque chapitre comportera des supports sur Moodle, des questionnaires de positionnement et des quizz
ainsi que des Ateliers notés de mise en pratique.
Titre du module
Organisation et développement personnel et collaboratif
Thème(s) abordé(s) dans le module
Prendre en considération les problématiques de gestion de conflit dans le travail collaboratif, travailler son
assertivité et comprendre l’impact de son attitude sur ses interlocuteurs.
assertivité et comprendre l’impact de son attitude sur ses interlocuteurs.
Titre du module
Gestion de projets
Thème(s) abordé(s) dans le module
Fournir les bases méthodologiques de la gestion de projet
- Comprendre le cycle de vie d’un projet et les outils et techniques à mettre en œuvre à chaque étape
- Voir les similitudes, les différences, les avantages et inconvénients des méthodologies de gestion de projet
classiques (prédictives) et la méthode AGILE
- Être capable d’appliquer ces techniques dans leur prochaines activités (PFE, stages…)
- Comprendre le cycle de vie d’un projet et les outils et techniques à mettre en œuvre à chaque étape
- Voir les similitudes, les différences, les avantages et inconvénients des méthodologies de gestion de projet
classiques (prédictives) et la méthode AGILE
- Être capable d’appliquer ces techniques dans leur prochaines activités (PFE, stages…)
Cours / Topos en synchrone (heures)
37.00
Travaux dirigés en synchrone (heures)
50.00
Nom du bloc de compétence
9592
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Langue Vivante
Thème(s) abordé(s) dans le module
Ce cours est conçu pour permettre aux étudiants d’augmenter leurs scores au Toeic.
Le cours sera axé sur différents types d’exercices du Toeic, leurs corrections et explications.
Le cours sera axé sur différents types d’exercices du Toeic, leurs corrections et explications.
Titre du module
Langue Vivante - Rosetta Stone
Thème(s) abordé(s) dans le module
Disponibilité d'un enseignement de langue pour tous. Dans l'éventualité où vos résultats au TOEIC blanc
sont inférieurs à 800 cette activité est remplacée par une activité d'apprentissage de l'anglais visant à
améliorer vos performances au TOEIC.
sont inférieurs à 800 cette activité est remplacée par une activité d'apprentissage de l'anglais visant à
améliorer vos performances au TOEIC.
Titre du module
Ethique du Numérique
Thème(s) abordé(s) dans le module
Comprendre ce qu’est l’éthique et sa fonction ; identifier les conditions éthiques dans lesquelles on pense
l’utilisation d’un outil technique ; initiation à l’analyse des problématiques éthiques liées au numérique ;
être capable d’analyser une situation avec une posture éthique.
l’utilisation d’un outil technique ; initiation à l’analyse des problématiques éthiques liées au numérique ;
être capable d’analyser une situation avec une posture éthique.
Titre du module
Société, égalité et mixité
Thème(s) abordé(s) dans le module
Au cœur de notre société, l'égalité F/H ne laisse personne indifférent. Comment l’expliquer ? Quelle
différence entre illusion d'égalité et égalité réelle ? Comment s'emparer du sujet malgré nos ressentis
différents ? Quel enjeu pour les jeunes générations ? ...
Ce cours a pour objectif d'expliquer ces différentes notions via une approche ludique et interactive, qui
s'appuie sur le monde d'aujourd'hui (pop culture, société, actualités…) Dialogue, pédagogie et pop quiz sont
au cœur de ce module afin que chacun puisse s'exprimer, et ainsi, s'approprier ce sujet essentiel.
Participation, curiosité et écoute seront donc des compétences clés.
différence entre illusion d'égalité et égalité réelle ? Comment s'emparer du sujet malgré nos ressentis
différents ? Quel enjeu pour les jeunes générations ? ...
Ce cours a pour objectif d'expliquer ces différentes notions via une approche ludique et interactive, qui
s'appuie sur le monde d'aujourd'hui (pop culture, société, actualités…) Dialogue, pédagogie et pop quiz sont
au cœur de ce module afin que chacun puisse s'exprimer, et ainsi, s'approprier ce sujet essentiel.
Participation, curiosité et écoute seront donc des compétences clés.
Titre du module
Développement durable, premier pas
Thème(s) abordé(s) dans le module
Le développement durable reconnaît que le développement humain est nécessaire pour assurer une
meilleure santé, éducation et suffisamment de ressources pour couvrir leurs besoins et ceux des
générations futures. 17 Objectifs de Développement Durable ont été définis en 2015, constituant un agenda
pour 2030 et ciblant les grands défis du XXIème siècle.
L’informatique et les nouvelles technologies font partie de cet environnement en croissance forte. Nous
devons cependant nous assurer qu’en accélérant notre passage à un monde numérique nous ne faisons pas
que reporter les problèmes ailleurs (consommation de ressources non renouvelables, création d’enjeux
sociaux supplémentaires, déchets électroniques…).
Comprendre le développement durable et plus précisément le Green IT, ses bonnes pratiques et les outils
associés sont essentiels pour devenir un manager, un ingénieur responsable et citoyen.
Ce cours se focalisera sur ce qu’est le développement durable et introduira le numérique responsable. Il
explorera certains des outils de base utilisés pour mesurer l’impact de l’informatique sur l’environnement
(Analyse du Cycle de Vie, émissions de Gaz à effet de serre) pour lier responsabilité individuelle et collective
et comprendre quelles bonnes pratiques mettre en place.
meilleure santé, éducation et suffisamment de ressources pour couvrir leurs besoins et ceux des
générations futures. 17 Objectifs de Développement Durable ont été définis en 2015, constituant un agenda
pour 2030 et ciblant les grands défis du XXIème siècle.
L’informatique et les nouvelles technologies font partie de cet environnement en croissance forte. Nous
devons cependant nous assurer qu’en accélérant notre passage à un monde numérique nous ne faisons pas
que reporter les problèmes ailleurs (consommation de ressources non renouvelables, création d’enjeux
sociaux supplémentaires, déchets électroniques…).
Comprendre le développement durable et plus précisément le Green IT, ses bonnes pratiques et les outils
associés sont essentiels pour devenir un manager, un ingénieur responsable et citoyen.
Ce cours se focalisera sur ce qu’est le développement durable et introduira le numérique responsable. Il
explorera certains des outils de base utilisés pour mesurer l’impact de l’informatique sur l’environnement
(Analyse du Cycle de Vie, émissions de Gaz à effet de serre) pour lier responsabilité individuelle et collective
et comprendre quelles bonnes pratiques mettre en place.
Titre du module
Droit Général 1
Thème(s) abordé(s) dans le module
Sensibilisation à l'environnement juridique. Comprendre et utiliser les textes et documents juridiques.
Titre du module
Santé et Sécurité au Travail
Thème(s) abordé(s) dans le module
Au-delà de la sensibilisation des étudiants à la santé et sécurité au travail, c’est une transformation des
comportements qui est visée. L’objectif de formation pour l’apprenant pourrait être libellé comme suit :
« Je connais mes responsabilités professionnelles et éthiques et je suis acteur de la prévention dans mes prises de
décisions, dans le management de mon équipe ou dans le pilotage de mes projets ».
Afin que le message de prévention prenne tout son sens auprès de ces futurs managers d’équipe et/ou de projets,
le serious game vise enfin à mettre en valeur le lien entre la performance globale d’une organisation et le
management de la santé et sécurité au travail.
comportements qui est visée. L’objectif de formation pour l’apprenant pourrait être libellé comme suit :
« Je connais mes responsabilités professionnelles et éthiques et je suis acteur de la prévention dans mes prises de
décisions, dans le management de mon équipe ou dans le pilotage de mes projets ».
Afin que le message de prévention prenne tout son sens auprès de ces futurs managers d’équipe et/ou de projets,
le serious game vise enfin à mettre en valeur le lien entre la performance globale d’une organisation et le
management de la santé et sécurité au travail.
Titre du module
Projet Professionnel
Thème(s) abordé(s) dans le module
Ce module, qui fait suite à l'atelier « semaine professionnelle », a pour objet la rédaction du projet professionnel
individuel des étudiants et l’élaboration du chemin optimal (stages, choix de majeure, etc.) pour l’atteindre.
individuel des étudiants et l’élaboration du chemin optimal (stages, choix de majeure, etc.) pour l’atteindre.
Titre du module
Electif Technique
Thème(s) abordé(s) dans le module
Module d'enseignement technique au choix de l'étudiant parmi une liste de 35 modules
Titre du module
Electif Recherche
Thème(s) abordé(s) dans le module
Module d'enseignement technique au choix de l'étudiant parmi une liste de 35 modules
Cours / Topos en synchrone (heures)
58.00
Travaux dirigés en synchrone (heures)
150.00
Nom du bloc de compétence
9594
Etape(s) concernée(s)
Phase de rattachement du bloc de compétence
Connaissances requises
Connaissances, Savoir-faire, Savoir-être abordés
Titre du module
Sécurité du développement
Thème(s) abordé(s) dans le module
Ce cours a pour but de permettre aux étudiants de connaitre le cycle de développement d’un logiciel vis à vis de la
sécurité de ce dernier. La manière dont il doit être conçu et les points de vigilance qui leur permettra d’adopter les
bonnes pratiques.
sécurité de ce dernier. La manière dont il doit être conçu et les points de vigilance qui leur permettra d’adopter les
bonnes pratiques.
Titre du module
Chiffrement et codes correcteurs
Thème(s) abordé(s) dans le module
Ce cours est une introduction à la cryptographie qui souligne les aspects mathématiques assurant le bon
fonctionnement d'un schéma de chiffrement. On s'intéresse également à la sécurité théorique des algorithmes de
chiffrements à travers des algorithmes d'attaques, ce qui fera une introduction à la cryptanalyse. Les codes
correcteurs sont présentés à la fois comme moyen de préserver l'information sur un canal perturbé et comme un
ingrédient d'un algorithme de chiffrement.
On fera également un premier pas vers la cryptographie post-quantique.
fonctionnement d'un schéma de chiffrement. On s'intéresse également à la sécurité théorique des algorithmes de
chiffrements à travers des algorithmes d'attaques, ce qui fera une introduction à la cryptanalyse. Les codes
correcteurs sont présentés à la fois comme moyen de préserver l'information sur un canal perturbé et comme un
ingrédient d'un algorithme de chiffrement.
On fera également un premier pas vers la cryptographie post-quantique.
Titre du module
Réseau et routage
Thème(s) abordé(s) dans le module
Ce cours est la suite directe du cours NET1. Il se focalise sur les protocoles applicatifs et notamment l'usage de
protocoles de chiffrement (TLS, SSH) pour la sécurité.
protocoles de chiffrement (TLS, SSH) pour la sécurité.
Cours / Topos en synchrone (heures)
28.00
Travaux dirigés en synchrone (heures)
20.00
Travaux pratiques individuels en synchrone (heure)
50.00
Nom du bloc de compétence
9593
Etape(s) concernée(s)
Etape du parcours
Précisions sur les moyens techniques
De nombreux outils sont à disposition des étudiants dans les différentes salles informatiques du campus. De nombreux services sont hébergés dans nos datacenter et disponibles en 24/7 pour nos étudiants
Label attribué
Non
Période(s) de démarrage d’une session (promotion)
Zone géographique
Adresse
5 Rue Gustave Adolphe Hirn 67000 Strasbourg
Mois de début
Nombre minimum d’apprenants par session
42
Nombre maximum d’apprenants par session
70
Opérateur
Domaine de compétences du diplôme
Présentation générale
L’EPITA est reconnue pour ses compétences en informatique et a développé des liens avec les professionnels du secteur qui vous permettent d’être entouré tout au long de vos études par des pointures de l’informatique.
En 5 ans, vous devenez ingénieur informaticien, avec de nombreux débouchés par la suite.
Cette action correspondant au tronc commun de la formation en 3 ans pour obtenir diplôme d’ingénieur de l’EPITA avant l'action de spécialisation de fin du parcours.
En 5 ans, vous devenez ingénieur informaticien, avec de nombreux débouchés par la suite.
Cette action correspondant au tronc commun de la formation en 3 ans pour obtenir diplôme d’ingénieur de l’EPITA avant l'action de spécialisation de fin du parcours.