Cours

Cours


Cycle Niveau Semestre Module Element de module Description Compétence à acquérir
Classe préparatoire 1ère anné CPI S1 Mathématiques 1 Structures Fondamentales This course provides an understanding of the basic logic, set theory basics, relations and their applications in computer science. Studies arithmetic in Z set, polynomials, rational fractions, groups and their main properties. It includes also recurrence method, etc. * Solve equations in the set of complex numbers
*Apply the Moivre’s formula to linearize expressions
*Apply recurrence method for various mathematical problems
*Understand basics of set theory
*Understand mains characteristics of groups
*Apply the following proof techniques: proof by contradiction, proof by induction, proof by contrapositive.
Analyse 1 This course provides an understanding of the basic calculus principles. Introduces the main properties of real line. Studies limits and the convergence of numerical sequences and algebraic and transcendental functions, their limits, continuity and derivatives. It includes the fundamental theorems of calculus and studies first and second order differential equations. *Understand the main properties of the real line
* Evaluate sequence limits
*Justify the convergence of a numerical sequence
* Apply fundamental theorems of calculus
*Calculate derivatives using a variety of rules
*Solve the first and second differential equations
Algèbre 1 L’algèbre linéaire, avec ses notions simples et spectaculairement efficaces, a envahi toutes les sciences. Ce cours en donne le cadre général et établit des résultats fondamentaux de cette théorie. * Savoir Résoudre des systèmes d’équations linéaire par la méthode du pivot de Gauss.
*Reconnaitre la structure d’espace vectoriel (stabilité par combinaison linéaire, sous-espaces vectoriels)
*Maitriser les notions de famille libre, famille génératrice, base et dimension.
*Utilisation, généralisation et interprétation de l’algorithme du pivot de Gauss dans divers problèmes. En particulier dans la résolution des systèmes linéaires, l’obtention d’une base d’un espace vectoriel et le calcul de dimension.
*Savoir identifier une application linéaire.
*Maniement des matrices, calcul de déterminent, inversion de matrice par différentes méthodes.
*Savoir diagonaliser des matrices 2X2 et 3X3 (quand les espaces propres ont les bonnes dimensions).
*Faire le lien entre les systèmes linéaires, les applications linéaires et les matrices.
Physique 1 Electricité 1 •Calculer le courant et la tension dans un circuit électrique.
•Appliquer les lois de Kirchhoff pour le calcul de grandeurs électriques.
•Modéliser un réseau électrique par une source de Thévenin ou de Norton.
•Déterminer le point de fonctionnement d’un dipôle actif.
•Associer un ensemble de dipôles actifs.
•Calculer la capacité et associer un ensemble de condensateurs.
*Comprendre la constitution d’un circuit électrique de dipôles générateur ou récepteurs.
*Maîtriser et comprendre les grandeurs électriques : tension, courant, puissance et énergie.
* Appliquer les lois de nœuds, la loi des mailles, le Diviseur de tension et de courant.
*Associer plusieurs résistances et calculer leurs résistances équivalentes.
* Appliquer les théorèmes de Millman et de superposition pour le calcul de la tension et du courant.
* Modéliser un circuit électrique par une source de tension selon le théorème de Thévenin
* Modéliser un circuit électrique par une source de courant selon le théorème de Norton
Associer des dipôles actifs pour répondre à la demande énergétique d’une charge électrique.
*Choisir un condensateur ou une association de condensateurs pour stocker une quantité de charge électrique.
Mécanique * Rappels mathématiques
* Cinématique
* Dynamique
* Théorème du moment cinétique
* Travail et énergie
* Les oscillateurs mécaniques harmoniques
*Maitriser les outils mathématiques Utilisé dans la physique de base.
*Savoir manipuler les différentes coordonnés usuelles
*De se repérer dans l’espace.
* De déterminer les grandeurs cinématiques d’un mouvement dans un l’espace à 3
dimensions.
*Appliquer le Principe fondamental de la dynamique pour des mouvements complexes.
*Associer un ensemble de dipôles actifs.
* Déterminer les énergies cinétique, potentielles et mécaniques pour différents mouvements.
*Reconnaitre les forces conservatives et déterminer leurs potentiels dont elles dérivent.
*Application pour les mouvements des oscillateurs.
Informatique 1 Initiation à l'algorithmique Le cours d’initiation à l’algorithmique présente les concepts fondamentaux de l’algorithmique (définition d’un problème informatique, rôle d’un algorithme, structure d’un algorithme), les opérations et typés (notion de type, opérations arithmétiques, lecture et écriture, présentation des types), les structures de contrôle (structure conditionnelle, structures répétitives, structure sélective), les tableaux (structure et déclaration, algorithme de recherche et de tri) et les sous programmes (fonctions). *L’étudiant doit apprendre à coder les algorithmes en langage C de manière efficace. Et aussi avoir :
*La capacité à connaître la syntaxe des différentes structures de traitement et la declaration des données.
*La capacité à organiser des données en C (les tableaux, les enregistrements, les unions).
* La capacité à définir et à utiliser une fonction et les passages d'arguments par valeur et par adresse.
Initiation à l'informatique * Codage et traitement des données
* Fonctionnement et architecture matérielle des ordinateurs
* La programmation et langages
* L'architecture logicielle - logiciel de base
* L'architecture logicielle - logiciel d'application
* Représentation et codage des données
oComprendre les unités de mesure en Informatique.
oCoder les nombres en binaire.
oCoder les caractères en codage ASCII.
oEffectuer les opérations binaires : Multiplication, division, addition et soustraction.
oConvertir en Binaire, Décimal et Hexadécimal.
*Comprendre le fonctionnement et l’architecture matérielle des ordinateurs.
* Comprendre le besoin et l’évolution des langages (langage machine-langage assembleur-langage évolués), comprendre les techniques de transformation du code source (compilation et interprétation), et apprendre les notions principales de la programmation.
*Comprendre le rôle et Les composantes du système d’exploitation, et pouvoir installer et travailler avec Windows et Linux soit sur machine physique ou sur une machine virtuelle.
* Gérer les processus sur une machine, ainsi que les utilisateurs et les droits d’accès.
* Comprendre le rôle et le fonctionnement d’un système de gestion de fichiers, et pouvoir gérer les fichiers avec l'invite de commandes (commandes Ms-DOS).
* Maitriser Ms Word et Ms
Excel.
  Histoire des sciences L’objectif du cours est l’acquisition par tout étudiant, des connaissances et des compétences sur l’histoire des sciences d’une manière générale et de l’histoire d’informatique d’une manière particulière, ainsi que d’enrichir la culture générale de l’étudiant et d’améliorer et développer ses connaissances en langue française. * Connaitre et listez les racines de la révolution scientifique et déterminer -s’il y a eu une ou plusieurs révolutions.
*Décrire les différences entre les sciences fondamentales et appliquées. Expliquer comment les deux types de science sont interconnectés.
* Reconnaitre la méthode scientifique à travers l'histoire et expliquer les différences entre les hypothèses scientifiques et les lois.
* Se positionner à travers une lecture comparative d’un chercheur,
* Savoir apprécier les efforts, les travaux et les résultats des grands maîtres et des pionniers.
*Renforcer la conscience scientifique, et cetera.
S2 Mathématiques 2 Analyse 2 This course provides an understanding of Taylor expansion of numerical functions. Introduces the main properties of Riemann’s integrals. Studies limits, properties and the convergence of improper integrals. It includes the study of functions of several real variables, their limits, continuity and differentiability. *Calculate Taylor formulas of a given function
* Use Taylor expansion to calculate limits and tangent lines
* Calculate integrals of functions using a variety of rules
*Justify the convergence of an improper integral
*Evaluate improper integrals using a variety of rules
* Evaluate limits of functions of several real variables
* Calculate the first and second partial derivatives
*Calculate the Jacobian and Hessian matrix 
Algèbre 2 Dans ce cours, on montrera à l’étudiant comment on peut trouver des bases d’un espace vectoriel dans lesquelles la forme de la matrice A d’un endomorphisme f est la plus simple possible (Réduction)
On verra aussi comment généraliser de façon naturelle la géométrie traditionnelle développée par Euclide en introduisant la notion de produit scalaire et définir l’espace euclidien pour définir des bases particulières dites orthonormées.
*Savoir calculer les valeurs propres et les vecteurs propres d’un endomorphisme
* Maîtriser et comprendre le changement de bases d’une base quelconque à la base des vecteurs propres et ses applications
*Le sensibiliser à l’importance de diagonaliser une matrice A en l’appliquant par exemple aux suites numériques ou bien au calcul des puissances d’une matrice.
*Comprendre la notion de produit scalaire et distance
*Construire une base orthonormée en utilisant le procédé d’ortho normalisation de Gram- Schmidt
* Réduire un automorphisme autoadjoint.
Physique 2 Electricité 2 •Calculer les grandeurs électriques dans un circuit en régime harmonique.
•Déterminer les caractéristiques d’un transformateur en vue de l’utiliser dans une installation électrique.
•Enumérer les dispositifs de protection dans une installation électrique.
•Maitriser les risques et les conditions de sécurité électrique.
•Mesurer les grandeurs électriques : courant, tension, puissance et énergie en monophasé.
* Calculer la tension, le courant, le déphasage et la puissance dans un circuit alimenté par un courant alternatif.
* Associer plusieurs impédances complexes
* Caractériser un circuit RLC série et parallèle et en étudier la résonance.
*Evaluer le bilan de puissances dans une charge et dans une installation électrique.
*Déterminer les caractéristiques d’un transformateur en vue de l’utiliser dans une installation électrique.
* Protéger une installation contre les défauts et les surcharges électriques.
* Protéger les personnes et intervenir en cas des risques selon les normes de sécurité électrique.
Electromagnétisme * Champs magnétique
* Force et travail
* Loi de laplace dans les circuits électriques
* Flux du champs magnétique
* Théorème de Maxwell
* Forces et moments magnétiques
* Induction électromagnétique
* Force électromotrice d'induction, énergie magnétique, énergie propre, énergie d'interraction
*Savoir identifier le concept de champs électrique et magnétique.
*Savoir calculer le champ magnétique des systèmes à hautes symétries
•*Déterminer les caractéristiques de la force de Laplace.
*Décrire les phénomènes d’induction magnétique causes et effets)
*Lois de Fraday et de Lenz
* Décrire le fonctionnement et la réalisation d’un moteur électrique.
* Introduction à la compatibilité électromagnétique (CEM)
Informatique 2 Algorithmique et Programmation 1 Le cours d’algorithmique et programmation présente les concepts des types composés (tableau, structure, tri de tableau), des pointeurs (opérations sur les pointeurs, allocation mémoire, pointeurs et tableaux, structures et pointeurs, double pointeurs), des fonctions (Prototype d’une fonction, Passage de paramètres par valeur, Passage de paramètres par adresse, Décomposition d’un programme), des structures, des fichiers et de la programmation modulaire. Connaitre la syntaxe des différentes notions relatives aux tableaux.
Connaitre et utiliser les procédures/fonctions
Connaitre et manipuler les pointeurs
Connaitre et utiliser les structures
Logique combinatoire et séquentielle Le cours logique combinatoire et séquentielle  présente les concepts de la représentation de l’information (systèmes numériques, opérations arithmétiques, représentation des nombres signés, code de caractères), de la logique combinatoire (fonctions logiques de base, représentation des fonctions logiques, simplification des fonctions logiques, circuits logiques combinatoires), de la logique séquentielle (bascules, registes, compteurs) et enfin l’architecture d’un ordinateur (architecture schématique d’u ordinateur et les types de bus).    Permettre aux étudiants de pouvoir identifier et caractériser les composants d’un ordinateur, de maitriser et de simuler les notions de portes logiques (AND, NAND, OR, NOR, XOR), de fonctions, de systèmes constitués de portes logique, de multiplexage, de codage, de bascules et de compteurs synchrones et asynchrones… 
  Le numérique et la société In this module, the focus will be on understanding, analyzing and discussing the impacts of digitalization and its process on several areas, including information management, economic performance of companies as well as its impact on employment, health care and the well-being of populations. Social and individual aspects will also be treated: identity, private life and interpersonal relationships. CO1: Analyze the social and economic challenges related to digitalization;
