
Syllabus - Ingénierie Informatique
Ce cours permet de comprendre les principes de base du calcul. Il introduit les principales propriétés des droites réelles. Il étudie les limites et la convergence des suites numériques et des fonctions algébriques et transcendantes, leurs limites, leur continuité et leurs dérivées. Il inclut les théorèmes fondamentaux du calcul et étudie les équations différentielles du premier et du
second ordre.
Ce cours permet de comprendre la logique de base, les fondements de la théorie des ensembles, les relations et leurs applications en informatique. Il étudie l'arithmétique dans les ensembles Z, les polynômes, les fractions rationnelles, les groupes et leurs principales propriétés. Il comprend également la méthode de récurrence, etc.
Ce cours fournit les bases de l'algèbre linéaire, étudie le concept des
espaces vectoriels, des transformations linéaires, des matrices et des
systèmes d'équations linéaires. Le cours présente une base théorique
pour certains algorithmes de résolution de systèmes d'équations
linéaires et le calcul des puissances de certaines matrices carrées et
la recherche de l'inverse de celles qui sont inversibles dans des cas
particuliers.
second ordre.
Ce cours traite des grandeurs électriques : tension, courant, résistance, puissance et énergie et de leur calcul dans un circuit électrique par l'application des lois de Kirchhoff : loi d'Ohm, loi des mailles et loi des nœuds. Les théorèmes utiles en calcul tels que le théorème de superposition, les modèles de Millmann et de Thévenin seront discutés et appliqués dans l'association de dipôles passifs et actifs.
Ce cours présente une vue d'ensemble des concepts de base de la mécanique du point matériel en utilisant les outils mathématiques nécessaires pour comprendre les lois qui régissent tout mouvement. Il traite des différents cadres de référence et systèmes de coordonnées pour localiser un point matériel, de la cinématique du point matériel, de la cinétique du point matériel, de la dynamique du point matériel, de l'énergétique et des lois de conservation.
Le cours couvre les concepts de base de l'informatique, à savoir les composants et l'architecture matérielle des ordinateurs, les langages (binaires, d'assemblage et de haut niveau), les logiciels de base (systèmes d'exploitation) et les commandes MS-DOS, les logiciels d'application, ainsi que les relations entre les composants.
Le cours "Introduction à l'algorithmique" présente les concepts de base
de l'algorithmique tels que la définition d'un problème informatique, le
rôle d'un algorithme, la structure d'un algorithme.
Le cours d'histoire des sciences constitue une introduction aux notions liées à la philosophie scientifique et notamment à l'évolution des sciences selon les approches de Karl Popper et Thomas Kuhn essentiellement. Nous essayons d'introduire historiquement les mathématiques et aussi la physique selon les approches épistémologiques grecques de Popper et Bachelard. Nous nous concentrons également sur une introduction à l'histoire de l'informatique, de la programmation à l'intelligence artificielle. Un aperçu de la profession d'ingénieur fait l'objet de la dernière partie. *
L'objectif de ce cours est d'utiliser des adjectifs, des adverbes, de
normaliser, d'utiliser des verbes d'état et des verbes d'action dans une
phrase structurée, de pratiquer la ponctuation.
Ce cours présente les connaissances suivantes : vocabulaire, règles de
grammaire, fonctions - compétences : lecture, écoute, expression orale
et écrite
MTH-1042C Analyse II Crédit : 2
Ce cours permet de comprendre le développement de Taylor des fonctions numériques. Il introduit les principales propriétés des intégrales de Riemann. Il étudie les limites, les propriétés et la convergence des intégrales impropres. Il comprend l'étude des fonctions de plusieurs variables réelles, de leurs limites, de la continuité et de la différentiabilité.
Le premier thème introduit la notion de réduction des endomorphismes sur
les espaces vectoriels de dimension finie qui est équivalente à la
détermination si possible d'une base de l'espace vectoriel dans laquelle
la matrice de l'endomorphisme est simple (diagonale ou triangulaire). Deux applications importantes de la réduction (détermination explicite de séquences linéaires récurrentes et résolution d'équations linéaires d'ordre supérieur à coefficients constants) seront étudiées. Le deuxième thème enrichira la structure vectorielle en introduisant une structure euclidienne qui permettra de définir la longueur des vecteurs, la distance d'un vecteur à un sous- espace vectoriel, les angles, l'orthogonalité, etc.
PHY-1023C Électricité II Crédit : 3
Ce cours fournit la représentation temporelle et complexe pour effectuer le calcul des paramètres des circuits électriques à courant alternatif tels que le courant, la tension et la puissance. En outre, les composants des sources électriques et du transport de l'énergie seront étudiés. Par conséquent, l'étudiant sera capable de :
Calculer les grandeurs électriques dans un circuit en régime harmonique.
Déterminer les caractéristiques d'un transformateur en vue de son utilisation dans une installation électrique.
Énumérer les dispositifs de protection d'une installation électrique.
Contrôler les risques et les conditions de sécurité électrique.
Mesurer les grandeurs électriques : courant, tension, puissance et énergie en monophasé.
PHY-1032C Electromagnétisme Crédit : 2
Ce cours présente une vue d'ensemble des concepts de base de l'électromagnétisme, une branche de la physique qui traite de la force électromagnétique qui se produit entre les particules chargées électriquement. La force électromagnétique est l'une des quatre forces fondamentales et roduit des champs électromagnétiques tels que les champs magnétiques, les champs électriques et la lumière. C'est la raison fondamentale pour laquelle les électrons sont liés au noyau et sont responsables de la structure complète du noyau.
INF-1032C Logique combinatoire et séquentielle Crédit : 2
Le cours de logique combinatoire et séquentielle présente les concepts
de représentation de l'information (systèmes numériques, opérations
arithmétiques, représentation des nombres signés, code de caractères),
de logique combinatoire (fonctions logiques de base, représentation des
fonctions logiques, simplification des fonctions logiques, circuits
logiques combinatoires), de logique séquentielle (bascules, registres,
compteurs).
INF-1042C Algorithmique et programmation I Crédit : 2
Le cours d'algorithmique et de programmation I présente les concepts de types composés (tableau, structure, tri de tableaux), de pointeurs, de fonctions, de structures, de fichiers et de programmation modulaire à l'aide du langage de programmation C
GEN-1021C Le Numérique et la Société Crédit : 1
Le cours vise à comprendre ce qu'il faut faire avec les données numériques, leur utilisation dans un certain nombre de domaines.
Dans le secteur de la santé, dans la sphère économique et sociale, dans la démocratisation de la société, les avantages du numérique. Les inconvénients du numérique. L'utilisation vigilante
Ce cours vise à comprendre les arguments rationnels, affectifs et contraignants, les techniques de concession et de réfutation, l'expression des relations logiques.
Compréhension : articles, extraits d'œuvres littéraires, analyses,
rapports, nouvelles, matériel technique, fiches techniques, etc .
Entraînement à la lecture et à l'écoute, exercices sur les principes de
la grammaire et le glossaire Construction du vocabulaire et élaboration
d'un glossaire, acquisition et pratique du langage idiomatique,
techniques et pratique de l'écriture créative et professionnelle.
MTH-2063C Analyse III Crédit : 3
Ce cours vise à maîtriser le calcul des intégrales doubles et triples, ainsi que leurs applications au calcul des surfaces et des volumes. Le cours traite également de la continuité et de la différentiabilité des intégrales d'un paramètre. La dernière partie est consacrée aux critères de convergence des séries numériques, ainsi qu'aux séries de fonctions.
Au cours des différents modules de la première année des classes préparatoires intégrées, les étudiants ont acquis un bagage théorique important en algèbre et en analyse. Ce cours vise à leur permettre non seulement de mettre en pratique ces connaissances mais aussi de les mettre en œuvre par l'utilisation d'approximations dans la résolution de certains problèmes.
PHY-2042C Électronique analogique Crédit : 2
Ce cours présente le fonctionnement et les caractéristiques des diodes et des transistors nécessaires à la conception des fonctions analogiques. Introduction à la polarisation des transistors bipolaires en mode linéaire et en commutation. Etude des amplificateurs opérationnels en mode linéaire et non linéaire.
Analyse et dimensionnement des ateurs harmoniques et de relaxation.
Maîtriser le principe des systèmes optiques centrés et comprendre les
phénomènes ondulatoires. - Maîtriser la formation des images obtenues
par des systèmes optiques simples, plans et centrés, avec une extension
aux systèmes optiques complexes tels que les instruments. - Comprendre
le caractère non dispersif des ondes progressives monochromatiques
solutions d'une équation d'onde classique, et savoir traiter le cas des
ondes dispersives régies par une équation aux dérivées partielles. -
Étude des différents types de fibres optiques, de leurs propriétés, de
leurs caractéristiques, de leurs performances et de leurs domaines
d'application en ingénierie.
INF-2052C Architecture des ordinateurs Crédit : 2
Le contenu de ce cours vise à Comprendre les fondements logiques de l'informatique comprendre le fonctionnement des ordinateurs, analyser les caractéristiques des architectures informatiques et, bien sûr, maîtriser la programmation en langage assembleur.
INF-2062C Introduction aux réseaux informatiques Crédit : 2
Le cours permet de bien comprendre les principaux éléments qui fonctionnent ensemble pour former l'Internet. Vous aurez acquis une certaine familiarité avec les outils de diagnostic standard, le développement d'applications de réseau et les conceptions et configurations de réseau typiques. En outre, vous aurez eu un aperçu des concepts de réseaux plus avancés et des directions de recherche.
INF-2072C Introduction aux systèmes d'exploitation Crédit : 2
Le cours comprendra une introduction au fonctionnement interne des systèmes d'exploitation modernes. En particulier, le cours couvrira les processus et les threads, l'exclusion mutuelle, l'ordonnancement du processeur, la gestion de la mémoire, les systèmes de fichiers, la programmation shell et la communication inter-processus.
GEN-2031C Responsabilité professionnelle Crédit : 1
Le rôle du cours d'introduction à la responsabilité est de sensibiliser les étudiants aux attentes de la profession. Dans le cadre d'un service où la responsabilité individuelle et collective est souvent engagée. Elle s'accompagne d'une responsabilisation qui peut prendre plusieurs formes : Une forme civique, une forme morale, une forme civile et une forme pénale.
Le cours de français proposé en 2ème année vise à consolider la pratique fondamentale des règles de grammaire, de syntaxe et d'orthographe tant à l'oral qu'à l'écrit.
L'objectif de ce cours est de donner aux étudiants les outils nécessaires à l'analyse. Le cours comporte quatre parties : séries entières, séries de Fourier, transformée de Fourier et application des transformées de Fourier
Ce cours est une introduction à la théorie des probabilités et des statistiques. Le cours se concentre sur la notion d'espace de probabilité, de probabilité conditionnelle et d'indépendance (Bayes). De plus, nous introduisons les notions de variable aléatoire, d'espérance, de variance, de onction génératrice et de moments avec des exemples de lois usuelles (uniforme, Bernoulli, binomiale, géométrique, Poisson, Normale, Exponentielle). Enfin, nous abordons les statistiques inférentielles, à savoir l'intervalle de confiance et l'hypothèse.
Le cours est divisé en deux parties. La première est consacrée au
traitement et à l'analyse des signaux (échantillonnage, quantification,
conversion et transformateur Z) et la deuxième partie est consacrée à
l'étude des performances des systèmes linéaires continus en utilisant
l'analyse fréquentielle et temporelle.
Ce cours présente les principales technologies des circuits logiques. Il permet de comprendre le principe de base et les caractéristiques des mémoires.
Introduit l'architecture et l'utilisation des composants programmables. Etudie le fonctionnement des microprocesseurs et des microcontrôleurs.
Ce cours propose des cours magistraux, des laboratoires et des travaux
dirigés pour fournir des éléments de l'algèbre relationnelle et des
bases de données relationnelles. Il comprend une introduction pratique
aux commandes, fonctions et opérateurs utilisés dans le langage SQL pour
stocker, récupérer, mettre à jour et afficher des données dans des
bases de données relationnelles. Il comprend également une introduction
aux constructions de programmation php et java pour interagir avec une
base de données relationnelle.
Le cours "algorithmique et programmation II" vise à maîtriser les concepts avancés du langage C, notamment la complexité des algorithmes, la structure séquentielle des données, la récursivité des fonctions, l'allocation dynamique de la mémoire, la gestion des fichiers et la programmation modulaire.
Ce cours vise à aider les étudiants à comprendre les bases du HTML, du
CSS et du Javascript pour les aider à construire des pages web de
manière autonome.
Ce cours couvre essentiellement plusieurs thèmes principaux :
l'entreprise et son environnement micro-économique, une introduction à
la gestion des ressources humaines, les outils et les méthodes de
gestion. Ce cours couvre les questions commerciales, comptables et
financières actuelles auxquelles sont confrontées les entreprises et les
marchés au Maroc. Il aborde également les grandes tendances qui
caractérisent l'économie marocaine.
Ce cours vise à consolider les compétences linguistiques (B1) et à aider
les étudiants à passer au niveau B2. Pour ce faire, ils se concentrent
sur l'approfondissement de certaines notions grammaticales, lexicales et
syntaxiques, ainsi que sur l'assimilation d'expressions idiomatiques
plus complexes.
MTH-3102C Logique pour l'informatique Crédit : 2
Les objectifs généraux du cours de logique pour l'informatique sont de couvrir les fondements essentiels de la logique mathématique moderne qui sont pertinents pour l'informatique.
Outre les systèmes classiques de la logique propositionnelle et de la logique des prédicats, les nouveaux systèmes logiques utilisés en informatique, tels que la logique modale et la logique temporelle, seront considérés.
Pour ces logiques, les éléments suivants seront étudiés : la syntaxe et la sémantique, les principales propriétés algorithmiques et théoriques et les différentes techniques permettant d'examiner la satisfiabilité des formules logiques. En outre, les bases de la programmation logique seront également présentées.
MTH-3112C Programmation mathématique Crédit : 2
Ce cours permet de comprendre la modélisation à l'aide de programmes mathématiques. Il introduit les principales propriétés de la programmation linéaire. Il étudie la programmation en nombres entiers et ses algorithmes de résolution (Branch and bound et cutting plane). Il comprend l'étude de la programmation non linéaire, de la relaxation lagrangienne, des méthodes de pénalisation et des algorithmes de gradient.
Ce cours propose des cours magistraux, des laboratoires et des travaux
dirigés afin de fournir les bases de la gestion et de la programmation
des bases de données. Il s'appuie sur le cours d'introduction aux
bases de données et comprend un examen des techniques de stockage,
d'extraction, de mise à jour et d'affichage des données à l'aide du
langage SQL, ainsi que des sujets liés à la dépendance fonctionnelle et à
la normalisation, au langage PL/SQL, aux déclencheurs, aux vues, à la
modélisation relationnelle objet, à l'optimisation des requêtes, à
l'organisation du stockage et à l'indexation, aux concepts de traitement
des transactions et au contrôle d'accès.
Ce cours présente les performances des réseaux informatiques, la planification et la conception des réseaux, la simulation et la modélisation des réseaux informatiques à l'aide de ns2, ns3 et GNS3, les réseaux hétérogènes, MPLS, le contrôle de la congestion, les protocoles de routage QoS, les réseaux locaux à haut débit, à savoir Fast Ethernet et Gigabit Ethernet, les réseaux étendus (X25) et le relais de trame (FR).
INF-3132C Structures de données algorithmiques et avancées Crédit : 2
Ce cours présente des structures de données avancées et leurs algorithmes de base, tels que les arbres de recherche binaires, les tas binaires, les files d'attente prioritaires et les graphes.
L'objectif de ce cours est de donner aux étudiants une compréhension de base de la programmation orientée objet en utilisant le langage Java.
Ce cours fournit des connaissances théoriques et pratiques d'un intérêt
particulier pour la communauté des affaires. L'accent est mis sur les
sujets liés à la comptabilité financière des entreprises, à la
comptabilité managériale et à la comptabilité fiscale. Les étudiants
connaissent les concepts fondamentaux de la comptabilité. Théorie de la
comptabilité en partie double, procédures d'enregistrement, techniques
des feuilles de travail, états financiers.
Le niveau visé est B2 dans le Cadre européen commun de référence pour les langues. Les étudiants devraient être capables de rédiger des textes clairs et détaillés sur un large éventail de sujets liés à leurs intérêts.
Préparation échelonnée de S5 à S9 pour le TOEFL ou le TOEIC.
Compréhension de la lecture : Préparation à la section lecture des tests
TOEFL ou TOEIC/ Aiguiser la capacité de lecture critique des étudiants
pour mieux comprendre et analyser des textes écrits complexes sur divers
sujets liés à la science, aux affaires et aux discussions académiques.
MTH-3123C Mathématiques pour ingénieurs Crédit : 3
La recherche opérationnelle permet de résoudre des problèmes dans différents environnements qui nécessitent des décisions. Le module se concentre principalement sur les méthodes de résolution exactes (pour la programmation dynamique, le transport, l'affectation, etc.) ainsi que sur les méthodes approximatives telles que la recherche taboue ou les algorithmes génétiques. Des techniques d'analyse et des progiciels seront utilisés pour résoudre les problèmes auxquels sont confrontés les chefs d'entreprise dans des environnements décisionnels.
INF-3152C Système d'exploitation et programmation des systèmes Crédit : 2
Concepts avancés et fondements d'un système d'exploitation. L'étudiant
doit maîtriser le concept de processus et la création d'arbres de
processus, gérer l'accès aux ressources partagées entre les processus à
l'aide de mutex et de sémaphores.
Ce cours a pour but d'étudier et de présenter les bases de la théorie
des langages et de la compilation. En théorie des langages, les
formalismes permettant de définir la syntaxe des langages informatiques
seront étudiés : langages réguliers (automates et expressions
régulières), langages hors-contexte (grammaires hors- contexte). La
deuxième partie du cours présente quelques techniques classiques de
compilation, en particulier l'analyse lexicale et syntaxique, la
vérification contextuelle et la génération de code.
INF-3171C UML Crédit : 1
Ce cours permet de donner aux étudiants des notions de modélisation orientée objet, à savoir : Pourquoi modéliser, Bases d'UML et Modélisation des vues statiques et dynamiques d'un objet. système informatique.
INF-3183C Projet intégré I Crédit : 3
Ce module se concentre principalement sur le développement d'applications logicielles, depuis les phases de conception fonctionnelle et technique jusqu'à la mise en œuvre du système. Certaines propositions d'applications informatiques seront proposées par les instructeurs. Les étudiants auront accès à deux salles équipées de matériel informatique.
L'objectif de ce cours est d'initier les étudiants à la programmation orientée objet avancée en utilisant le langage JAVA. Cet élément du module introduira les étudiants à la création d'interfaces utilisateurs graphiques pour le développement d'applications de bureau et la manipulation d'une base de données via la bibliothèque JDBC.
INF-3202C Développement web et mobile avancé Crédit 2
Ce cours développe la capacité de programmation des étudiants pour créer
des applications web dynamiques en utilisant la technologie côté serveur
avec la connectivité de la base de données Java. Les différentes
architectures, cadres et outils Java augmenteront les capacités des
étudiants en matière de développement d'applications web. De plus, ce
cours facilite l'apprentissage en classe et en laboratoire, permettant
aux étudiants de développer leurs compétences et leur confiance en
programmation Android et de comprendre le cycle complet de développement
des applications Android, ainsi que de créer des applications Android
de manière indépendante.
Toutes les décisions financières, tant dans le secteur privé que dans le secteur public, s'appuient sur des informations comptables. Une bonne maîtrise de la comptabilité financière, ou plus largement de l'information financière, permet non seulement d'expliquer les décisions financières passées, mais aussi de lancer des actions stratégiques, fondées sur des informations financières, et de conduire l'entreprise dans de nouvelles directions. Pour comprendre l'information financière, l'étudiant doit apprendre les concepts sous- jacents qui lui permettront d'interpréter l'information financière et de prévoir les développements futurs.
COM-3111C Communication VI Crédit 1
Être capable de s'exprimer dans un texte structuré et de développer son point de vue, avoir la capacité d'écrire sur un sujet complexe et d'adopter un style détaillé.
Poursuivre la préparation du Toefl ou du Toeic.
INF-4212C Intelligence économique Crédit : 2
Le cours vise à présenter la Business Intelligence (BI) comme une vaste catégorie d'applications et de technologies permettant de collecter, de stocker, d'analyser, de partager et de fournir un accès aux données afin d'aider les utilisateurs de l'entreprise à prendre de meilleures décisions managériales. Le cours se compose de deux parties. La première partie donne un aperçu du domaine de la Business Intelligence en mettant l'accent sur l'analyse et les processus de décision. La deuxième partie est une introduction à l'entreposage de données et aux architectures de BI.
Cette partie du cours décrit comment les entrepôts de données peuvent être un élément central de la solution de Business Intelligence d'une organisation et, en tant que tel, être un outil pour la génération de rapports et l'analyse ultérieure.
Le cours couvre les concepts et les techniques de base de l'analyse des données d'un point de vue théorique et pratique. Tous les sujets sont accompagnés d'exercices pratiques avec des implémentations d'algorithmes d'analyse de données en utilisant le langage de programmation R.
Le cours présente aux étudiants les principes de la théorie de base de la communication, la théorie de base du codage, les communications analogiques et numériques, les liens de communication numérique, les systèmes de communication et les systèmes sans fil, les problèmes de propagation radio, le codage des canaux, l'étalement du spectre et les techniques d'accès multiple.
Les normes telles que IS-54, AMPS, D-AMPS, GSM, IS-95, GPRS et UMTS sont présentées.
INF-4242C Introduction à la sécurité informatique Crédit : 2
Le cours donne une vue d'ensemble des aspects de la cybersécurité : confidentialité, intégrité, disponibilité et traçabilité, afin de mettre en évidence la cryptographie, la sécurité des réseaux, la sécurité des logiciels et les défenses contre les logiciels malveillants. Le cours permet de comprendre chacun de ces sujets tout en discutant des principales forces et faiblesses de chaque technologie. Pendant les sessions de laboratoire, les étudiants appliqueront le matériel du cours pour lancer des cyber- attaques de base et des défenses communes.
INF-4252C Architecture des systèmes et algorithmes distribués Crédit : 2
Les algorithmes parallèles et distribués sont aujourd'hui largement motivés par l'augmentation des performances des machines connectées au réseau. Ces algorithmes sont principalement conçus pour fonctionner sur des architectures de systèmes distribués (c'est-à- dire des processeurs multiples), sans utiliser d'architecture de contrôle centralisée. En général, ces algorithmes (parallèles ou distribués) sont difficiles à concevoir et à analyser par rapport aux algorithmes séquentiels fonctionnant sur des processeurs uniques.
Ce module se concentre principalement sur le développement
d'applications logicielles, depuis les phases de conception
fonctionnelle et technique jusqu'à la mise en œuvre du système.
Certaines propositions d'applications informatiques seront proposées par
les instructeurs. Les étudiants auront accès à deux salles équipées de
matériel informatique.
Ce cours permet de comprendre les principes de base de la qualité en s'appuyant sur les normes internationales, et les référentiels de bonnes pratiques de normalisation et d'industrialisation des services pour une meilleure productivité et efficacité qui permet aux structures (entreprises, administration...) d'augmenter leur niveau de qualité de manière convergente. Il introduit le principe du système de gestion de la qualité. Le cours aborde également des normes importantes comme ISO9001, ISO2700x, notamment ses caractérisations et ses implications sur le Système de Management de la Qualité.
Ce cours vise également à acquérir les compétences offertes par le référentiel ITIL4 en matière de création de valeur pour les services. Il permet également de disposer des notions de base du référentiel de gouvernance CoBiT5.
Ce cours vise à sensibiliser les étudiants aux questions juridiques
liées aux technologies de l'information. Le module comprend :
Présentation du système juridique, droit de l'informatique et liberté,
protection juridique des logiciels ,propriété intellectuelle
Ce cours permet aux étudiants de se familiariser avec les principaux
concepts, méthodes et outils de la gestion de projets informatiques, en
particulier le système d'information du projet, et d'en comprendre les
enjeux. Les étudiants seront formés aux outils classiques de gestion de
projet.
COM-4131C Communication VII Crédit : 1
Dans ce cours, l'étudiant sera capable de rédiger un essai, un rapport
ou une lettre sur des sujets complexes, en adaptant le style au
destinataire.
Préparation au TOEFL ou au TOEIC (un score minimum sera exigé).
INF-4282C Apprentissage automatique Crédit : 2
L'apprentissage automatique est un domaine d'étude qui donne aux ordinateurs la capacité d'apprendre sans être explicitement programmés. En pratique, cela signifie développer des programmes informatiques qui améliorent automatiquement leurs performances grâce à l'expérience acquise. Le cours couvre les concepts et les techniques de base de l'apprentissage supervisé et non supervisé d'un point de vue théorique et pratique. Tous les sujets sont accompagnés d'exercices pratiques avec des implémentations d'algorithmes ML sur les langages R et Python.
L'objectif de ce cours est d'initier les étudiants à un aspect important
du génie logiciel, à savoir l'architecture logicielle. Les étudiants
aborderont les blocs de construction de haut niveau du logiciel en
tenant compte des principes fondamentaux de l'architecture logicielle,
de la description et des meilleures pratiques pour une conception
efficace. A la fin du cours, l'étudiant sera capable de comprendre le
rôle d'un architecte logiciel, d'évaluer la qualité d'une architecture
logicielle, et de suggérer des changements pour l'améliorer. En outre,
les étudiants mettront en pratique diverses technologies et cadres tels
que JEE, les services web, Rest api pour déployer les architectures
conçues.
Ce cours vise à introduire les moyens de concevoir des applications informatiques de qualité (réactives, évolutives et maintenables).
Le cours étudiera et maîtrisera les modèles de logiciels, se concentrera sur la conception de l'interface utilisateur et l'évaluation de la qualité de la
conception d'un logiciel.
INF-4311C Professionnalisation 1 Crédit : 1
Ce module se concentre principalement sur le développement d'applications logicielles, depuis les phases de conception fonctionnelle et technique jusqu'à la mise en œuvre du système. Certaines propositions d'applications informatiques seront proposées par les instructeurs. Les étudiants auront accès à deux salles équipées de matériel informatique.
Présenter aux étudiants une technique de spécification très spécifique, qui consiste à utiliser un langage mathématique (par exemple, la méthode Z, OCL) pour l'ingénierie et le développement de logiciels
Ce cours vise à présenter les méthodes, techniques et outils modernes pour le développement de logiciels. Le génie logiciel peut être caractérisé comme la mise en œuvre de principes d'ingénierie pour obtenir, à un prix raisonnable, des logiciels fiables et efficaces sur des machines réelles. Le génie logiciel concerne les coûts de développement et les coûts de maintenance et d'utilisation tout au long de la vie du logiciel.
Nous examinerons également les problèmes spécifiques aux grands systèmes (plus de 1 000 000 lignes de code) générés par le travail en équipe, ce qui nécessite des approches méthodologiques pour la conception, le développement et l'évolution du logiciel.
GEN-4092C Gestion d'équipe et jeux d'entreprise Crédit : 2
Dans la première partie, ce cours donne un aperçu de l'utilisation des
équipes dans les entreprises et l'industrie. Les sujets abordés
comprennent l'objectif des équipes et le processus de constitution des
équipes, la résolution des conflits, la gestion des talents et les
activités de constitution d'équipes. Le cours examinera également la
structure de base des équipes, pourquoi elles sont importantes, comment
elles sont développées, et comment elles sont gérées et évaluées.
Dans la deuxième partie, nous utilisons un jeu sérieux
d'entreprise qui permet aux étudiants d'appliquer leurs compétences
générales en matière de gestion, de marketing et de prise de décision
stratégique à une situation de gestion spécifique.
L'objectif est de préparer les étudiants à répondre aux offres d'emploi et à être recrutés.
L'accent est mis sur le décryptage du marché de l'emploi dans les technologies de l'information. Utilisation des bons outils pour la rédaction de CV et de lettres de motivation ainsi que la préparation à l'entretien.
Préparation au TOEFL ou au,TOEIC (score minimum requis).
Présenter aux étudiants les technologies IoT/Cloud et les applications émergentes potentielles dans différents domaines. En particulier, il s'agit de fournir et de montrer aux étudiants comment utiliser et intégrer diverses technologies récentes pour le développement d'applications IdO, c'est-à-dire de la collecte des données au traitement des données (par exemple, l'apprentissage automatique) et à la visualisation.
Le cours s'adresse aux étudiants afin de leur permettre d'acquérir des compétences avancées en ingénierie logicielle et en gestion des processus logiciels. Différents types de processus logiciels sont présentés en fonction du contexte et du type de projet. L'étudiant doit être capable d'évaluer le processus logiciel et de déterminer et d'évaluer sa qualité. Les approches d'amélioration des processus sont présentées dans le cours. La seconde moitié du cours vise à mettre en pratique ces concepts à travers une étude de cas, c'est-à-dire la création d'un projet réel en adoptant une
partie entièrement théorique.
Ce cours vise à présenter le processus de développement d'un projet. Il permet à l'étudiant de comprendre les étapes nécessaires au développement d'un projet informatique. En outre, il aide l'étudiant à apprendre et à pratiquer les méthodes et les outils les plus utilisés dans la gestion de projets informatiques. Il permet également à l'étudiant d'apprendre l'éthique du travail en équipe, les meilleures pratiques de suivi du développement du projet comme les méthodes Agile, l'estimation des prix, le suivi de la qualité, etc.
Ce module se concentre principalement sur le développement
d'applications logicielles, depuis les phases de conception
fonctionnelle et technique jusqu'à la mise en œuvre du système.
Certaines propositions d'applications informatiques seront proposées
par les instructeurs. Les étudiants auront accès à deux salles équipées
de matériel informatique.
Les objectifs de ce cours sont d'évaluer la théorie et la pratique de la vérification et de la validation du point de vue de l'ingénierie logicielle, de rechercher l'histoire, les principes et les techniques de vérification et de validation dans divers domaines logiciels. Il vise également à appliquer les techniques de vérification et de validation à divers artefacts logiciels tout au long du cycle de vie du développement pour les systèmes logiciels de grande et de petite taille. partie entièrement théorique.
Les objectifs de ce cours sont de donner aux étudiants une vue d'ensemble des méthodologies de gestion de projet, d'apprendre à planifier correctement un projet logiciel en utilisant les principes Agile de flexibilité et de réactivité, de s'entraîner avec des outils de planification tels que MS Project et Primavera, de travailler sur la mise en œuvre de processus de mesure, et de suivre, rapporter et contrôler un projet logiciel.
L'objectif de ce module est de permettre aux étudiants de maîtriser les activités de gestion - planification,la coordination, la mesure, le suivi, le contrôle et l'établissement de rapports - afin de garantir que les produits logiciels et les services d'ingénierie logicielle sont fournis de manière efficace aux parties prenantes. Ce cours couvre également les bonnes pratiques en matière de travail de groupe et permet aux étudiants de découvrir le monde professionnel, comment réagir face à des problèmes complexes et comment travailler avec professionnalisme tout en tenant compte de l'environnement multiculturel de l'entreprise et des partenaires impliqués dans les différents projets.
Ce cours explique les outils et techniques financiers qui peuvent être utilisés pour aider les entreprises à maximiser leur valeur en améliorant les décisions relatives à la budgétisation et à la structure du capital, ainsi qu'à la gestion du
fonds de roulement.
L'objectif est de préparer les étudiants à répondre aux offres d'emploi et à être recrutés.
L'accent est mis sur le décryptage du marché de l'emploi dans le domaine des technologies de l'information. Utilisation des bons outils pour la rédaction de CV et de lettres de motivation ainsi que la préparation à l'entretien.
Préparation au TOEFL ou au TOEIC (score minimum requis).
INF-4413C Cryptographie appliquée Crédit : 3
Ce cours sur la cryptographie appliquée permet aux étudiants d'acquérir
une compréhension approfondie de la cryptographie moderne, de son
fonctionnement et de son utilisation dans les systèmes d'information
modernes, ainsi que de la manière dont elle constitue la base des
constructions actuelles en matière de sécurité de l'information. Ce
cours permet de comprendre les algorithmes cryptographiques et la
manière dont ils sont construits. Il couvre des sujets tels que le
chiffrement par bloc, le chiffrement par flux, la théorie des nombres,
la cryptographie asymétrique et les protocoles cryptographiques. Le
cours aborde également les pièges cryptographiques les plus courants et
la manière de les éviter.
NF-4422C Sécurité et administration des systèmes d'exploitation Crédit : 2
Le cours se concentrera sur un examen des exploits existants et sur les concepts de base et les défis de la sécurisation des systèmes d'exploitation. Nous passerons ensuite aux mesures de sécurité standard qui devraient toujours être utilisées et à leurs implications en termes de facilité d'utilisation.
Les étudiants apprendront et appliqueront les concepts et méthodologies de base de la sécurité et de l'administration des systèmes d'exploitation en élaborant une politique de sécurité et des contre-mesures à partir de zéro.
Ce cours enseigne les principes fondamentaux de la programmation
sécurisée. Une discussion approfondie sur les différentes vulnérabilités
de sécurité dans les applications web sera enseignée avec des
démonstrations pratiques des concepts pendant le cours. Le cours aborde
les meilleures pratiques (par exemple, les normes de codage) et les
principes de conception pour la programmation sécurisée afin que la
sécurité puisse être intégrée au moment de la conception. En plus des
devoirs, les étudiants doivent réaliser un projet lié à ce cours. Dans
ce cours, les étudiants seront capables de déployer, d'attaquer et de
défendre des applications web modernes et des contre- mesures.
Le cours couvre la conception, l'analyse et la sécurisation des systèmes en réseau, les notions de base sur les réseaux, la cryptographie, le piratage et l'application de correctifs, les tests de pénétration et la sécurisation des systèmes en réseau à l'aide de pare-feu et d'IDS, ce qui vous préparera à exercer les fonctions d'ingénieur en cybersécurité, d'analyste de la sécurité informatique et d'analyste de la cybersécurité.
INF-4453C Sécurité des systèmes embarqués Crédit : 3
Ce cours couvre la théorie et la pratique des systèmes embarqués sécurisés.
Dans ce cours, l'étudiant devra tester ses compétences académiques et techniques. En particulier, l'étudiant devra mettre en œuvre les techniques étudiées dans les différents modules de sécurité des réseaux des systèmes d'exploitation et des applications. Le module est un travail de groupe. Ce semestre se concentrera sur l'analyse, la conception et la mise en œuvre de solutions de sécurité pour les systèmes d'information.
GEN-4132C Loi sur la sécurité de l'information Crédit : 2
Ce cours explore les lois, les pratiques industrielles et les considérations politiques relatives au développement, à la protection et à la commercialisation des logiciels, des ordinateurs et des services de technologie de l'information. L'accent est mis sur deux domaines du droit : la propriété intellectuelle et les contrats. Nous couvrons également les questions internationales et commerciales, le droit antitrust, ainsi que les sujets d'actualité, tels que les applications, le cloud, l'Internet des objets, les licences open source et la loi sur le droit d'auteur du millénaire numérique.
COM-4151C Anglais VIII Crédit : 1
Préparation au TOEFL ou au TOEIC (score minimum requis).
Ce cours est une vue d'ensemble des concepts et des techniques de sécurité des bases de données. Il permet de discuter des nouvelles orientations de la sécurité des bases de données dans le contexte de la gestion de l'information sur Internet. Les sujets couvriront les modèles de sécurité des applications de base de données, l'audit des bases de données et des données, le contrôle d'accès XML, la gestion de la confiance et la protection de la vie privée, la protection des données sensibles dans le contexte du big data, la sécurité pour Hadoop, le cryptage et l'anonymisation des big data. Ce cours est la suite des cours de cryptographie et de base de données.
Le cours couvre la sécurité des technologies émergentes telles que le cloud computing, le SDN, la sécurité des réseaux intelligents et l'IoT : - Comprendre certains des principaux défis de sécurité de l'informatique en nuage qui agissent comme un obstacle à l'adoption généralisée.
- Découvrez quelques-unes des nouvelles techniques envisagées par les scientifiques pour protéger les systèmes en nuage, ainsi que leurs avantages et inconvénients.
- Apprendre à évaluer de manière critique la littérature sur la sécurité.
Ce cours est conçu pour fournir toutes les compétences dont les étudiants ont besoin pour réussir dans le domaine de la criminalistique numérique.
Ce cours vise à introduire les méthodologies de piratage éthique. Il s'agit d'appliquer les concepts de la cybersécurité pour découvrir et signaler les vulnérabilités d'un réseau.
L'étudiant devra mettre à l'épreuve ses compétences techniques et de recherche. En particulier, l'étudiant devra développer et mettre en œuvre les techniques étudiées dans les différents axes de recherche de la sécurité informatique, des systèmes d'exploitation et des applications. Le module est un travail de groupe. Ce semestre se concentrera sur l'analyse, la conception et le développement de contre-mesures de sécurité pour les systèmes d'informatio
L'objectif de ce cours est de permettre aux étudiants d'identifier et de
hiérarchiser les actifs informationnels, d'identifier et de
hiérarchiser les menaces pesant sur les actifs informationnels et de
définir une stratégie et une architecture de sécurité de l'information. À
l'issue de ce cours, les étudiants seront en mesure de prévoir les
intrusions dans un système d'information et d'y répondre, de décrire les
implications juridiques et de relations publiques des questions de
sécurité et de vie privée, et de présenter un plan de reprise après
sinistre pour la récupération des actifs informationnels après un
incident.
Préparation au TOEFL ou au TOEIC (score minimum requis)
INF-4523C Conception du projet Crédit : 3
Le projet intégré vise à approfondir les connaissances des étudiants en
les responsabilisant dans la gestion d'un projet informatique et la
résolution d'un problème donné. Plusieurs types de projets seront
proposés. Par exemple, certains projets consisteront à analyser les
sentiments sur les réseaux sociaux.
INF-4542C Apprentissage automatique Crédit 2
L'apprentissage automatique est un domaine d'étude qui donne aux
ordinateurs la capacité d'apprendre sans être explicitement programmés.
En pratique, cela signifie développer des programmes informatiques
qui améliorent automatiquement leurs performances grâce à l'expérience
acquise. Le cours couvre les concepts et les techniques de base
de l'apprentissage supervisé et non supervisé d'un point de vue
théorique et pratique. Tous les sujets sont accompagnés d'exercices
pratiques avec des implémentations d'algorithmes ML sur les langages R
et Python.
Ce cours présente aux étudiants les concepts fondamentaux des bases de
données NoSQL, y compris leurs mécanismes de création, de manipulation
et d'interrogation. Il fournit une couverture complète des quatre
principaux types de bases de données NoSQL : document, KeyValue, colonne
et bases de données orientées graphe.
INF-4562C Visualisation et gestion des données spatiales Crédit : 2
Ce cours vise à fournir aux étudiants une compréhension approfondie des fondements théoriques et pratiques liés à la gestion et à la visualisation des données spatiales. Il contient des chapitres théoriques relatifs aux systèmes de référence géodésique, aux modèles de données spatiales, aux bases de données spatiales, à l'analyse spatiale, aux systèmes d'information géographique (SIG) et aux SIG Web. Pour les travaux pratiques, l'environnement ArcGIS (Desktop, Enterprise, Online) sera utilisé pour 1) manipuler et traiter des données géospatiales 2) implémenter et gérer des bases de données spatiales, 3) effectuer des opérations d'analyse spatiale, 4) concevoir des applications SIG Web et 5) effectuer des opérations
SIG sur SaaS.
Ce cours donne aux étudiants une vue d'ensemble du domaine de l'informatique en nuage et de la virtualisation, de ses technologies habilitantes, de ses principaux éléments constitutifs, et une expérience pratique à travers des projets utilisant des infrastructures en nuage public (Microsoft Azure)
ainsi que des hyperviseurs.
Dans la première partie, ce cours donne un aperçu de l'utilisation des équipes dans les entreprises et l'industrie. Les sujets abordés
comprennent l'objectif des équipes et le processus de constitution des équipes, la résolution des conflits, la gestion des talents et les activités de constitution d'équipes. Le cours examinera également la structure de base des équipes, pourquoi elles sont importantes, comment elles sont développées, et comment elles sont gérées et évaluées. Dans la deuxième partie, nous utilisons un jeu sérieux d'entreprise qui permet aux étudiants d'appliquer leurs compétences générales en matière de gestion, de marketing et de prise de décision stratégique à une
situation de gestion spécifique.
Préparation au TOEFL ou au TOEIC (score minimum requis).
INF-5582C Intelligence économique avancée Crédit : 2
Le cours développe des concepts avancés de business intelligence (BI) en
tant que composants et fonctionnalités des systèmes d'information et du
processus de prise de décision. Il explore la manière dont les
problèmes commerciaux peuvent être résolus efficacement en utilisant les
données opérationnelles pour créer des entrepôts de données à l'ère du
big data, puis en appliquant des outils d'exploration de données et
d'analyse pour obtenir de nouvelles informations sur les opérations
organisationnelles et pour mettre en place une stratégie de BI.
Discussion détaillée de l'analyse, de la conception et de la mise en
œuvre des systèmes de BI, y compris : les différences entre les types de
rapports et d'analyses, l'entreposage de données d'entreprise, les
systèmes de gestion de données, les systèmes d'aide à la décision, les
systèmes de gestion des connaissances, le big data et l'exploration de
données/textes. Des études de cas sont utilisées pour explorer
l'utilisation de logiciels d'application, d'outils web, le succès et les
limites de la BI ainsi que les questions techniques et sociales.
INF-5593C Projet de recherche et développement Crédit : 3
Le projet de R&D est une période d'expérience pratique réalisée dans un environnement universitaire. Le projet a pour but de permettre aux étudiants d'élargir leurs connaissances, de développer leur personnalité et leurs compétences, et d'assurer une transition en douceur entre l'environnement universitaire et le projet de fin d'études (PFE) prévu pour le semestre 10.
INF-5602C Technologies du big data II Crédit : 2
Ce cours couvre en détail le modèle de programmation de Spark, en prenant soin de comprendre comment et quand il diffère des modèles de programmation familiers, comme les collections parallèles à mémoire partagée ou les collections séquentielles en Scala. A travers des exemples pratiques en Spark et Scala, nous apprendrons quand les questions importantes liées à la distribution comme la latence et la communication réseau doivent être prises en compte et comment elles peuvent être traitées de manière adéquate pour améliorer
les performances.
L'exploration de données vise à identifier les modèles intéressants et les associations/relations cachés dans les données. Ces schémas et associations peuvent être utilisés pour mieux comprendre les phénomènes et prédire l'avenir.
L'apprentissage profond est une branche de l'apprentissage automatique
où l'ingénierie des caractéristiques fait partie du processus
d'apprentissage basé sur les données. Le cours couvre les concepts et
les techniques de base de l'apprentissage profond d'un point de vue
théorique et pratique. TensorFlow est utilisé dans l'implémentation des
algorithmes d'apprentissage profond.
Présenter aux étudiants les technologies IoT/Cloud et les applications
émergentes potentielles dans différents domaines. En particulier, il
s'agit de fournir et de montrer aux étudiants comment utiliser et
intégrer diverses technologies récentes pour le développement
d'applications IdO, c'est-à-dire de la collecte des données au
traitement des données (par exemple, l'apprentissage automatique) et à
la visualisation.
L'objectif est de préparer les étudiants à répondre aux offres d'emploi et à être recrutés.
L'accent est mis sur le décryptage du marché de l'emploi dans le domaine des technologies de l'information. Utilisation des bons outils pour la rédaction de CV et de lettres de motivation ainsi que la préparation à l'entretien.
Ce cours se compose de deux sous-cours :
Économie des données : Les étudiants du master Big Data seront amenés à travailler sur des applications utilisant des données. Grâce à ce module, les étudiants devraient acquérir les compétences nécessaires pour répondre à ces questions :
Dans quelle mesure les données peuvent-elles être utilisées pour des applications Big Data sans porter atteinte au droit à la vie privée ? Comment des données fondamentalement gratuites (réseaux sociaux, commentaires sur les sites d'information, etc.) peuvent-elles être utilisées pour générer de la richesse économique?
Quelles sont les bonnes pratiques pour mettre en place un projet Big Data éthique, et comment assurer la protection des données privées des utilisateurs pour établir une relation de confiance et éviter tout problème juridique ?
L'entrepreneuriat dans le domaine des Big Data : Des professionnels dans le domaine du BIG Data seraient invités périodiquement à l'UIR pour présenter leurs entreprises, dans le but d'inspirer les étudiants dans l'innovation et l'entreprenariat. Des ateliers seraient consacrés à l'étude de projets Big Data : études de marché, questions économiques, faisabilité, et détails techniques de la mise en œuvre du projet, de sa conception à sa réalisation.
Préparation au TOEFL ou au TOEIC (score minimum requis).