CO2: Utilize and Interpret economic aggregates used to measure digitalization impacts.
CO3: Analyze and recognize the impact of digitalization and the technology on the society in major fields.
CO4: Debate the relationships between digitalization and the well-being of Humanity.
CO5: Analyze the impacts of digitalization on employment (job creation, destruction and transformation of jobs) ;
CO6: Discuss the digitalization externalities in terms of access to knowledge, information and education.
2ème année CPI S3 Mathématiques 3 Analyse 3 Ce cours est composé de quatres chapitres. Le premier chapitre traite les intégrales doubles et triples. Le second chapitre est consacré à l’étude de l’existence, la continuité et la dérivabilité des intégrales dependent d’un parameter. Dans le troisième chapitre on étudie la nature des séries numériques. On étudie au quatrième chapitre la convergence simple et uniforme des suites de fonctions ainsi que la continuité et la dérivabilité des séries de fonctions. Utiliser les techniques de calculs des intégrales doubles et triples pour les aires et les volumes.
Appliquer les théorèmes de continuité et dérivabilité pour les intégrales dépendent d’un paramètre.
Utiliser les critères de convergence pour prouver la convergence ou la non convergence d’une série numérique.
Prouver la convergence simple et la convergence uniforme d’une suite de fonctions.
Prouver la convergence simple, uniforme et normale d’une série de fonctions.
CO6: Utiliser les principaux théorèmes de continuité, dérivabilité et integration pour les séries de fonctions.
Analyse numérique  Ce cours a pour objectif de donner une introduction élémentaire aux méthodes de l'analyse numérique. Le cours commencera par la représentation des nombres en machine suivie d’un petit rappel sur les notions d’algèbre linéaire vu en première année.
Par la suite, nous verrons les méthodes de résolution exacte des systèmes linéaires et plus précisément la méthode de l'élimination de Gauss, la factorisation LU, PLU et la factorisation de Cholesky d’une matrice. Puis, nous introduirons les notions de dérivées partielles des fonctions de 2 ou 3 variables réelles, la dérivation des fonctions composées et la différentiabilité des fonctions de classe C1. Cela dans le but de s'attaquer à la résolution numérique de l'équation f(x)=0 en dimensions 1 et 2. Pour finir, nous rappellerons les propriétés essentielles des intégrales, l'utilisation de la formule d’intégration par partie, le changement de variable et la formule de Taylor avec reste intégrale. Cela afin d'introduire l'intégration numérique en utilisant la méthode des rectangles, des trapèzes et de Simpson. Aussi, nous verrons au passage l'intérêt de l'utilisation de l’interpolation de Lagrange dans l'intégration numérique.
Maitriser la représentation des nombres en machine (Norme IEEE 754)
Savoir résoudre numériquement un système linéaire et effectuer la décomposition LU, PLU et Cholesky d'une matrice.
Savoir effectuer des dérivées partielles des fonctions de 2 ou 3 variables réelles, la dérivation des fonctions composées et la différentiabilité des fonctions de classe C1.
Savoir résoudre numériquement l'équation f(x)=0 en dimensions 1 et 2.
Effectuer des calculs d’intégrale en utilisant la formule d’intégration par partie et le changement de variable.
Utiliser la formule de Taylor avec reste intégrale.
Utilisation de l’interpolation de Lagrange.
Savoir effectuer une intégration numérique en utilisant la méthode des rectangles, des trapèzes et de Simpson.
Physique 3 Optique  * Différents aspects de la lumière
* Modèle ondulatoire
* Modèle quantique
* Rayonnement électromagnétique
* Optique géométrique
* Lois de Descartes
* Etude de la fibre optique
 Identifier le caractère ondulatoire de la lumière
Identifier le caractère corpusculaire de la lumière
D’interpréter  le  spectre  électromagnétique  au  point  de  vu  énergie,  longeur  d’onde  et
fréquence.
Savoir les lois de la réflexion et de la réfraction.
Savoir appliques les lois de Descartes dans les cas de la propagation des signaux dans la diffraction et la propagation de la lumière.
Savoir le principe de propagation des signaux dans la fibre optique
Déterminer les caractéristiques d’une fibre optique pour la transmision des informations.
Identifier la propagation d’une onde électromagnétique (composantes, énergie et direction.
Electronique analogique A l’issue de ce cours d’électronique analogique, l’étudiant apprend les aspects théoriques et techniques des composants et des fonctions électroniques suivantes :
• Composants passifs : résistances, potentiomètres, condensateurs.
• Diodes : Semiconducteurs, diode à jonction, diode Zener, LEDs.
• Transistor bipolaire : effet transistor, types, polarisation, commutation.
• Amplificateurs opérationnels : caractéristiques, montages fondamentaux.
• Filtres analogiques : caractéristiques, types, exemples.
• Oscillateurs : structure, condition d’oscillation, exemples.
Dimensionner un composant passif dans un circuit électrique.
Caractériser une diode par le choix du type, la tenions et le courants de bon fonctionnement ainsi que ses limites techniques.
Polariser un transistor bipolaire en régime linéaire et en commutation.
Analyser les montages à Amplificateurs opérationnels en régime linéaire et non linéaire.
Proposer et Dimensionner un filtre analogique selon un gabarit déterminé.
Proposer et Dimensionner un oscillateur harmonique et à relaxation.
Concevoir un bloc analogique relatif à une fonction en utilisant des composants passifs et actifs.
Informatique 3 Architecture des ordinateurs This course provides a general understanding of the hardware organization and architecture of a computer in order to acquire a basic knowledge useful for understanding other disciplines related to computer science. An emphasis is placed in particular on the principles of data and instructions representation and on the memory and of the central processing unit functioning.
This course begins with an introduction to the architecture of computers as well as the basic concepts of this architecture, namely numerical systems, Boolean algebra and logic, combinatorial and sequential circuits. It then deals with the functional units of a computer: the processor and the concept of sequencing instructions, types of memory, performance improvement and parallelism, I/O processing and assembly language.
Identify important advances that have taken place in the history of modern computing, and discuss some of the latest trends in computing industry.
Explain computer arithmetic hardware blocks and floating point representation;
Explain the basic architecture of a computer and its main components
Explain the importance of memory hierarchy in computer design, and explain how memory design impacts overall hardware performance;
Explain how information is represented on computer and explain the process of carrying out sequential logic design;
Identify the reasons for and the consequences of the recent switch from sequential processing to parallel processing in hardware manufacture, and explain the basics of parallel programming.
Explore the interaction between the CPU - memory and I/O peripheral devices
Explain and apply a computer instruction set
Present one’s work and results in a convincing way
Systèmes d'exploitation Notions et les fondements d’un Système d’Exploitation et de pouvoir utiliser et comprendre un système d’exploitation (Windows, Linux/Unix).
Le module regroupe les notions suivantes :
• Définitions d’un Système d’exploitation
• Historique des Systèmes d’exploitation
• Classification des différents Systèmes d’exploitation
• La structure d’un système d’exploitation
• Principales composantes d’un system d’exploitation (Fichiers, processus, mémoires)
• Notion de bases sur l’architecture des ordinateurs
• La redirection des entrées/sorties
• Gestion des fichiers et des répertoires
• Gestion de l’espace disque
• Gestion des utilisateurs et modèles de contrôle d’accès
• Notion de base sur la sécurité des systèmes d’exploitation
• Ordonnancement des processus
• Synchronisation des processus
• Les expressions sur les fichiers
• Les Instructions conditionnelles
• Les variables
• Notion de bases de la programmation shell
• Organisation d’un système de fichiers.
 L’étudiant doit être capable d’utiliser les systèmes d’exploitation (Windows et Linux)
L’étudiant doit être capable de comprendre l'architecture des ordinateurs
L’étudiant doit être capable d’utiliser les commandes de bases de gestion des systèmes de fichier des systèmes d’exploitation (Windows et Linux)
L’étudiant doit être capable d’utiliser les commandes de bases de gestion des utilisateurs des systèmes d’exploitation (Windows et Linux)
L’étudiant doit être capable d’etablir une politique de sécurité pour sécuriser les systèmes d’exploitation
L’étudiant doit être capable de gérer les processus
L’étudiant doit être capable de développer des Scripts en utilisant le langage shell
Introduction aux réseaux  Cet élément de module a pour objectif d’apprendre :
• le vocabulaire nécessaire à la compréhension des réseaux de communication.
• les problèmes généraux se posant dans les réseaux de données.
• Modèle OSI
• les caractéristiques de certains réseaux de données (HDLC, Réseaux locaux, TCP/IP).
• Systèmes de transmission de données
• Les supports de transmission
• Codes pour Détection /Correction d’erreurs
• Routages et commutation des données
• Adressage reseaux
 L’étudiant doit être capable de concevoir des Réseaux informatique
L’étudiant doit être capable d’utiliser les commandes de bases de configuration des
équipements réseaux
L’étudiant doit être capable de définir des plans d’adressage adéquats des parcs informatique
L’étudiant doit être capable de configurer les protocoles de routages statiques et dynamiques
L’étudiant doit être capable d’utiliser les protocoles de commutation
TEC 2 et Management Responsabilité professionnelle L'exercice de la profession d'ingénieur fait appel aux connaissances de l'ingénieur, à son jugement professionnel et à un effort d'analyse, de conception et d'abstraction. Un ingénieur a la responsabilité, sur le plan professionnel, de suivre les exigences prescrites à sa profession par le Code des professions, la Loi sur les ingénieurs et les règlements qui s'y rapportent. En cas de manquement à ces règles, il s'expose aux sanctions disciplinaires prévues par ces textes législatifs. Le cours permettra aux étudiants de poursuivre une réflexion de base sur la responsabilité professionnelle pour une intégration des savoirs dans un contexte de travail.  Définir ce qui est la responsabilité professionnelle, l’éthique et la Déontologie.
Connaître de la responsabilité professionnelle de l’ingénieur informaticien
Savoir les implications socio-économiques de l’utilisation des technologies d'information de communication digitale.
Identifier les différentes facettes de la responsabilité en traitant des études de cas.
Analyser un contexte lié à la responsabilité professionnelle.
Nuancer entre les cas d’éthique, de déontologie pour the computing community.
S4 Mathématiques 4 Analyse 4 Ce cours est composé de trois chapitres. Le premier chapitre traite les séries entières. Le second chapitre est consacré à l’étude des séries de Fourier. Dans le troisième chapitre on étudie la transformée de Fourier. 

 Utiliser D’ Alembert et les techniques des séries numériques pour déterminer le rayon de convergence d’une série entière.
Appliquer les théorèmes de continuité, dérivabilité  et intégrabilité pour exprimer certaines séries entières en termes de fonctions usuelles.
Utiliser le développement en séries entière dans la recherche de solutions d’une équation différentielle.
Savoir déterminer les coefficients de Fourier  d’une fonction périodique et appliquer le théorème de Dirichlet pour développer une fonction périodique en séries de Fourier. Utiliser le théorème de Dirichlet  et l’égalité de Parseval pour déterminer la valeur de certaines séries numériques.
Utiliser les principales propriétés de la transformée de Fourier d’une part pour déterminer la transformée de Fourier de  certaines fonctions et d’autre part appliquer aux calculs des intégrales .
Probabilités et statistiques This course is an introduce to probability and statistics theory. The course will focus on the notion of probability space, conditional probability and independence (Bayes). Furthermore, we will introduce the notions of random variable, expectation, variance, generating function and moments with examples of usual laws (uniform, Bernoulli, binomial, geometric, Poisson, Normal, Exponential). Finally, we will tackle inferential statistics, namely, confidence interval and hypothesis.  Compute cardinality of sets using combinatorial tools.
Understand and utilize Kolmogorov’s axioms.
Utilize the properties of independence and conditional probability to compute some probabilities
Understand the concept of random variable and distinguish between the different usual laws
Understand and compute the characteristic amounts of a law as the mean, the variance and the generating function
Evaluate the confidence interval and hypothesis test
Physique 4 Signaux et systèmes The course is divided into two parts. The first one is devoted to process and analyze the signals (sampling, quantification, conversion and Z transformer) and the second part is dedicated to study the linear continuous systems performance using the frequential and temporal analysis. Understand and apply the mathematics tools for the signal analysis.
Understand and apply the sampling, the quantification and the z transformation.
Design and calculate an Analog digital Converter and Digital analog Converter
Analyze the system properties: frequential and temporal analysis.

Electronique numérique This course presents the main technologies of logic circuits. Provides an understanding of the basic principle and the characteristics of memories. Introduces the architecture and use of programmable components. Studies the functioning of microprocessor and microcontroller.  Distinguish TTL technologies from CMOS technologies
Use datasheets to extract the characteristics of logic circuits
Identify a memory by characterizing it
Associate a memory with a given architecture
Use programmable logic device to implement a solution
Analyze the architecture of a microprocessor
Interpret assembly programs
Informatique 4 Algorithmique et Programmation 2 Présenter  les structures de données de base et leurs algorithmes, telles que les tableaux, les piles, les files, les arbres et tas binaires, les graphes. Concevoir des algorithmes itératifs et récursifs pour la résolution des problèmes
Analyser la complexité asymptotique des algorithmes
Comprendre les différentes structures de données de base et leur rôle dans la conception des algorithmes (ex. listes, piles/files, arbres binaires, graphes) ainsi que leurs implantations en langage OO
Initiation aux bases de données This course offers lecture, laboratory and tutorials to provide elements of relational algebra and relational databases. It incorporates a working introduction to commands, functions and operators used in SQL for storing, retrieving, updating and displaying data in relational databases. It also includes introductory php and java programming constructs to interact with a relational database. Explain the principals of relational algebra and write queries using relational algebra operators
Create tables in a relational database
- Explain database model with necessary primary and foreign keys
- Implement SQL CREATE statements
- Describe constraints and when they should be used
- Implement constraints when necessary
Insert, delete and update data in tables
- Implement SQL INSERT statements
- Implement SQL UPDATE and DELETE statements
Implement queries, sub-queries and joins, and use functions in queries
- Implement SQL SELECT statement with simple and compound selection criteria
- Implement SQL SELECT statements that access multiple tables (joins)
- Implement SQL SELECT sub query statements
- Implement SQL SELECT statements using GROUP BY and HAVING clauses
- Explain Boolean choices in query construction
- Implement SQL SELECT statements using string, date, and time functions
- Implement SQL SELECT using summary aggregate functions
Write simple php programs to connect and query a database
Initiation aux technologies web L'objectif principal de cet élément est de montrer aux étudiants comment développer des sites Web en se basant sur :
• La programmation HTML
• JavaScript et les feuilles de style
• PhP pour l’interrogation des bases de données.
 Comprendre les bases des langages HTML, CSS et Javascript pour les aider à construire en toute autonomie des pages web.
Maîtriser et comprendre les technologies web côté serveur et côté client
Maîtriser le développement des site web en utilisant le PHPa
Gérer les bases de données et les appliquer dans le développement web
TEC 3 et Management Connaissances d'entreprise This course essentially covers several main themes: the enterprise and its micro-economic environment, an introduction to human resources management, management tools and methods. This course covers current business, accounting, and financial issues faced by enterprises and markets in Morocco. It also addresses the major trends that characterize the Moroccan economy. Identify and discover the specifics of a company, its functionalities and its flows associated with these functions.
Understand a global vision of the company in a context of globalization.
Characterize the functions of the company and their conditions of exercise.
Analyze the influence of the environment on the company
Analyze the functions of the company.
Recognize the usefulness of integrated management systems for business activities.
Tronc Commun Ingénierie 1ère année cycle ingénieur S5 Algorithmique et Structures de Données Avancées Algorithmique et Structures de Données Avancées Ce cours vise à présenter  les structures de données avancées et leur rôle dans la conception des algorithmes ainsi leurs implantations en langage OO (C++), telles que les arbres rouge et noir, fonctions de hachage et les graphes.   - Concevoir des algorithmes pour la résolution des problèmes complexes
- Comprendre les différentes structures de données avancées
- Consolider la programmation OO pour le développement des structures de données 
S5 Accounting Information System Accounting Information System This course provides a theoretical and practical knowledge of special interest to the business community. Emphasis is placed on topics related to corporate financial accounting, managerial accounting, and trade tax accounting. The students know the fundamental concepts of accounting. Double entry accounting theory, recording procedures, worksheet techniques, financial statements. • Understand the process for recording basic and current transactions as well as year-end transactions.
•Understand the importance of accounting information systems for planning, monitoring and evaluating the activities of an organization.
•Master the basic concepts of accounting. Theory of double entry accounting, procedures for recording accounting operations
• Elaborate the financial statements.
• Develop an accounting tool on Excel.
• Estimate the cost price of a good, service or activity.
S5 Mathematical programming Mathematical programming This course provides an understanding of modelling by using mathematical programs. Introduces the main properties of linear programming. Studies integer programming and its solving algorithms (Branch and bound and cutting plane). It includes the study of non-linear programming, Lagrangian relaxation, penalty methods and gradient algorithms. •Model a problem as a linear program
•Solve a small linear program using graphical method
•Solve a linear program using primal simplex algorithm
•Solve a linear program using dual simplex algorithm
•Solve an integer program using Branch and Bound algorithm
•Calculate the lagrangian relaxation of a non-linear program
•Solve linear and integer programs using Interactive CPLEX Optimizer
• Model and solve programs using OPL CPLEX Studio
•Implement gradient algorithms using python
S5 Bases de données avancées (Advanced Databases) Bases de données avancées (Advanced Databases) This course offers lecture, laboratory, and tutorials to provide a foundation in database management and programming. It builds on the introductory course in databases and includes a review of techniques for storing, retrieving, updating, and displaying data using SQL, and topics related to functional dependency and normalization, PL/SQL, triggers, views, object relational modeling, query evaluation, storage organization and indexing, transactions processing concepts and access control. •Apply normalization techniques to database tables.
•Use the Structured Query Language (SQL) in depth;
•Explain what a database view is and when it should be used;
• Create triggers and demonstrate competency using Procedure Language PL/SQL for creating program units that use SQL;
•Create database indexes;
•Explain the concepts of object relational model;
•Explain how transactions are processed and explain access control techniques in database systems
S5 Logique pour Informatique (Computer Logic) Logique pour Informatique (Computer Logic) This course introduces formal logic basics. It defines what is a logic. Introduces the syntax and semantics of propositional logic and first order logic. Introduces logic and deduction systems properties: correctness, completeness, decidability. Introduces automated resoning: DPLL and resolution calculus for propositional logic, Gilmore procedure and Resolution calculus for first order logic. Introduces equality treatment: paramodulation and superposition calculi. Introduces logic programming: Prolog language. • Define what is a (formal) logic: its syntax, its semantics and its consequence relation.
• Define what is Propositional Logic: a particular kind of (formal) logic: its syntax, its semantics, some of its inference systems, its properties (correctness, completeness), its decidability properties
• Define First-Order Logic as a more expressive logic that propositional one: its syntax, its semantics, some of its inference systems, correctness, completeness, undecidability. Understand compactness theorem, Löwenheim–Skolem theorem, Gödel's completeness theorem, Gödel's incompleteness theorems.
• Define what is a (formal) proof and grasp some (semi-)automated proof methods used: DPLL, resolution calculus, Gilmore procedure.
• Understand equality treatment: In particular, why do we need specific calculi: Paramodulation and Superposition calculi, strategies.
• model and solve some problems using Prolog language.
S5 Advanced Networks Advanced Networks Performance of computer networks; network planning and design; simulation and modeling of computer networks using ns2, ns3 and GNS3; heterogeneous networks; MPLS; Congestion Control; QoS routing protocols; High speed local area networks namely fast Ethernet and Gigabit Ethernet, Wide area networks (X25) and Frame relay (FR). • Demonstrate an understanding of packet switching and routing technologies such as IP, ATM and Frame Relay.
•Design a network such as scalability, performance and practicality.
• Evaluate various types of networks using the simulation tools
• Demonstrate an understanding of network protocols such as OSPF, BGP, MPLS, RIP and IPv6.
•Distinguish and understand differences between the different techniques used for congestion control and resource management in networks
•Demonstrate analytical and critical thinking in problem solving. 
S5 Programmation orientée objets Programmation orientée objets Le but de ce cours est de donner aux étudiants des notions de base de la programmation orientée objets en JAVA( les principes et techniques de la programmation objet, la syntaxe de JAVA, Concrétisation des fonctions de traitement nécessaires pour la résolution d’un problème informatique, Organisation et utilisation de structures de données adaptées (liste, LinkedList) et la Gestion des erreurs en JAVA). •Maîtriser et comprendre l’utilisation des classes et des objets
•Comprendre le rôle des attributs et des méthodes dans la POO
•Comprendre le rôle de la visibilité des attributs et des méthodes en JAVA
•Maîtriser le principe d’héritage et de polymorphisme
•Comprendre le rôle des classes abstraites et des interfaces
•Maîtriser l’utilisation des structures de données dynamique en JAVA
•Comprendre la gestion des erreurs (Exceptions) en JAVA
S6 Systèmes d'Exploitation et Programmation Système Systèmes d'Exploitation et Programmation Système L’objectif de ce module est d'apprendre les principes avancés du système d’exploitation et le langage C orienté programmation système, en particulier, programmer des applications multi-processus, multi-thread, et consulter les sources du système d’exploitation (Linux).  -Concevoir et programmer des applications multi-processus et multi-threading
- Savoir intégrer les mécanismes de synchronisation dans les applications multi-threading
- Différencier entre la programmation d'applications orientées utilisateurs et la programmation orientées systèmes (orientée fonctionnement de l'ordinateur)
I- nitier les étudiants aux techniques permettant de concevoir et développer des programmes parallèles (module en S7)
S6 Financial Analysis and Reporting Financial Analysis and Reporting This course aims to prepare student to understand the business strategy and its financial implications. Equipped with accounting concepts, student would be able to discover the wonderland of financial reporting and analysis, with its variety of applications as shaped by the interaction of policy makers, management, investors, and employees. •use accounting terminology and understand to some extent accounting regulation.
•Understand the economic context of the financial reporting and the interplay between different interested parties in this process.
• Interpret trends and encounter red flags in the four financial statements.
• Distinguish the interrelation between those statements and understand their limitations.
•Understand and interpret all types of ratios related to the company’s financial position and
profitability.
•Estimate the quality of financial reporting, identify possible management practices and prepare rough adjustments and prepare the forecasted financial statements of the company, which are used in valuation.
S6 Integrated Project Integrated Project This module mainly focuses on developing software application from functional and technical design phases to the implementation of the system. Some proposals of IT application will be proposed by Instructors. Students will have access to two rooms equipped with computer equipment.  -  Design, develop, select and evaluate computer applications and systems, ensuring their reliability, safety and quality in accordance with ethical principles and current legislation and standards.
- Knowledge and apply the principles, methodology and life cycles of software engineering.
-Design and assess human-computer interfaces that guarantee accessibility and usability for Computer Systems, services and applications.
-Develop, maintain and assess software systems that satisfy all user requirements and that behave reliably and efficiently, are accessible to development and maintenance, and that comply with quality standards, applying theories, principles, methods and practice in Software Engineering.
-Prepare a functional and technical specifications document for a Computer installation complying with current standards and regulations.
-Write with precision and clarity, a report which respects the requirements of IT projects and summarizing the application realization steps.
S6 Mathematics for Engineer 2 Mathematics for Engineer 2 Operational research helps solve problems in different environments that require decisions. The module mainly focuses on exact resolution methods (for dynamic programming, transport, assignment, etc.) as well as approximate methods such as taboo research or genetic algorithms. Analysis techniques and software packages will be used to solve the problems faced by business leaders in decision-making environments. •Understand the characteristics of different types of decision-making environments and the appropriate decision-making approaches and tools to be used in each type.
•Build and solve various problems models such as Transportation Model or Assignment Model.
•Design new simple models to improve decision –making and develop critical thinking and objective analysis of decision problems.
• Implement practical cases by using operational research solvers.
S6 Génie Logiciel Avancé POO Avancée L’objectif de ce cours est d’initier les étudiants à la programmarion orientée objG29:G31et avancée utilisant le langage JAVA. Cet élément de module permettra aux étudiant de s’initier à la création des interface graphiques pour le développement des applications desktop et à la manipulation d’une base de données via la bibliothèque JDBC. •Analyser un problème du monde réel
• Développer des interfaces graphiques ergonomiques
• Gérer la persistance des données via JDBC
•Maitriser le principe de la programmation événementielle en JAVA
S6 Génie Logiciel Avancé UML Le but de ce cours est de donner aux étudiants les notions de la modélisation UML (la modélisation des vues statiques et dynamiques d'un système Informatique). •Maitriser la notion de la modélistaion.
•Comprendre les principes des diagrammes UML
• Analyser et Conceveoir un projet Informatique.
S6 Web Avancé et Développement mobile Web Avancé et Développement mobile Le but de ce cours est d’approfondir les principes et les concepts du développement mobile native, pour  Android et en développement web JEE. Ce cours est structuré en deux parties :
•Développement d’applications web avec génération de pages coté serveur et les applications riches, où le client gère dynamiquement les pages. Plus particulièrement, les étudiants seront en mesure de comprendre le concept de Modèle/Vue/Contrôleur dans le contexte des applications web dynamique, en particulier celui du monde Java/J2EE à base de Servlets et de JSP.
•La partie développement mobile sur Android.
• Développer une application mobile sous Android/web JEE
• Comprendre le fonctionnement des application mobile Android/ web JEE
• Maitriser l’utilisation de l’IDE Android Studio/IDE eclipse JEE
• Maitriser la création des interfaces graphiques adaptatives
• Maitriser l’interaction avec l’utilisateur
• Maitriser la persistance des données dans une application Android
• Savoir utiliser les services d’Android 
S6 Théorie des langages et compilation Théorie des langages et compilation Le but de cet enseignement est d’étudier et de présenter les bases de théorie des langages et de compilation. En théorie des langages seront étudiés les formalismes qui permettent de définir la syntaxe des langages informatiques: langages réguliers (automates et expressions régulières), langages hors-contexte (grammaires hors-contexte). La seconde partie du cours présente certaines techniques classiques en compilation, en particulier l’analyse lexicale et syntaxique, la vérification contextuelle et la génération de code. •Maîtriser et comprendre les bases de la théorie des langages.
•Être capable de distinguer les analyses lexicales, syntaxiques et sémantiques.
•Être capable de comprendre les analyseurs ascendants et descendants.
•Être capable de distinguer la partie Analyse de la partie Synthèse d’un compilateur.
• Connaître les techniques de génération et d’optimisation de code.
2ème année cycle ingénieur S7 Wireless and Mobile Networks Wireless and Mobile Networks The course introduce the students to the principles of  Basic communication theory; Basic coding theory; Analog and digital communications; Digital communication links Communication systems and wireless systems, the radio propagation issues, channel coding, spread spectrum, and multiple access techniques. Standards such as IS-54, AMPS, D-AMPS, GSM, IS-95, GPRS, and UMTS are presented.  • Analyze modern wireless communication systems and its infrastructures and apply concepts to design cellular systems
• Contrast mobile radio propagation and multiple access techniques in wireless communication systems.
• Design, implement, and test of wireless communication systems and its networking. Explain the different technology of cellular systems
• Explain the digital radio transmission and reception basic principles.
• Demonstrate an understanding of Satellite communications, Parameters and configurations
• Understand the concept of Spread Spectrum Determine the effect on the system design of typical schemes including CDMA.
• Identify wireless networking protocols and their effect on wireless data networks.
S7 Architectures des Systèmes et Algorithmique Distribuée Architectures des Systèmes et Algorithmique Distribuée Présentation des systèmes parallèles et distribués largement motivés aujourd’hui par l’accroissement des performances des machines connectées au réseau. En particulier, ce module traite des problèmes soulevés par les systèmes distribués et leurs applications (exclusion mutuelle, élection distribuée, algorithmes de parcours et arbre de recouvrement, gestion de données distribuées, les protocoles de transfert de données, etc.).   • Comprendre les problèmes soulevés par les systèmes distribués et leurs applications
• Concevoir des algorithmes distribués
• Développer et exécuter des algorithmes distribués en utilisant MPI
S7 Introduction à la Sécurité Informatique Introduction à la Sécurité Informatique The course provides an overview cyber-security aspects cryptography, network security, software security and malware defenses. The course gives an understanding of each of these topics while discussing the main strengths and weaknesses of each technology. During the lab sessions, students will apply the class material to launch basic cyber attacks and common defenses. • Understand various aspects of cyber-security
• Employ cyber security knowledge to launch basic attacks and defenses
• Compare the appropriateness of different technologies to different cyber security needs
• Practice configuring a stateless firewall
• Practice using a cryptographic library
• Practice configuring access control rights in Linux
• Practice using tools to identify the vulnerabilities of a machine
S7 Projet intégré Projet intégré Ce module a pour objectif de développer une Plateforme Web avec Spring Boot et Angular. C’est une première occasion pour la mise en application des différentes notions et compétences acquises après la premiere année du cycle ingénieur. Ainsi, l’étudiant fera appel aux langages de programmation JAVA, aux bases de données, aux technologies Spring boot et Angular. •Utiliser les diagrammes UML pour la modélisation de l’aspect statique et dynamique d’une plateforme Web.
•Utiliser les technologies SpringBoot et Angular pour la réalisation de la plateforme.                                                                                          •Développer des interfaces graphiques ergonomiques.
•Mise en œuvre des concepts des architectures orientées services et de génération de code.
S7 Referential and Quality Referential and Quality This course provides an understanding of the basic principles of quality based on international standards, and benchmarks of good practices for standardization and industrialization of services for better productivity and efficiency that allows structures (companies, administration …) to increase their quality level in a converged manner. It introduces the principal of System Management Quality. The course also addresses important Standards like ISO9001, ISO27000, including its characterizations and its implications on the System Management Quality. ITIL V3, COBIT5, CMMI and eSCM referential will be also covered. •Illustrate the basics of quality and the quality management system (QMS)
•Understand and employ the standard (SMQ) ISO 9001 2015
•Master and understand the security standards ISO 2700x (ISMS)
•Acquire a good knowledge of ITIL service life cycle, as well as the various related processes
•Discover advantages of COBIT governance referential
•Understand how COBIT meets the requirements of an IT governance referential
• Explore how COBIT is used with other standards and best practices
•Have the basics of CMMI and eSCM
S7 Droit Informatique et Gestion des Projets  Gestion des Projets Informatiques This course aims to provide students with the main knowledge, skills, techniques, and tools required to manage projects and become a project manager, especially in terms of scope, schedule, cost, human resources, and quality. A variety of concrete examples are provided and a set of activities (role-play simulation exercises, projects, etc.) are organized as long as this course progresses in order to illustrate challenges related to projects management and empower students with technical and soft skills. •Understand the key elements of projects management (project, project management, project manager, and project team)
•Learn and practice a set of techniques to manage the scope, schedule, cost, human resources, and quality.
•Discuss real life challenges related to project management, competitive constraints and conflicts management (role-play simulation exercises, etc).
S7 Droit Informatique et Gestion des Projets  Droit informatique Ce Cours vise à appréhender les droits et les obligations engendrés par l’outil informatique et de comprendre l’impact de l’élément légal et contractuel sur la responsabilité des utilisateurs de l’informatique. •Maîtriser les droits et les obligations nés avec l’informatique
•Avoir le sens et la portée de la responsabilité au sein de l’entreprise
• Savoir se prémunir contre les risques juridiques provoqués par l’usage de l’informatique.
S7 Introduction à l’Analyse des Données et Business Intelligence Business Intelligence The course aims at presenting Business Intelligence (BI) as a broad category of applications and technologies for gathering, storing, analyzing, sharing and providing access to data to help enterprise users make better managerial decisions.
The course consists of two parts. The first part gives an overview of the area of Business Intelligence with focus on decision analysis and decision processes. The second part is an introduction to data warehousing and BI architectures. This part of the course describes how data warehouses can be a central element in an organizations Business Intelligence solution and as such be a tool for report-generation and further analysis.
• Give a detailed account of and discuss fundamental concepts and theories within Business Intelligence
•Give a detailed account of and discuss fundamental concepts, theories and methods within data warehousing and BI architecture
•Know about how decision analysis and decision processes are carried out in businesses
•Know about the relationship of data warehouses to production and operational systems
•Create a decision support system report
•Discuss fundamental concepts and theories within Business Intelligence
•Discuss fundamental concepts and theories within data warehousing
•Critically examine a decision support system report
S7 Introduction à l’Analyse des Données et Business Intelligence Introduction to data analysis when presented with raw data and a particular question to answer from this data, students will be able to understand, visualize and ‘clean’ the data, formulate the question in statistical terms, select and implement the appropriate data analysis technique to answer the question, and statistically assess the answer. •Recognize the importance of data collection, identify limitations in data collection methods and other sources of statistical bias, and determine their implications and how they affect the scope of inference.
•Use statistical software to summarize data numerically and visually, and to perform data analysis. Have a conceptual understanding of the unified nature of statistical inference.
•Apply estimation and testing methods to analyze single variables or the relationship between two variables in order to understand natural phenomena and make data-based decisions.
•Model numerical response variables using a single explanatory variable or multiple explanatory variables in order to investigate relationships between variables.
•Interpret results correctly, effectively, and in context without relying on statistical jargon. 
Option Sécurité des Systèmes d'Information 2ème année cycle ingénieur S8  Applied Cryptography  Applied Cryptography
This course provides a deep understanding of cryptographic algorithms and how they are built.  Moreover, it covers several topics including block ciphers, stream ciphers, number theory, asymmetric cryptography, and cryptographic protocols. Also, the course covers common cryptographic pitfalls and how to avoid them
1. Get the fundamental knowledge of the cryptographical technologies
2. Understand the security properties of the cryptographical technologies
3. Describe the cryptographical technologies
4. Identify the vulnerabilities of the cryptographical technologies
5. Identify  the security properties of the cybersecurity problems
6. Apply  the cryptographical technologies for cybersecurity problems
S8 Secure Programming Secure Programming This course teaches how to develop secure applications by covering the good practices of development in the application lifecycle to avoid known vulnerabilities. In particular, the WEB application attacks and countermeasures techniques will be used to illustrate the typical survey processes. On the other hand, the course will present memory allocation strategies and the Buffer overflow as well as the protection mechanisms.    1. familiarisation  with the different aspects of memory allocation
2. Set up security mechanisms, and Be program security applications:
3. Apply WEB application audits
4. Understand the Software development process
S8 Networks Security  Networks Security This course is a further step for students to improve their skills in network security.  Moreover, the program provides
an introduction to basic security concepts, in  addition to the development of the needed skills to install, and monitor
network devises to maintain the integrity, confidentiality, and availability of data and devices. 
1. Recognize the basic concepts of computer
security
2. Analyze the risks to computer networks and
information systems
3. Configure  network equipment following safety
guidelines,  good practice,  and establish adequate security policies
4. Secure networks with adequate protection
mechanisms and safety equipment
5. Build appropriate network security policies
S8 Embedded system security Embedded system security This class covers the theory and practice of secure embedded systems. Students will explore security and privacy issues in deployed or emerging embedded systems, such as drones, automobiles, implantable medical devices, or household appliances. The instructor will provide lectures on a set of pre-selected
topics and students will work on a collaborative project for the duration of the semester. Each team of students will pick a topic of their interest within the scope of the class, then develop a project on a real-world security issue on embedded systems.
1. Apply fundamental security tools, processes, and ideas to the analysis and  the design of technologies systems
2. Build and debug software and hardware
implementations of various hashing and
cryptosystems
3. Explain and carry out stack-based attacks and be
knowledgeable of hardware techniques
4. Be familiar with common side-channel
analysis techniques and carry out such
attacks on embedded system/special-purpose crypto devices
5. Make use of physical properties of devices/systems and the physical layer for many  purposes as identification, authentication, and true random number generation
S8 Information Security Law Information Security Law The information security law course aims to develop the skills required to address the issues related to cybersecurity, and the understanding of national and international regulatory paradigms and their relevance concerning Cyber Law.   Moreover, this course will provide the techniques and the methods to analyze ethics and cybersecurity to produce strategies and protocols for risk assessment. 1. Evaluate policies related to cybersecurity.
2. Analyze ethics and cybersecurity via the use of an ethical framework.
3. Explore laws related to cybersecurity issues including litigation, intellectual property, and privacy.
4. Assess the impact that social factors have on law and ethics regarding cybersecurity.
5. Produce  strategies for qualitative risk assessment and plan appropriate protocols
S8 Operating System Security and Administration Operating System Security and Administration The course will focus on reviewing existing operating systems,   in addition to the basic concepts and challenges of securing them. Moreover, the subject will cover security measures and their applications. 1. Learn fundamental  concepts and methodologies of operating systems security
2. Build a  miniature corporate network by applying concepts and methodologies of administration, and securitization of operating systems. 
S8 TEC7 TEC7 This course  consiste intially of a preparation for  either the TOEFL or the TOEIC by helping  students to clearly express their thoughts and opinions in well-structured academic essays. 1. Express  thoughts and opinions in well-structured academic essays.
S8 Integrated Project
Integrated Project
This project allows students to work on an issue related to the courses of semester 8. Projects will be proposed by professors combining design aspects of security solutions, realizations, and implementations. Several types of projects will be offered. For example, some projects will consist of developing secure applications,  and others will aim to analyze the security of an information system. 1. Deepen students' knowledge by taking responsibility for managing an IT project and solving a given problem.
3ème année cycle ingénieur S9 Database and Big Data security Database and Big Data security Database security has a great impact on the design of today's information systems. This course will provide an
overview of database security concepts and techniques in addition to the discussion of new directions of database security in the
context of internet information management. Also,  The course will cover database application, security models, data auditing, XML access control, trust management,  privacy protection,  in addition to the protection of sensitive data in the big data context,  security for Hadoop, encryption, and finally anonymization of big data.
1.  Master the security architecture
2.  Learn  the principles of access control and its application to database security
3.  Practise administration of users
4.  Discuss the databases security models
5.  Master virtual private databases
6.  Master auditing in relational databases
7.  Protect sensitive data in big data and IoT ecosystems with
integrations for Hive, MapReduce...
8.  Apply innovative techniques of Encryption and AnonymizationBig
9.  Illustrate data confidentiality through,
for example, RGPD regulations
S9 Computer forensics Computer forensics The course introduces students to the techniques and tools of computer forensics investigations. It aims to
make  students familiar with the application of forensic science principles and practices to the collection,
preservation, examination, analysis, and presentation of digital evidence.
Students will receive step-by-step explanations on how to use the most popular forensic tools. Many
hands-on activities are included, which will allow students to practice skills as they are learned.
1.  Use data acquisition techniques and imaging systems applying forensic procedures
2.  Analyze corrupted Linux and Windows systems
3.  Analyze the different file systems
4.  Master the use of current computer  forensic tools
5.  Analyze infected networks
S9 Ethical Hacking and Defense Ethical Hacking and Defense  During this program, a case-study approach will be used to provide experience in investigating, analyzing, testing, hacking, and protecting real-life systems through the
development of countermeasures. Therefore,  the basic aim of this course is to provide knowledge of how illegal computer attacks can
be performed and how they can be stopped.
1. Understand how a computer attack takes place
2. Be able to simulate network attacks
3. Develop the skills to protect yourself from classic attacks
4. Become familiar with the different types of attacks
5. Be able to analyze malware
6. The student must be able to analyze infected
networks
S9 Security of Emerging Technology Security of Emerging Technology This course aims to explore security and privacy issues in wireless networks and systems such as cellular networks, wireless LANs, mobile ad hoc networks, vehicular networks, and RFID systems. Additionally,   this module covers some of the major security challenges of cloud computing,  smart grid security, internet of things security,  and software networking security. Moreover,  The course  will cover the fundamentals of SDN such as security architecture, abstractions of layers in terms of control,
data plane, and some use-cases.
1. Critique and assess the strengths and weaknesses of general cybersecurity models including the CIA triad in emerging technologies architecture
2. Appraise the interrelationships among elements that comprise a modern security system
3. Design secure information security plans for emerging technologies
4. Develop a secure solution for emerging technologies
5. Identify and contrast the most common
security issues and for emerging technologies
6. Compare and contrast logical and physical
security solution for emerging technologies
S9 Security Management Security Management The purpose of this course is to allow students to identify and prioritize threats to information assets.  Additionally, it will give students the ability to define an information security strategy.
After completing the course, students will be able to plan a response to intruders in an information system, and also describe legal and public relations implications of security.
1. Identify security issues related to access control, personnel decisions, and qualifications of
security personnel
2. Identify types of attacks and problems that occur when systems are not properly protected
3. Explain integral parts of overall good information security practices
4. Describe the need for and development of information security policies, and identify guidelines
and models for writing policies
5. Describe the types of contingency plans and the steps involved in developing each information security policy
6. Analyze risk management and explain why it is an  important component of  information security strategy
7. Apply methods, tools, and techniques for mitigating threats
S9 Tec8 Tec8 Validation of TOEFL or TOEIC certifications (a minimum score will be required)  
S9 R&D Project  R&D Project  The R&D project is a period of practical simulation carried out in an academic environment. This interaction allows students to broaden their knowledge, develop their personalities and
their skills, and to ensure a smooth transition from the university environment to the final project study program (PFE) planned for semester 10.
1. Develop the ability to adapt to an academic environment.
2. Extend the concept of engagement and develop a work ethic.
3. Analyze real issues based on a methodology,
4. Possibly propose solutions and set up action plans.
  S10 PFE PFE The PFE is a period of practical simulation carried in a research or industrial environment. Additionally, it allows the knowledge acquired during the university course to be applied in a professional environment. 1. Develop the ability to adapt to an environment different from the university
2. Develop a work ethic
3.  Analyze real issues with industrial constraints
4. Propose solutions and set up action plans
5. Execute specifications
6. Master new tools and technical environments
7. Analyze the results obtained and formulate relevant conclusions
8. Write a report
9.  Prepare and support an oral presentation
Option Ingénierie des Systèmes d'Information 2ème année cycle ingénieur S8 Software architecture & software design Software architecture The objective of this course is to understand the importance of software architecture, types of architectures and technologies allowing its implementation. At the end of the course, the student will be able to decide decide about the quality of a software architecture and to suggest changes for improvement 1- Analyze and design the architecture of a system
2- Evaluate the quality of a software architecture
3- Deploy software architectures based on JEE technology
4-  Deploy distributed software architectures
5- Deploy software architectures based on web services using various technologies
Software Design The objective of this course is to introduce the means to design quality (responsive, scalable and maintainable) computer applications. It will include the study and mastery of software models, a focus on user interface design, and the evaluation of software design quality.   1- understand and appreciate the concepts of coupling and cohesion and their impact on software design
2- Identify and program design patterns.
3- Know and recognize the problems that design patterns are intended to solve.
4- Design software architecture by selecting and justifying architecture styles and design patterns according to requirements.
5- Design architecture components using special models and new technologies
6- Evaluate the quality of a software architecture or design, and maintain it by applying changes.
S8 Machine Learning Machine Learning en commun avec Big data en commun avec Big data
S8 Software requirements and quality Software requirements and quality The aim of this course is to present modern methods, techniques and tools for software design, development and evolution. Software engineering can be characterized as the implementation of engineering principles in order to obtain, at a reasonable price, reliable and efficient software on real machines. Software engineering concerns not only the development costs, but also the maintenance and use costs throughout the life of the software. 1- Understand the importance of methodology and tools when developing software
2- Understand the role of different stakeholders in the software life cycle
3- Differentiate between life cycle and software development cycle
4- Support the client in framing their needs
5- Explain and apply the agile methodology for software development
6- Know the different tests to run to develop and validate software
7- Know the different methods of analysis and design used in the corporate world
8- Know the standards of software programming.
9- Understand the different types of application architecture
10- Know the different tools used in software validation.
S8 Formal methods and programming Formal methods and programming Introduce students to a particular specification technique, which consists of using a mathematical language (e.g., Z method, OCL) to describe the software/application to be implemented. This course presents the principles of formal methods and how to use mathematics (e.g. set theory, predicate logic) to design and if possible implement computer systems. Moreover, it sheds the light on  techniques for validating and verifying certain properties (safety).  1- Understand the specification and design issues in software engineering (e.g. Merize,UML, ...)
2-  Specify using mathematical tools and verify certain properties (e.g. safety)
3- Develop applications using OO Eiffel and formal concepts
S8 Management d’Equipe et Jex d’Entreprise Management d’Equipe et Jex d’Entreprise The goal of this course is to give students notions in project team management. This course provides the notions of  Management: techniques and processes, Hierarchical vs. transversal management, Leading change and managing planned and unplanned conflicts
Exchanging with shareholders, Overcoming failures, Helping the student to understand all the actors involved in the project and to know how to turn the game in his favor. The case of the IT project team will be discussed.
1- Take into account the human dimension of projects
2- To be recognized in the role of project leader or team member
3- Adapt your management style
4- Motivate to act
5- Facilitating the work of the group
6- Managing change and conflict
7- Understanding business games
S8 TEC & professionalisation 1 Profesionalisation I In this module, students work on a project over a period of time from February to June. Each project involves a small group of students (between 2 and 3) who form a semi-autonomous team of computer scientists. The projects are supervised by a person in charge in the company/Labo (the internship supervisor) and by a teacher. The subjects proposed by the company/lab are often quite independent of the company's own projects. Ideally, this translates into a topic that the company/lab does not have the time or the possibility to integrate directly into its own internal projects.  1- Introduce students to the search for internships and to work on a project proposed by a laboratory/company.
2- to make students aware of research and development work that can be carried out within a study and research structure
Employability 1 The purpose of this course is to allow students to develop the necessary skills for an active search for an internship or a job while respecting a coherent approach. 1 - Understand and analyze the job market using statistics and aggregates.
2 - Evaluate the professional project using the analysis of competences and economic reality.
3 - Utilize the Job search techniques to identify real internship opportunities to seize.
4 - Apply and practice a correct methodology to write application’s documents
3ème année cycle ingénieur S9 IoT and Cloud Computing Applications IoT and Cloud Computing Applications Introduce students to the development of IoT applications with the use of Cloud infrastructures. In particular, it is about providing and showing students how to use and integrate the various recent technologies for the development of IoT applications, i.e. from data collection to data processing (e.g. machine learning).   1- Design IoT applications
2 - Understand the use of the different components of IoT applications
3 - Consolidate their knowledge of embedded programming for the development of IoT applications
S9 Advanced Financial Management Advanced Financial Management This course will explain financial tools and techniques, which can be used to help businesses maximize value by improving decisions around capital budgeting, capital structure, and working capital management.  1 - Contribute to analyze and manage the financing of a business investment project..
2 - Contribute to plan and control budgets as well as measure the performance of business activities.
3 - Use budget management as a management tool for the organization.
S9 Software Engineering Management Software Project Management The course provides an in depth examination of project management principles and modern software project management practices in project development. In this course, both generally applicable principles and software-specific principles will be investigated including framework and thoughts for planning, executing and controlling software development projects.  1- give a detailed account of and discuss fundamental concepts and theories within software project management
2- know about approaches for managing and optimizing the software development process
3- : know about the efficient techniques for managing each phase of the systems development life cycle
4- apply project management techniques to real-world project
5-  apply different techniques in monitoring and control of project and people
6- critically examine and evaluate project management standard, tools, managing contracts and software quality
S9 Software  Professional Practice This course covers professional practices in business and introduce students to the dynamics and psychology of groups. The course also addresses the issue of professional and ethical conduct with simulations of the possible with the stakeholders involved in an IT project. 1- Understand the contribution of the Computer Engineer in the company
2- Assimilate the elements of behavior within the company
3- Knowing how to adapt to teamwork constraints in all their dimensions
4- Manage horizontal, vertical and transversal relationships within the company
S9 Software Verification and Validation Software Verification and Validation This module aims to train students in the practice of recent techniques of software testing, acceptance testing and more generally the concrete evaluation of software quality. The objective is also to introduce them to the techniques of defect prevention and correction of detected faults. 1-  Use, publish, read and understand SonarQube Dashboard
2- Create unit tests using Junit to test every parts in the source code
3- Create Integration tests to enhance the code coverage
4- Analyze Behavioral tests to map with functional concepts
5-  Understand the concepts of static vs dynamic analysis 
S9 Software Engineering Process, Models and Method Software Engineering Process The course is aimed at students in order to allow them to have advanced skills in software engineering, in particular in software process management. Different types of software processes are introduced depending on the context and the type of project. The student must be able to evaluate the software process and to determine and assess its quality. Process improvement approaches are presented in the course. The second part of the course, aims to put these concepts into practice through a case study, it is the creation of a real project by adopting an all theoretical parts. 1- Understand Software Process
2- Best IT project Management
3-  Predict accuracy for cost, time, constraints and human resources
4- Apply Good project progress metrics
5- Manage Software development
Software Engineering Methods and Models Software engineering models and methods impose structure on software engineering with the goal of making that activity systematic, repeatable, and ultimately more success-oriented. Using models provides an approach to problem solving, a notation, and procedures for model construction and analysis. Methods provide an approach to the systematic specification, design, construction, test, and verification of the end-item software and associated work products.  • Knowledge of basic SW engineering methods and practices, and their appropriate application.
• Describe software engineering layered technology and Process frame work.
• A general understanding of software process models such as the waterfall and evolutionary models.
• Understanding of software requirements and the SRS documents.
• Describe data models, object models, context models and behavioural models.
• Understanding of different software architectural styles.
• Understanding of implementation issues such as modularity and coding standards.
• Understanding of different methods of software engineering.
S9 TEC & professionalisation 2 Employabilité 2 The purpose of this course is to enable students to better prepare themselves to approach the job market in a more efficient manner. It will provide them with the knowledge related to the methods of actively searching for an internship or a job. Particular attention will be given to the finalization of the professional project as well as to the elements constituting the application file. 1- Finalize one's professional project, thanks to the updating of one's individual knowledge and skills assessment, a few months before graduation .
2- Draw up a list of opportunities to be seized thanks to regular monitoring of the job market and its major players .
3- Perfect the writing of the curriculum vitae
4- Master the methodology of writing a cover letter
5- Practice job interviews.
Professionnalisation 2 The purpose of this course is to enable students to better prepare themselves to approach the job market in a more efficient manner. It will provide them with the knowledge related to the methods of actively searching for an internship or a job. Particular attention will be given to the finalization of the professional project as well as to the elements constituting the application file. 1. introduce students to the search for internships and to work on a project proposed by a laboratory/company
2.Be aware of research and development work that can be conducted within a study and research structure.
S10 PFE PFE The PFE is a period of practical simulation carried in a research or industrial environment. Additionally, it allows the knowledge acquired during the university course to be applied in a professional environment. 1. Develop the ability to adapt to an environment different from the university
2. Develop a work ethic
3.  Analyze real issues with industrial constraints
4. Propose solutions and set up action plans
5. Execute specifications
6. Master new tools and technical environments
7. Analyze the results obtained and formulate relevant conclusions
8. Write a report
9.  Prepare and support an oral presentation
Option Big Data & Intelligence Artificielle 2ème année cycle ingénieur S8 Integrated Project
Integrated Project The integrated project aims to deepen students' knowledge by taking responsibility for managing an IT project and solving a given problem.
This module allows students to work on a problem that affects the modules of semester 8.
The proposed projects consist in developing Big Data applications. These projects could be designed using Big Data technologies such as: NoSQL, Hadoop, Spark databases.
On the other hand, machine learning techniques and data mining would be used to address a data problem; for example: Social network analysis, sentiment analysis, clustering, ..ect
1.  Ability to analyze, design, construct and maintain big data applications in a robust, secure and efficient manner,
2.  Ability to develop, maintain and assess software systems that satisfy all user requirements and that behave reliably and efficiently.
3.  Choose the most adequate paradigm and language.
4.  Applying theories, principles, methods and practice in Software Engineering
5.  Ability to learn new technologies and advanced technologies autonomously
S8 Machine Learning Machine Learning Two of the many definitions of Machine Learning (ML) are “Field of study that gives computers the ability to learn without being explicitly programmed” (Arthur Samuel, 1959) and “Any change in a system that allows it to perform better the second time on repetition of the same task or on another task drawn from the same population” (Simon, 1983). Practically this means developing computer programs that automatically improve their performance through experience. The course covers the basic concepts and techniques of both supervised and unsupervised learning from both theoretical and practical perspective. All topics are accompanied with hands-on exercises with implementations of ML algorithms on R and Python languages. 1.Apply machine learning techniques to solve regression and classification problems.
2. Critically analyze the performance of different machine learning methods.
3. Efficiently use R and Python languages to apply machine learning on real data.
S8 NoSQL Database NoSQL Database The course covers the basic concepts of NoSQL databases, and its main purpose is to familiarize students with their modes of creation, manipulation and interrogation, as well as with tools to perform such operations. Students will be able to:
- define, compare and use the four types of NoSQL databases (document, KeyValue, column and graph oriented);
- demonstrate an understanding of the detailed architecture, define objects, load data and interact with this data.
More specifically, in addition to the differences between these four types of databases and the motivations behind their development, students will be able to understand how to store data in such databases and how to formulate and execute queries for the extraction of information from the data. In this sense, in addition to the examples of the lectures, students will work on concrete examples illustrating the concepts and techniques of accessing the stored data. Also, students will be able to interact with the databases either by a direct access or by using client APIs. For all types of databases, the course lectures will be animated by demonstrations of execution of sample queries as well as complete codes of interaction with the databases in order to motivate an active involvement of the students in the corresponding tutorials and practical labs.
1. Define, compare and use the four types of NoSQL Databases
2. Demonstrate an understanding of the detailed architecture, define objects, load data, query data and performance tune Key-Value Pair NoSQL databases.
3.  Evaluate NoSQL database development tools and programming languages.
4. Perform hands-on NoSql database lab assignments that will allow students to use the four NoSQL database types via products such as Cassandra, Hadoop Hbase, MongoDB, Neo4J and Riak.Contents
S8 Visualization and Management of Spatial Data Visualization and Management of Spatial Data This course aims to provide students with an in-depth understanding of the theoretical and practical foundations related to the management and visualization of spatial data. It contains theoretical chapters related to geodetic reference systems, spatial data models, spatial databases, spatial Big Data, Spatial Data Infrastructures (SDI), spatial analysis, Geographic Information Systems (GIS) and Web GIS. For lab works, the ArcGIS environment (Desktop, Enterprise, Online) will be used to 1) manipulate and process geospatial data 2) implement and manage spatial databases (relational SBD, spatiotemporal DB, Spatial Big Data), 3) perform spatial analysis operations, 4) design Web GIS applications and 5) perform GIS operations on the Cloud. 1.  Identify the main components of a GIS solution.
2.  Design and query spatial databases.
3.  Perform advanced spatial analysis in GIS.
4. Create Web GIS applications.
5.  Manage and Visualize Spatial Big Data.
6. Use of cloud computing in GIS.
S8 Virtualization and cloud computing  Virtualization and cloud computing  The Cloud has become a real phenomenon to which all sectors adhere day after day. The aim of this course is therefore to allow students to familiarize themselves with this technology and the various concepts which surround it, namely:
• Virtualization and containerization,
• Types of cloud storage,
• Parallel programming,
• Web services and multi-service architectures,
• Identity management and federation,
• Online databases.
This course will also allow students to get closer to the business world and its different issues through workshops and case studies
1. Master and understand the cloud architecture,
2.  Understand the different types of cloud storage,
3.  Understand the different processing techniques in the cloud,
4. Understand and develop web services,
5. Set up, configure and customize an open source cloud,
6. Set up, configure and customize an SSO (Single Sign On).
7.  Manipulate online databases,
S8 Technologies Big Data 1 Technologies Big Data 1 The purpose of this module is to learn Big Data technologies for application development using wide ecosystem of Hadoop tools. The students should respect good practices in order to design secure and economical Big Data environments 1. Use Map Reduce paradigm
2. Establish Map reduce algorithm code using Hadoop (Use Writable Interface)
3. Establish Map Reduce streaming code using Python
4. Using Pig to perform operations on datasets
S8 Management d'équipe et jeux d'entreprise Management d'équipe et jeux d'entreprise Le but de ce cours est de donner aux étudiants des notions en management d’équipe projet. La première partie concerne les notions suivantes :
- Le Management : techniques et processus
- Les taches d’un chef de projet notamment :
• Définir le groupe projet, coordonner le travail,
• Faciliter la prise de décision
• Animer les réunions
- Management hiérarchique vs transversal
- Conduire le changement et gérer les conflits prévus et imprévus
- Echanger avec les shareholders
- Mener l’étudiant à chercher des solutions et savoir se positionner en cas de conflit organisationnel,
- Construire un processus de résolution des conflits, et les bonnes pratiques,
- Surmonter les échecs,
- Aider l’étudiant à comprendre l’ensemble des acteurs qui interviennent dans le projet et savoir détourner le jeu à sa faveur. Le cas de l’équipe projet informatique qui sera abordé.

La deuxième partie sera consacré à un jeu d’entreprise. Comme étant une pratique pédagogique innovante qui se base sur des mises en situations qui stimule l’étudiant à mobiliser ses compétences humaines et managerielles, innées et acquises, afin de prendre la bonne décision au bon timing.
1. Prendre en compte la dimension humaine des projets
2. Etre reconnu dans le rôle de chef de projet ou membre d’une équipe
3. Adapter son style de management
4. Motiver à agir
5. Faciliter le travail du groupe
6. Gérer le changement et les conflits éventuels
7. Comprendre les jeux d’entreprises
S8 TEC7 TEC7 This course  consiste intially of a preparation for  either the TOEFL or the TOEIC by helping  students to clearly express their thoughts and opinions in well-structured academic essays. 1. Express  thoughts and opinions in well-structured academic essays.
3ème année cycle ingénieur S9 Deep Learning Deep Learning Deep Learning is a branch of Machine Learning where feature engineering is part of the data-driven learning process. The course covers the basic concepts and techniques of deep learning from both theoretical and practical perspective. TensorFlow is used to in the implementation of deep learning algorithms 1. Understand the limitations of conventional machine learning
2. Understand the main concepts behind deep learning
3. Implement deep learning models
4. Apply deep learning models in computer vision and natural language processing
5. Evaluate the performance of deep learning models
S9 Advanced Business Intelligence Advanced Business Intelligence The course develops advanced concepts of business intelligence (BI) as components and functionality of information systems data warehouses in the age of big data, and then applying data mining tools and analytics to gain new insights into and decision making process. It explores how business problems can be solved effectively by using operational data to create organizational operations and to set up a BI strategy. Detailed discussion of the analysis, design and implementation of systems for BI, including: the differences between types of reporting and analytics, enterprise data warehousing, data management systems, decision support systems, knowledge management systems, big data and data/text mining. Case studies are used to explore the use of application software, web tools, success and limitations of BI as well as technical and social issues. 1. give a detailed account of and discuss advanced concepts and theories within business intelligence and core IT
2. give a detailed account of and discuss advanced concepts, theories and methods within business intelligence and data predictive analytics
3. know about the concepts and theories of data warehousing in the age of big data and data mining
4. know about how to facilitate advanced problem solving using data mining and Big Data within business intelligence
5. know about how to critique BI problems, issues, and trends using predictive analysis
6: create an advanced decision support system report
7. discuss fundamental concepts and theories within advanced business intelligence
8. discuss fundamental concepts and theories within data predictive analytics and BI
9. critically examine advanced decision support system report
10. evaluate advanced data science concepts
S9 Data Economy and Big Data Entrepreneurship Data Economy Students of the Big Data master, would be brought to work on applications using data. A module through which the students acquired the skills necessary to answer these questions: To what extent can the data be used for Big Data applications without violating privacy rights? How to use free basic data (social networks, comments on news sites, etc.) to generate economic wealth?
What are the best practices to follow to set up an ethical Big Data project, and how to ensure the protection of users' private data to establish a relationship of trust and avoid any legal problem.
1. Perform oral and visual presentation skills and establish a foundation of confidence in the skills
2. Advance skills in customer development, customer validation, competitive analysis
3. Identify and secure customers, stakeholders, and team members
4.  develop and cultivate endurance. Students increase their awareness and deliberately practice the skills and disciplines necessary to increase confidence and agency;
Big Data Entrepreneurship Professionals in the BIG Data field would be invited periodically to the UIR to present their company in order to inspire students in innovation and entrepreneurship. Workshops would be dedicated to the study of Big Data projects: market research, economic issues, feasibility as well as the technical details of project implementation from design to completion
S9 Big Data Technologies 2 Big Data Technologies 2   1. Understand Apache Spark and its advanced concepts (RDD, PairRDD, DAG…)
2. Master Apache Spark SQL techniques and API
3. Master Apache Spark Streaming concepts and API
4. Master Apache Spark Mlib concepts
5. Using Apache Spark with external libraries such as ElasticSearch
S9 Data Mining Data Mining Data mining aims to identify interesting patterns and associations/relationships hidden in data. These patterns and associations can be used to better understand phenomena and predict the future. This course is designed to introduce fundamental concepts and techniques of data mining, and introduce some of the parallelization methods used in big data. The students will be expected to develop a broad background in the field of data mining and develop skills to solve practical problems. The problems will be presented from various fields, such as social network analysis, e-commerce, stock market, smart city, medicine and life sciences. 1. Apply different data mining methods presented in the lectures on both simulated and real datasets from different application domains
2.  Using spark / MLlib the dataming algorithms for: associations, clustering, social network analysis...would be used on large datasets.
3. Using data mining algorithms for solving problems: Associations rules, clustering, social networks analysis
S9 Internet of things      
S9 R&D Project  R&D Project  The R&D project is a period of practical simulation carried out in an academic environment. This interaction allows students to broaden their knowledge, develop their personalities and
their skills, and to ensure a smooth transition from the university environment to the final project study program (PFE) planned for semester 10.
1. Develop the ability to adapt to an academic environment.
2. Extend the concept of engagement and develop a work ethic.
3. Analyze real issues based on a methodology,
4. Possibly propose solutions and set up action plans.
S9 IoT and Cloud Computing Applications IoT and Cloud Computing Applications Initier les étudiants au développement des applications IoT avec l’utilisation des infrastructures Cloud. Il s’agit en particulier de fournir et montrer aux étudiants comment utiliser et intégrer les différentes technologies récentes pour le développement des applications IoT, càd de la collecte jusqu’au traitement des données (ex. machine learning).   1.  Concevoir des applications IoT
2. Comprendre l’utilisation des différentes composantes des applications IoT
3. Consolider leurs connaissances en programmation embarquée pour le développement des applications IoT
S9 Employability Employability Le but de ce cours est de permettre aux étudiants de mieux se préparer pour approcher le marché de travail de manière plus efficiente. Il leur permettra de disposer des connaissances liées aux méthodes de la recherche active d’un stage ou un emploi. Une attention particulière serait donnée à la finalisation du projet professionnel ainsi qu’aux éléments constituant le dossier de candidature. 1 . Finaliser son projet professionnel, grâce à la mise à jour de son bilan des connaissances et des compétences individuelles, quelques mois avant l’obtention de son diplôme .
2 .Dresser la liste des opportunités à saisir grâce à une veille régulière du marché de l’emploi et de ses grands acteurs .
3 .Parfaire la rédaction du curriculum Vitae
4.Maîtriser la méthodologie de rédaction de la lettre de motivation
5 . S’entraîner aux entretiens d’embauche.
S10 PFE PFE The PFE is a period of practical simulation carried in a research or industrial environment. Additionally, it allows the knowledge acquired during the university course to be applied in a professional environment. 1. Develop the ability to adapt to an environment different from the university
2. Develop a work ethic
3.  Analyze real issues with industrial constraints
4. Propose solutions and set up action plans
5. Execute specifications
6. Master new tools and technical environments
7. Analyze the results obtained and formulate relevant conclusions
8. Write a report
9.  Prepare and support an oral presentation