Le programme de Baccalauréat en informatique de la science des données et de l'intelligence d'affaires (DEC-BAC) offre une formation qui permet d'améliorer la capacité des diplômés à intervenir dans les situations complexes spécifiques au contexte de la gestion des organisations. Il forme des professionnels de l'informatique aptes à maîtriser le développement de logiciel et la gestion des données d'une organisation à tous les niveaux: stockage, répartition, sécurité, manipulation, développement de systèmes d'information, visualisation et tableaux de bord, traitement statistique avancé, forage, intelligence artificielle et apprentissage machine. D'autre part, le programme permet aussi l'acquisition de connaissances en science de la gestion et de la prise de décision stratégique en entreprise pouvant faire le pont entre les analystes d'affaires qui traitent les processus organisationnels et les décideurs.
Le programme vise à former des analystes en informatique maîtrisant la science des données en étant apte à développer des outils informatiques pour l'intelligence d'affaires appliquée au domaine des organisations et de l'industrie 4.0. Il a pour but d'améliorer la capacité des étudiants à résoudre des problèmes et à intervenir dans des situations complexes. Il vise à développer la capacité à évoluer dans un environnement collaboratif et à communiquer avec les professionnels à tous les niveaux de l'entreprise : gestionnaire, analyste d'affaires, responsable marketing, etc. Il vise également à favoriser l'acquisition de connaissances en technologies de pointe.
Pour ses qualités scientifiques et techniques, le programme donne accès aux études supérieures.
Plus spécifiquement, le programme vise à:
(1)Exigences en mathématique:
Toute personne candidate devra avoir réussi, avant l'entrée dans le programme, le cours de mathématique collégial suivant:
Note :
La personne candidate qui ne satisfait pas les exigences en mathématique peut être admise au programme conditionnellement à la réussite des cours de la structure d'accueil (2).
(2) Structure d'accueil:
La personne étudiante doit d'abord passer un test diagnostique en mathématique afin de vérifier si elle possède les préalables au cours 8MAT142 - Algèbre vectorielle et matricielle.
Si le résultat obtenu au test est inférieur à 60 %, le cours 8MAT146 - Bases mathématiques pourra être prescrit.
La personne étudiante devra ensuite réussir, le cas échéant, le cours suivant:
Ce programme n'est pas contingenté.
Les modalités et les règles qui régissent l'attestation de la maîtrise du français telles que résumées ci-dessous, sont définies dans la Politique et la Procédure relative à la valorisation du français.
Règlement relatif aux exigences liées à l'admission pour les candidates et candidats dont la langue maternelle n'est pas le français
Toute candidate ou tout candidat à un programme identifié, dont la langue maternelle n'est pas le français, est tenu de se soumettre à un test de compétence en français reconnu par l'UQAC avant le début de son processus d'admission dans un programme de l'UQAC. Dès le dépôt de la demande d'admission, la preuve de réussite à ce test doit être jointe au dossier de candidature à titre de pièce constitutive. Il est à noter que les candidates et les candidats en protocole d'échange provenant d'une université partenaire et dont la langue d'enseignement est le français de même que les candidates et les candidats des Premières Nations sont exemptés de cette obligation.
Pour être considéré comme valide, le test de compétence en français doit avoir été passé dans les vingt-quatre (24) mois précédant la date du début du trimestre pour lequel la candidate ou le candidat fait une demande d'admission. La candidate ou le candidat doit obligatoirement transmettre la preuve de réussite de son test de compétence en français au Bureau du registraire lors du dépôt de sa demande d'admission comme pièce constitutive de son dossier d'admission.
Également, certaines candidates et certains candidats dont la langue maternelle n'est pas le français peuvent être exemptés de cette obligation lorsqu'ils répondent à l'une ou l'autre des exemptions prévues à la procédure ci-haut.
Règlement relatif aux exigences des compétences linguistiques de base liées à l'admission pour toutes les candidates et candidats
Toute personne soumettant une demande d'admission à un baccalauréat, à un programme de certificat ou de cycles supérieurs identifiés, ou sollicitant un grade de baccalauréat par cumul de certificats ou de mineures, doit faire la preuve qu'elle possède les compétences linguistiques de base.
Les personnes qui se retrouvent dans les situations d'exemptions définies dans la Procédure relative à la valorisation du français sont réputées avoir fait la preuve qu'elles possèdent les compétences linguistiques de base.
Selon son dossier d'admission, la candidate ou le candidat qui n'a pas cette preuve aura à suivre le cours de français identifié par l'UQAC ou encore sera soumis à la passation du test de français institutionnel, et ce, sous réserve des modalités convenues à la procédure mentionnée ci-haut.
Les candidates et candidats internationaux réguliers seront inscrits automatiquement au cours de français identifié par l'UQAC à leur premier trimestre d'inscription. Elles et ils auront l'obligation de réussir le cours pour faire la preuve de leurs compétences linguistiques de base. Seules les personnes candidates internationales régulières provenant d'un lycée français seront soumises au test de français identifié par l'UQAC.
L'admission au programme se fait aux trimestres d'automne et d'hiver .
Le programme d'études est offert à temps complet.
| Lieu d'études | Trimestre d'admission | Régime d'études | Modalité d'enseignement | Ouvert aux candidatures de l'international |
|---|---|---|---|---|
| Saguenay (campus principal) | Automne et hiver | Temps complet | Présence | Non |
En savoir plus sur les modalités d'enseignement et les parcours d'études.
L'inscription aux cours 8INF206 Projet et 8INF700 Sujet spécial nécessite l'accord de la direction de programme et les cours préalables dépendent du sujet choisi par l'étudiant ainsi que de la recommandation de l'enseignant en charge.
Pour s'inscrire aux cours Stage-projet I et II, au moins trente (30) crédits du programme doivent être réussis.
En vertu de l'article 87 du Règlement des études de premier cycle de l'UQ, les études collégiales techniques peuvent conduire à des reconnaissances d'acquis pour certains cours. Pour en savoir plus.
Le candidat qui désire obtenir une reconnaissance de ses acquis sur la base de sa formation antérieure ou de son expérience professionnelle doit faire une demande au Bureau du registraire à la suite de la confirmation de son admission (formulaire) en conformité avec la Procédure relative à la reconnaissance des acquis et des compétences.
PARTICULARITÉS POUR LE PROGRAMME:
Voir le tableau des ententes DEC-BAC.
Le PIB du secteur de l'informatique par rapport à l'économie globale ne cesse d'augmenter depuis 10 ans. Dans le dernier diagnostic sectoriel de TechnoCompétences, le comité en technologie de l'information d'Emploi Québec, on note clairement que les besoins en professionnels de l'informatique augmentent à un rythme fulgurant et beaucoup plus rapidement que dans les autres secteurs. La croissance annuelle moyenne du nombre d'emploi est de 3,6 % et on recense dans la province plus de 210 000 professionnels. Par ailleurs, le besoin en main-d'œuvre (les talents) constitue un des principaux freins identifiés à la croissance des entreprises dans les prochaines années.
Plus spécifiquement, les spécialistes de la science des données, de l'intelligence d'affaires et de l'industrie 4.0 seront parmi les métiers les plus prisés par les entreprises dans les prochaines années. Le plus récent baromètre des professions commandé par le réputé journal « Le Monde » notait qu'il s'agissait d'un des métiers les plus recherchés par les recruteurs. De son côté, le « Harvard Business Review » qualifiait ce travail comme « le métier le plus sexy du 21e siècle ». La plupart des finissants occupent un emploi à temps complet dans leur domaine de formation, emploi qu'ils ont obtenu à l'intérieur d'un délai d'un an. Le taux de placement est parmi les plus élevés pour un programme de l'UQAC.
Les bacheliers en informatique de la science des données et de l'intelligence d'affaires (DEC-BAC) ont normalement accès à des études de maîtrise dans toutes les universités, notamment à la Maîtrise en informatique de l'Université du Québec à Chicoutimi et à son Diplôme de deuxième cycle en informatique appliquée.
Ce programme comprend quatre-vingt-dix (90) crédits répartis comme suit:
| 2ECO102 | Environnement économique de l'entreprise |
| 2MAN115 | Principes de management |
| 2MAR210 | Marketing numérique et réseaux sociaux |
| 8IAR404 | Apprentissage machine pour la science des données (8PRO409) |
| 8IFG147 | Gestion de la production dans l'industrie du numérique |
| 8INF138 | Sécurité des réseaux et du Web |
| 8INF309 | Stage-projet I |
| 8INF319 | Stage-projet II |
| 8INF349 | Technologies Web avancées (8PRO128 et 8WEB101) |
| 8INF417 | Visualisation de données et interface (8PRO409) |
| 8INF427 | Informatique et industrie 4.0 (8INF428) |
| 8INF428 | Introduction à la science des données et à l'intelligence d'affaires |
| 8INF437 | Forage de données (8IAR404) |
| 8PRO409 | Outils de programmation pour la science des données |
| 8ROP530 | Recherche opérationnelle ((8PRO107) ou (8PRO409)) |
| 8STT109 | Analyse statistique des données de masse ((8GEN444) ou (8STT118)) |
| 8STT118 | Probabilité et statistique |
| 8TRD158 | Bases de données avancées (8TRD152) |
| 2DCO104 | Aspects légaux des affaires électroniques |
| 2MAN216 | Gestion des ressources humaines (2MAN115) |
| 2MAN274 | Aspect humain des organisations (2MAN115) |
| 4SOC305 | Économie politique des communications de masse |
| 7INF517 | Traitement automatique des langues |
| 8CLD201 | Environnement de déploiement des applications (8WEB101) |
| 8CLD202 | Infonuagique (8CLD201) |
| 8DJV102 | Fondements théoriques des moteurs de jeu vidéo (8PRO128) |
| 8DJV103 | Développement avancé avec des moteurs de jeu (8PRO135) |
| 8DJV104 | Programmation réseau multi-joueurs en ligne (6GEN723 et 8PRO128) |
| 8DJV105 | Design des systèmes et des mécaniques de jeux |
| 8DJV106 | Design de l'économie des jeux et monétisation |
| 8DJV107 | Prototypage de jeux avec un langage de script (8PRO107) |
| 8IAR101 | Introduction à l'intelligence artificielle (8PRO409) |
| 8IAR201 | Intelligence artificielle générative et ses applications (8PRO128) |
| 8INF206 | Projet |
| 8INF228 | Adaptation et qualité des applications (8PRO128) |
| 8INF257 | Informatique mobile (8PRO128) |
| 8INF333 | Sécurité des applications (8INF259) |
| 8INF334 | Modélisation et développement objet (8PRO128) |
| 8INF435 | Algorithmique (8INF259 et 8MAT122) |
| 8INF700 | Sujet spécial en informatique |
| 8RVL201 | Réalité virtuelle et environnements immersifs (8PRO128) |
| 8SEC201 | Cybersécurité défensive : vulnérabilités et incidents ((8WEB101) ou (6GEI466)) |
| 8SEC202 | Enquêtes numériques et cyber-intelligence ((8WEB101) ou (6GEI466)) |
DESCRIPTION DES COURS
2DCO104 Aspects légaux des affaires électroniques
Sensibiliser à l'éclatement de l'environnement légal et aux impacts engendrés par les affaires électroniques.
Évaluation des enjeux de la mondialisation des marchés; définition de la problématique des affaires électroniques. Droit international et souveraineté des États, les forums internationaux (OMC, etc.), environnement juridique et état de la situation, le contrat électronique, le télétravail, le télémarketing : liens contractuels, formation, exécution et responsabilité; propriété intellectuelle, droits d'auteur, confidentialité, gestion du risque légal, fraude, recours.
Formule pédagogique : Cours Magistral
2ECO102 Environnement économique de l'entreprise
Analyser l'impact de l'environnement économique national et mondial sur la dynamique des entreprises en tant qu'agent principal des activités de production, d'échanges et de création d'emploi. Examiner le rôle que joue le secteur entreprise en fonction des politiques fiscale et monétaire ainsi que des effets de la politique commerciale sur le plan de l'économie nationale.
Fonctions économiques fondamentales et activités de production et d'échange. Rôle des entreprises dans la formation du produit national et l'allocation des ressources. Comptabilité nationale et relations interindustrielles. Inflation, emploi et chômage. Politiques fiscales et impact sur les entreprises. Monnaie, crédit et système financier canadien. Impact de la politique monétaire sur le secteur entreprise. Commerce international et notion des avantages comparés. Concept de pôle de compétitivité. Étude de cas: analyse d'un secteur productif de l'économie du Québec ou du Canada.
Formule pédagogique : Cours Magistral
2MAN115 Principes de management
Offrir des cadres de référence permettant d'intégrer les autres notions qui seront progressivement acquises durant le programme. Plus particulièrement, familiariser avec les principales notions de base en matière de théorie administrative et introduire aux divers principes et systèmes qui régissent l'articulation, le développement et la croissance de l'entreprise. Accroître la sensibilisation face aux problèmes de management, ainsi que l'aptitude à les résoudre.
L'évolution des théories de management du 19e siècle à nos jours. L'organisation et son environnement (local, national et international). Perspectives classique et contemporaine des éléments du processus de management: planification (processus de planification, management stratégique), organisation (structure, dotation et GRH), direction (leadership, changement organisationnel) et contrôle (types et systèmes de contrôle).
Formule pédagogique : Cours Magistral
2MAN216 Gestion des ressources humaines
Offrir une vue d'ensemble de la gestion des ressources humaines et de ses pratiques afin de comprendre la contribution spécifique de la GRH à l'optimisation et au déploiement de la stratégie de l'organisation.
Évolution historique des modèles de GRH. Le rôle stratégique de la GRH. L'influence des facteurs environnementaux sur les pratiques RH. La GRH et l'organisation du travail. Les activités de dotation en personnel. L'évaluation du rendement. Le développement des compétences et la gestion des carrières. La rémunération et la reconnaissance. Les principaux aspects juridiques de la GRH. La promotion d'un milieu de travail sain et sécuritaire. Les technologies de l'information et la GRH. L'évaluation de la gestion des ressources humaines.
Préalable(s): (2MAN115)
Formule pédagogique : Cours Magistral
2MAN274 Aspect humain des organisations
Comprendre les pratiques et théories relatives aux dimensions humaines et sociales d'une organisation. Comprendre la relation individu/groupe/collègues/supérieurs en contexte de travail. Accroître les capacités d'analyse et d'interprétation des comportements des travailleurs et des groupes dans l'organisation, afin d'y arrimer avec cohérence les pratiques organisationnelles et de comprendre les impacts des décisions managériales sur les travailleurs.
Connaissance de soi en tant que travailleur, composition et compréhension des équipes de travail, relation avec l'autorité et le pouvoir, relation avec les collègues, gestion de la performance, gestion du changement organisationnel, etc.
Préalable(s): (2MAN115)
Formule pédagogique : Cours Magistral
2MAR210 Marketing numérique et réseaux sociaux
Les technologies de l'information et les médias numériques ont eu un impact prononcé sur les comportements de consommation d'une part et les modèles d'affaires organisationnels d'autre part. L'objectif principal de ce cours est de développer les compétences pratiques en marketing interactif afin de permettre de commercialiser efficacement des produits et des services par le biais des plateformes web, mobiles ainsi que les réseaux sociaux.
À l'issue de ce cours, être en mesure de réaliser un diagnostic du marketing numérique d'une organisation et être capable de mettre en œuvre des activités d'optimisation de la présence et des affaires commerciales d'une organisation selon une approche omnicanal à 360 degrés.
La stratégie web, le comportement du consommateur en ligne, la gestion du site Web et des blogs, la recherche d'informations en ligne, la gestion de la mobilité et des objets connectés, la gestion de la relation client en ligne, ainsi que les analytiques Web et mesure omnicanal.
Formule pédagogique : Cours Magistral
4SOC305 Économie politique des communications de masse
Situer l'industrie des médias par rapport à ses environnements économique, politique, socioculturel et technologique, en tenant compte des phénomènes globaux qui influencent leur évolution. Donner une vision d'ensemble tout en mettant l'accent sur les tendances et les enjeux nationaux et internationaux de l'heure.
Accent sur la dimension collective de la communication. Genèse, diffusion et contribution à la construction d'un espace public. L'industrie médiatique au Québec et au Canada. Des questions comme la mondialisation de l'économie, la gouvernance des médias (politiques gouvernementales et CRTC), la dérèglementation, la concentration des médias, le rôle des services publics, les problèmes liés à l'identité nationale et à la souveraineté culturelle, les attentes de groupes sociaux, l'économie des médias émergents (ME), le travail dans l'économie des ME, le commerce électronique, l'économie des déchets électroniques.
Formule pédagogique : Cours Magistral
7INF517 Traitement automatique des langues
Faire découvrir le domaine du traitement automatique des langues (TAL). Maitriser différentes techniques d'analyse automatique des langues. Connaitre et comprendre différentes technologies langagières telles que la traduction automatique, la synthèse de parole, la reconnaissance de parole, la correction orthographique, le dialogue personne-machine. S'initier à l'utilisation d'un environnement de programmation informatique (Perl, Python, R...) pour la fouille de textes (Text Mining).
Les fondements du TAL. Les unités linguistiques orales et écrites utilisées en TAL (diphones, n-grammes, lemmes...). Les techniques de catégorisation et d'étiquetage des séquences orales et des documents textuels; les outils d'analyse morpho-syntaxique et lexicale. Les techniques d'extraction et d'alignement automatique de séquences orales et de chaines textuelles (Dynamic Time Warping, expressions régulières, Skeleton Key, distance de Levenshtein...). Les techniques de fouille de textes (fréquences, Topic Modeling...). Quelques principes de linguistique statistique (loi de Zipf-Mandelbrot, loi de Menzerath-Altmann...).
Formule pédagogique : Cours Magistral
8CLD201 Environnement de déploiement des applications
Comprendre l'environnement de déploiement et les technologies nécessaires à la mise en service d'applications dans le nouveau contexte dématérialisé.
Introduction au concept de Cloud computing. Survol des grandes plateformes Cloud (AWS, Azure, GCP). Modèle de service (IaaS, PaaS, SaaS). Modèle de consommation (à la demande, réservé et spot). Concepts de séparation des services et leur interopérabilité (Compute, Storage, Network). Migration. Facteurs environnementaux. Monolith vs Microservice. Modèles: Event driven, Circuit breaker, Serverless, Containers, Landing zone, Stateful / Stateless. Disponibilité: RTO (Recovery Time Objective) / RPO (Recovery Point Objective), Haute-disponibilité, Sinistre. Principes et outils de l'infrastructure en tant que code (infrastructure as a code / IaaS), tels que Terraform, Azure Devops et Cloud formation. Cycle de maintenance et de développement en continu. Notions d'authentification. Identité numérique (Clients & Utilisateurs). Secrets, clef d'authentification, certificats, jetons, meilleures pratiques.
Préalable(s): (8WEB101)
Formule pédagogique : Cours Magistral
8CLD202 Infonuagique
Comprendre l'infrastructure logicielle de l'informatique en nuage et les outils technologiques qui s'y rattachent. Être apte à déployer des applications et à gérer un système en infonuagique.
Introduction au concept de conteneurs. Les technologies conteneurs (ex. Kubernetes vs Docker). Les plateformes de control plane et leur rôle (Openshift, Rancher, Tanzu, etc.). Registre de conteneurs. La gestion des images et le déploiement. Gestions des namespaces. Cycle de maintenance et développement continu (CI/CD). Gestion des politiques. Infrastructure en tant que code dans l'infonuagique avancée (IaaS). Elasticité, ccale in/out, performance et capacité, cycle de vie. IaaS Network. Restriction des flux (security group, firewalls). Privé vs publique. Balanceurs de charge (L3, L4 & L7). WAF, DNS interne vs externe, techniques de balance de charge via DNS (GSLB), NAT/PAT, Interconnexion (VPN / Peering / Connexion privé). Stockage en IaaS. File/block/objects/queue. Encryption. Persistent versus éphémère. Plateforme en tant que service (Platform as a Service - PaaS). Base de données en nuage. Type de BD (NoSQL, SQL, Datalake, ...). Modélisation en nuage. Protection des données. Réplication. Machine Learning / IA en nuage. Robots de clavardage ChatBot. Logiciel en tant que service (Software as a service -SaaS) : Serverless, API Gateway, Vault, etc.
Préalable(s): (8CLD201)
Formule pédagogique : Cours Magistral
8DJV102 Fondements théoriques des moteurs de jeu vidéo
S'initier aux différentes notions théoriques nécessaires à la programmation des moteurs de jeux vidéo. Exploration de diverses notions mathématiques à l'aide de moteurs de jeux (Unity, Unreal, etc.). Implémentation et utilisation de ces notions à travers divers exemples de la physique mécanique.
Fondements mathématiques des moteurs de jeux: transformations géométriques (rotations, réflexions, homothéties, translations, cisaillements, projections, etc.), trigonométrie, vecteurs, matrices, repères du monde et de l'objet, transformations linéaires et affines, produits scalaire et vectoriel, angles d'Euler, quaternions, interpolation linéaire. Applications de la physique mécanique en jeu vidéo : calcul de la position, vélocité et accélération d'une particule, calcul de trajectoires (mouvement rectiligne et mouvement rectiligne uniformément accéléré), applications de différentes forces à des objets (gravité, ressorts, etc.), calcul de l'accélération à l'aide de la deuxième loi de Newton, initiation à la détection de collisions (volumes englobants, quadtree et octree, etc.), résolutions de collisions à l'aide d'impulsions.
Préalable(s): (8PRO128)
Formule pédagogique : Cours Magistral
8DJV103 Développement avancé avec des moteurs de jeu
Approfondir ses connaissances concernant le développement structuré de jeux vidéo à l'aide de moteurs de jeu professionnels.
Développement logiciel avec les moteurs de jeu tel que Unreal. Résolution de problèmes liés aux moteurs de jeu à l'aide de logiciels de contrôle de version (ex. Git et Perforce). Utilisation de concepts avancés avec la programmation C# et C++ en lien avec les moteurs de jeu. Utilisation des outils de refactoring de code. Profilage de code et manipulation d'outils afin d'identifier des problèmes de performance. Utiliser la programmation multicœur et l'allocation de ressources afin d'augmenter la vitesse de traitement. Approfondir les connaissances en gestion de la mémoire. Implémentation de patrons de conception applicables aux moteurs de jeu. Exploitation des réseaux dans le cadre de moteurs de jeu. Utiliser le traçage de rayons, les outils de rendu à haute définition et application d'effets post-processing. Programmation de shaders avec la syntaxe ShaderLab et HLSL/Cg. Débogage avancé dans des logiciels réseaux et multicœurs. Apprentissage du cycle de vie des sous-systèmes des moteurs de jeu. Utilisation d'outils d'analyse statique et de calcul de complexité du code. Exercices pratiques d'implémentation de fonctionnalités avancées avec des moteurs de jeu. Rédaction d'outils pour les moteurs de jeu. Développement et implémentation de fonctionnalités à l'intérieur de projets existants. Utilisation de techniques de diffusion et de chargement pour éviter les limites des moteurs de jeu.
Préalable(s): (8PRO135)
Formule pédagogique : Cours Magistral
8DJV104 Programmation réseau multi-joueurs en ligne
S'initier à la programmation de jeux en réseaux, multi-joueurs et en ligne. Connaître l'architecture des réseaux et les outils de programmation de bas niveau. Se familiariser avec les notions avancées permettant d'assurer la fiabilité, la robustesse et la scalabilité d'un jeu en réseau. Être apte à exploiter les outils logiciels et librairies de programmation réseaux disponibles dans les moteurs de jeu.
Internet: rappel des couches TCP/IP et NAT. Programmation avec des sockets UDP/TCP. Sérialisation et compression. Réplication d'objets et d'états. Implémentation client-serveur et peer-to-peer. Gestion de la latence et de la fiabilité. Interpolation et prédiction côté client. Gestion côté serveur. Notion de scalabilité, partitionnement et priorisation. Sécurité du réseau et tricheries des joueurs. Programmation réseau avec des moteurs (ex. UDK et Unity). Service en nuage et le « streaming » (Cloud gaming). Services aux joueurs (lobbies, auto-pairage, statistiques et badges). Exercices et travaux sur des exemples concrets en C++.
Préalable(s): (6GEN723 et 8PRO128)
Formule pédagogique : Cours Magistral
8DJV105 Design des systèmes et des mécaniques de jeux
Comprendre l'approche systémique de design des systèmes de jeux d'un point de vue informatique. Développer des compétences avancées dans le design des mécaniques de jeux et des systèmes de jeux. Comprendre l'optimisation de la boucle de jeux. Être apte à concevoir des systèmes de jeux synergiques et balancés.
Approche systémique du design des mécaniques de jeux. Mécanique discrète vs continu. Progression dans le jeu, synergie et interaction des composants. Processus d'idéation rationnel (rational design). Atomisation des mécaniques de jeux. Équilibrage et mesure de l'efficacité. Exploitation des probabilités pour enrichir le gameplay. Systèmes transitifs et non transitifs. La notion d'émergence. Analytique. Intégration du playtesting dans la boucle de conception du système. Organisation spatiale et temporelle des éléments du jeu. Le gameplay comme une suite de choix intéressants. Modélisation de l'engagement chez le joueur. L'émergence et comment la créer. Les cœurs de jeux. Simulation de systèmes de jeux. Approche systémique de l'interactivité. Enjeux et évolution à venir dans les pratiques de la discipline.
Formule pédagogique : Cours Magistral
8DJV106 Design de l'économie des jeux et monétisation
Comprendre comment modéliser l'économie globale et la boucle de circulation des ressources à l'intérieur d'un système de jeux. Développer des compétences avancées dans le design de l'économie d'un jeu vidéo. Apprendre à utiliser un outil de simulation informatique du cycle économique dans un jeu. Être apte à concevoir des systèmes économiques balancés. Comprendre intégrer de manière synergique les mécaniques de monétisation dans un système de jeux.
Les différents types d'économie dans les jeux. Les éléments internes de l'économie d'un jeu vidéo. Structure de l'économie d'un jeu et comment en faire le design informatique. Les composantes d'une économie de jeux : ressources, sources, drains, échangeurs, convertisseurs, etc. Économie simple versus économie complexe (i.e. incluant du crafting). Modélisation à l'aide de graphes du système économique d'un jeu. Implémentation de l'économie d'un jeu. Simulation de l'économie d'un jeu à l'intérieur d'un outil de simulation informatique (ex. Machinations). Exemples d'économies sur plusieurs jeux connus (ex. Stracraft, Civilization, Minecraft, etc.). La monétisation dans les jeux, microtransactions et comment les intégrer dans la boucle du système de jeux. Économie parallèle des jeux et comment en tirer profit.
Formule pédagogique : Cours Magistral
8DJV107 Prototypage de jeux avec un langage de script
Être apte à effectuer la programmation d'un prototype de jeux avec un langage de script. Comprendre l'utilisation d'un langage visuel de script à l'intérieur d'un moteur de jeu. Acquérir des compétences en programmation visuelle et scriptée.
Introduction à la programmation avec un langage visuel de script (ex. Blueprint). Processus de prototypage à l'intérieur d'un moteur de jeu professionnel (ex. Unreal Engine). Étapes de création d'un prototype de jeux. Implémentation des mécaniques et systèmes de jeux avec un langage visuel. La boucle de développement itérative centrée sur l'utilisateur. La notion d'interaction et rétroaction. Application pratique et développement de plusieurs petits prototypes avec un langage des scripts. Playtest d'un prototype. Analyse quantitative et qualitative des résultats des tests réalisés sur un prototype de jeux.
Préalable(s): (8PRO107)
Formule pédagogique : Cours Magistral
8IAR101 Introduction à l'intelligence artificielle
Introduire l'étudiant aux différentes notions, techniques et algorithmes propres au domaine de l'intelligence artificielle.
Algorithmes de recherche. Techniques de représentation des connaissances et raisonnements : réseaux de neurones, réseaux bayésiens, logique propositionnelle classique et logique floue, logique de prédicat, systèmes à base de règles, réseaux sémantiques. Résolution de problèmes par l'exploration et la planification. Acquisition de connaissances. Conception de systèmes à base de connaissances. Méthodologie de développement, environnements de développement, langages. Nouvelle génération de systèmes d'information intégrant la composante cognitive. Application des concepts dans le domaine de la science des données.
Préalable(s): (8PRO409)
Formule pédagogique : Cours Magistral
8IAR201 Intelligence artificielle générative et ses applications
Objectifs principaux :
Objectifs spécifiques :
Introduction à l'IA générative; grands modèles de langage (LLM); architecture commune des LLM; paramètres d'inférence; déploiement des modèles d'IA générative; formulation des requêtes de base; formulation des requêtes avancée; génération augmentée par la recherche (retrieval augmented generation RAG); systèmes agentiques; cadriciel d'orchestration des LLM; cadriciel de test de logiciels impliquant les LLM; utilisabilité; explicabilité; gestion des erreurs; biais algorithmique. Le monde de l'IA générative évolue extrêmement rapidement. Ce cours intègre les technologies émergentes au fur et à mesure de leur apparition, tout en s'appuyant sur des principes pérennes pour garantir une formation toujours d'actualité.
Préalable(s): (8PRO128)
Formule pédagogique : Cours Magistral
8IAR404 Apprentissage machine pour la science des données
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Distinguer les paradigmes d'apprentissage et leurs cas d'usage; Utiliser des méthodes de réduction de dimension et de sélection de variables; Appliquer des techniques de régression, classification et de clustering; Interpréter les modèles via les résidus, les courbes d'apprentissage et l'importance des variables; Comparer les algorithmes selon interprétabilité et robustesse; Prétraiter les données; Construire des pipelines reproductibles avec scikit-learn; Évaluer les modèles avec métriques pertinentes; Optimiser à l'aide des hyperparamètres; Appliquer des méthodes d'interprétabilité; Atténuer les biais algorithmiques.
Apprentissage supervisé vs non supervisé ; Paradigmes et cas d'usage ; Classification et régression (KNN, arbres, SVM, boosting) ; Clustering (K-means, DBSCAN, hiérarchique) ; Réduction de dimension (PCA, t-SNE, UMAP) ; Sélection de variables (RFE, SHAP, importance des variables) ; Prétraitement des données (nettoyage, encodage, normalisation, standardisation) ; Pipelines de transformation (train/test, K-fold, stratification, data leakage) ; Régression linéaire et régularisation (Lasso, Ridge) ; Régression logistique, métriques de performance (MAE, RMSE, R², précision, rappel, F1, ROC-AUC) ; Méthodes à base de voisinage (KNN) ; Arbres de décision et forêts aléatoires (CART, Gini, entropie, bagging) ; Boosting (AdaBoost, Gradient Boosting, XGBoost, CatBoost) ; Optimisation et recherche d'hyperparamètres (GridSearchCV, RandomSearchCV, Optuna, Bayesian Optimization) ; SVM linéaire et non linéaire (kernel trick, RBF) ; Apprentissage semi-supervisé (pseudo-labelling, Label Propagation) ; Détection d'anomalies (Isolation Forest, LOF) ; Interprétabilité (SHAP, LIME, Feature Importance) ; Biais algorithmiques et équité (Fairlearn, Aequitas, Demographic Parity) ; Bonnes pratiques : reproductibilité, robustesse, documentation, éthique ; Projet intégrateur : pipeline complet, évaluation critique, présentation des résultats, communication des conclusions.
Préalable(s): (8PRO409)
Formule pédagogique : Cours Magistral
8IFG147 Gestion de la production dans l'industrie du numérique
Comprendre l'importance d'une bonne gestion de projets dans le domaine du développement de jeu vidéo. Développer la compréhension de la méthodologie Agile et du cadre de référence Scrum. Connaître les rôles, artéfacts et rituels Scrum. Comprendre la planification, le découpage et l'estimation des coûts de projet avec la méthode Agile. S'initier à la gestion d'équipes. Parfaire ses habiletés de communication et de résolution de conflits. Se familiariser avec la gestion de risques.
La production de jeux vidéo avec l'approche Agile/Scrum. Les trois piliers de Scrum : transparence, inspection et adaptation. La notion de rituel/point de contrôle et des « timebox ». L'aspect adaptatif et empirique de l'approche. Organisation du travail. Les rôles : Scrum Master, Product Owner et équipe multidisciplinaire de développement. Les rituels de planification : Release Planning et Sprint planning. Les trois points d'inspection et d'adaptation : rencontre quotidienne, revue de jeu et rétrospective. Les cinq artéfacts. Outils informatisés pour la gestion de projets (ex. Teams, Trello, Jira). Optimisation de la boucle de production Agile/Scrum. Définir le périmètre (scope) d'un projet en Agile/Scrum. Découper les fonctionnalités et estimer en continue en approche adaptative pour une production structurée et efficace. Définir son « backlog » de produit et son « backlog » de Sprint. L'équipe de projet : optimisation du processus de coordination des ressources. La nature d'une équipe de projet : bloquants et spécificités. La communication avec l'équipe et avec les individus : les stratégies. La gestion et la répartition de son temps. La gestion de projets à grande échelle en Agile/Scrum. Problématiques liées aux grandes équipes lors de l'utilisation d'approches Agiles. Modèles de gestion Agile à grande échelle : Nexus, LeSS, Spotify, Scrum of Scrum, Safe, etc. Évolution à venir dans le futur au niveau de la gestion de projets dans le secteur du numérique.
Formule pédagogique : Cours Magistral
8INF138 Sécurité des réseaux et du Web
Amener à comprendre les concepts de base de la sécurité informatique et de la protection de l'environnement de travail grâce à des logiciels et des protocoles de sécurité. Faire acquérir une approche pratique de la sécurité dans l'environnement de l'Internet.
Concepts de base de la sécurité informatique. Menaces. Vulnérabilité des systèmes. Survol des technologies utilisées en sécurité informatique: cryptographie, cryptanalyse, authentification, confidentialité, codes malicieux, pare-feux, audits, détection d'intrusions, etc. Principes de base pour sécuriser un environnement réseau. La taxonomie d'attaques malicieuses sur les réseaux informatiques. Les faiblesses des protocoles réseaux. Installation et configuration des outils de sécurité réseau. Protocoles de sécurité. Sécurité du Web. Concepts de politique de sécurité pour les réseaux. Étude approfondie des technologies utilisées pour la protection des réseaux informatiques. Sécurité de commerce électronique. Modèles de sécurité des langages de programmation. Vérification des mécanismes de sécurité implantés dans une organisation donnée.
Formule pédagogique : Cours Magistral
8INF206 Projet
Concevoir, élaborer et réaliser un logiciel, ou adapter un logiciel relié au champ d'intérêt de l'étudiant.
À partir d'une problématique qu'il identifiera, l'étudiant franchira toutes les étapes de réalisation ou d'adaptation d'un logiciel. Il devra analyser le problème, le structurer et en construire une image riche. Il devra le conceptualiser sous forme modulaire et élaborer des solutions de rechange. Il devra traduire la meilleure solution dans un langage de programmation (cours terminal).
Formule pédagogique : Cours Magistral
8INF228 Adaptation et qualité des applications
Permettre de maîtriser les principes d'adaptation, d'intégration et de composition d'une application selon les approches orientées objets, composants, services, micro-services et hybrides; de la modifier et de l'adapter facilement face à de nouveaux changements et contextes; et d'évaluer sa qualité.
Rappel des principes de développement d'applications, telles que la cohésion, le couplage, la modularité et les SOLID. Types d'adaptation et de maintenance d'une application pour interagir aux niveaux signatures, comportements, sémantiques et services. Faciliter l'adaptation d'une application et améliorer sa qualité avec les patrons, modèles, frameworks, plateformes, et API. Types de patrons: analyse, architecture, conception, implémentation, distance, et variations. Mécanismes d'injection de dépendance entre les composantes (IoC). Plateformes d'injection de dépendance à divers niveaux (objet, classe, composant, module). Séparation des préoccupations: Programmation par aspect. Conception architecturale: concepts, styles et patrons architecturaux. Introduction à l'approche orientée modèle MDA-MDE. Qualités de logiciels (réutilisation, maintenabilité, portabilité, interopérabilité, explanabilité, etc.). Métriques pour évaluer la qualité logicielle. Modèles de maturité de processus (standard CMM et norme ISO). Introduction aux notions formelles pour décrire des systèmes et composantes logiciels: diagrammes de classes et contraintes, automates et systèmes de transitions, et contrats (OCL). Pratique de développement DevOps.
Préalable(s): (8PRO128)
Formule pédagogique : Cours Magistral
8INF257 Informatique mobile
L'objectif du cours est d'amener les étudiants au cœur de la problématique de conception et du développement d'applications mobiles. L'étudiant sera en mesure d'exploiter efficacement les multiples senseurs des périphériques mobiles (ex.: téléphones, tablettes, etc.) afin d'offrir des services appropriés au contexte d'utilisation.
Composants et caractéristiques d'une application mobile, multithread, interfaces utilisateur, services, senseurs physiques et logiques, base de données, services basés sur la localisation, débogage, communication (wifi, Bluetooth etc.). Développement logiciel d'applications mobiles avec les langages et librairies utilisés en industrie.
Préalable(s): (8PRO128)
Formule pédagogique : Cours Magistral
8INF309 Stage-projet I
Appliquer les compétences et les connaissances acquises au développement de systèmes informatiques en entreprises ou dans une organisation.
Démarche touchant la compréhension du problème posé, analyse du domaine et des besoins, recherche de solutions, justification de celle retenue, méthodologie retenue, élaboration du projet, conception du modèle informatique, mise en oeuvre. Production de la documentation accompagnant les diverses étapes du projet selon les principes du génie logiciel. En collaboration avec des spécialistes de l'informatique de l'entreprise ou de l'organisation, le stage ou le projet se déroulera selon les modalités prévues par la direction de programme sous la supervision d'un enseignant. Dépôt d'un rapport écrit qui fera l'objet d'une évaluation.
Formule pédagogique : Stage
8INF319 Stage-projet II
Appliquer les compétences et les connaissances acquises au développement de systèmes informatiques en entreprises ou dans une organisation.
Démarche touchant la compréhension du problème posé, analyse du domaine et des besoins, recherche de solutions, justification de celle retenue, méthodologie retenue, élaboration du projet, conception du modèle informatique, mise en oeuvre. Production de la documentation accompagnant les diverses étapes du projet selon les principes du génie logiciel. En collaboration avec des spécialistes de l'informatique de l'entreprise ou de l'organisation, le stage ou le projet se déroulera selon les modalités prévues par la direction de programme sous la supervision d'un enseignant. Dépôt d'un rapport écrit qui fera l'objet d'une évaluation. Selon le cheminement, l'étudiant pourra poursuivre le travail réalisé dans le cadre du cours Stage-projet I.
Formule pédagogique : Stage
8INF333 Sécurité des applications
Comprendre l'ensemble des pratiques, des vérifications et des prudences que devraient utiliser les informaticiens afin que leur code soit sécuritaire. Se familiariser avec les principes théoriques ainsi que les approches pratiques qui mènent à la création de codes robustes.
Enjeux liés au code de programmation en rapport à la sécurité informatique. Exemple de vulnérabilité du code. La conception sécuritaire des logiciels. Dépassements de tampon: outils et techniques de protection. Validation des entrées: injection SQL. Sécurité du système d'exploitation: accès aux ressources; protection des fichiers; authentification. Le déni de services : erreurs de programmation qui sont à leurs origines, l'attaque ReDoS et les contremesures. Le contrôle d'accès et la sécurisation des informations sensibles. Vulnérabilités dans manipulation de la mémoire et des types. Vulnérabilités introduites dans le processus de compilation. La génération des nombres aléatoires. Présentation d'études de cas réels, ainsi que des bonnes pratiques pour le développeur logiciel. Familiarisation avec les avancées scientifiques récentes dans ce domaine.
Préalable(s): (8INF259)
Formule pédagogique : Cours Magistral
8INF334 Modélisation et développement objet
Maîtriser les principes d'analyse et de développement logiciel suivant une méthodologie de conception des systèmes informatiques orientée objet.
Méthodes d'analyse et de conception orientées objet: modélisation avec le langage UML, procédures de factorisation de programmes orientés objet, cycle de vie du logiciel, passage de la conception à l'implantation. Concepts avancés de la méthodologie orientée objet: frameworks, métaclasses, réflexivité, introspection. Comparaison des méthodes et outils logiciels orientés objet. Utilisation et application des patrons de conception (design patterns) dans un contexte applicatif réel. Génération de code : que reste-t-il à coder? Assurance qualité et techniques de tests de logiciels. Illustration des concepts à l'aide du langage JAVA.
Préalable(s): (8PRO128)
Formule pédagogique : Cours Magistral
8INF349 Technologies Web avancées
Permettre de maîtriser le modèle, l'architecture et les applications Web avancées dans l'environnement de l'Internet.
Rappel et historique du développement Web : approfondissement des notions des protocoles (HTTP, HTTP2), langages de script côté client et côté serveur, HTML5, AJAX. Fonctionnement d'une application Web : requêtes HTTP, ressources, balanceurs de charge, cookie/local storage, stratégies d'optimisation (cache locale, de protocole et applicative). Architecture d'une application Web : MVC, intégration d'une base de données, engins de templating HTML, formats de sérialisation (JSON, XML), authentification, certificats. Intéropérabilité d'une application Web et micro services (RPC, SOAP, REST, découverte de services). Déploiement d'une application Web (PaaS, IaaS, déploiement continu, déploiements progressifs et de canaries). Maintenance : gestion de la journalisation, métriques opérationnelles, modèle SRE.
Enjeux de sécurité informatique pour un programmeur Web: vulnérabilités, attaques, mécanismes d'authentification.
Préalable(s): (8PRO128 et 8WEB101)
Formule pédagogique : Cours Magistral
8INF417 Visualisation de données et interface
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Décrire les principes cognitifs qui influencent l'interprétation visuelle; Corriger les éléments nuisant à la lisibilité ou induisant des biais; Associer chaque type de donnée à un encodage visuel approprié; Produire des visualisations en appliquant rigoureusement les bonnes pratiques de design et d'ergonomie; Manipuler des données dans Tableau; Utiliser les filtres, les regroupements et les calculs pour concevoir un tableau de bord interactif; Réviser un dashboard à partir de rétroactions ou d'une autoévaluation réflexive.
Introduction à la visualisation de données : objectifs, importance, rôle dans la communication des insights, distinction entre visualisation exploratoire et explicative ; Principes cognitifs et perceptifs : perception visuelle, attention sélective, lois de Gestalt, attributs préattentifs, organisation spatiale et hiérarchique de l'information ; Encodage visuel et typologie des données : correspondance entre types de données (quantitatives, temporelles, géographiques) et encodages (position, longueur, couleur, taille, forme), choix du graphique selon le message et le public ; Bonnes pratiques de conception : clarté, cohérence, hiérarchie visuelle, minimalisme, équilibre esthétique-fonctionnel, storytelling visuel ; Manipulation et exploration de données : préparation, filtrage, regroupement, calculs et agrégations dans Tableau, création de vues dynamiques et interactives ; Narration et séquencement : structuration d'une histoire visuelle, transitions, storyboards et dashboards narratifs ; Conception de tableaux de bord : principes de layout, interactivité, filtres, légendes, mesures calculées et calculs de table, indicateurs et métriques personnalisées ; Critique et amélioration : analyse comparative de visualisations selon des critères de clarté, pertinence, cohérence et efficacité ; Accessibilité et éthique : conception inclusive (contraste, couleurs daltoniennes, typographie lisible), transparence, réduction des biais visuels, responsabilité du concepteur ; Validation et réflexivité : autoévaluation et rétroaction entre pairs, révision itérative des dashboards, justification des choix de design ; Projet final : réalisation complète d'un dashboard interactif documenté, intégrant narration, interactivité, accessibilité et présentation orale ou vidéo.
Préalable(s): (8PRO409)
Formule pédagogique : Cours Magistral
8INF427 Informatique et industrie 4.0
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Identifier les composantes d'un système cyber-physique; Expliquer l'IIoT, le edge computing et le cloud industriel; Mettre en uvre un échange de données via MQTT ou OPC-UA; Analyser l'interopérabilité et les normes ISA-95 et RAMI 4.0; Évaluer les limites techniques et énergétiques des solutions 4.0; Analyser une architecture logicielle de collecte et de traitement; Programmer des microcontrôleurs pour collecter des données; Déployer un tableau de bord Grafana ou Node-RED; Appliquer les principes de cybersécurité; Simuler un scénario de panne ou d'attaque.
Industrie 4 ; 0 : origines, principes, systèmes cyber-physiques (CPS) ; Architecture industrielle : ISA-95, RAMI 4 ; 0, 5C ; IIoT et capteurs intelligents (ESP32, Raspberry Pi, DHT22, BMP180) ; Communication machine-machine : MQTT, WebSocket, OPC-UA ; Microcontrôleurs et collecte de données (MicroPython, Node ; js) ; Bases de données temporelles (InfluxDB, TimescaleDB) ; Visualisation : Grafana, Node-RED ; Chaîne temps réel : acquisition ? stockage ? visualisation ? action ; Edge Computing vs Cloud vs Fog ; Traitement local : filtrage, agrégation, détection d'anomalies ; Interopérabilité et normalisation (OPC-UA, ISA-95, RAMI 4 ; 0) ; Jumeaux numériques (Factory I/O, Simulink, Unity) ; Cybersécurité industrielle : menaces, segmentation, IEC 62443, NIST SP 800-82 ; Gouvernance et souveraineté des données (Gaia-X, Data Spaces, OPC UA over TSN) ; Intégration Brownfield : rétro-ingénierie, passerelles Edge, PLCs anciens ; Intelligence embarquée : TensorFlow Lite, Edge Impulse ; Analyse d'impact et réflexivité socio-technique (éthique, responsabilité, autonomie) ; Dilemmes technologiques et humains : place de l'humain, résilience, durabilité ; Projet intégrateur : conception d'un système 4 ; 0 complet (capteurs, acquisition, traitement, visualisation, sécurité, documentation) ; Bonnes pratiques : robustesse, interopérabilité, reproductibilité, cybersécurité, gouvernance.
Préalable(s): (8INF428)
Formule pédagogique : Cours Magistral
8INF428 Introduction à la science des données et à l'intelligence d'affaires
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Distinguer données, information et connaissance; Différencier science des données, intelligence artificielle et intelligence d'affaires; Distinguer les rôles professionnels; Expliquer les caractéristiques du Big Data; Identifier les principales sources de données; Évaluer la qualité des données et l'usage des métadonnées; Identifier les éléments constituant l'architecture d'un système décisionnel; Appliquer CRISP-DM pour décrire les étapes d'un projet; Collaborer dans un projet multidisciplinaire; Examiner les enjeux de gouvernance des données.
Fondements, concepts et enjeux de la science des données et de l'intelligence d'affaires : données, information, connaissance; secteurs d'application (finance, santé, marketing, transports intelligents, cybersécurité); historique du domaine; rôles professionnels (scientifique de données, analyste d'affaires, ingénieur de données, architecte de solutions); Big Data et ses 5V (volume, vélocité, variété, véracité, valeur); types de données (structurées bases SQL, semi-structurées JSON/XML, non structurées images, vidéos, textes); outils et environnements (Python, R, Tableau, Power BI, Hadoop, Spark); sources et techniques d'acquisition (ERP SAP, Oracle; APIs Twitter, Google Maps; IoT capteurs connectés); qualité et gouvernance des données (nettoyage, cohérence, intégrité); métadonnées (catalogues de données, dictionnaires); architectures décisionnelles (entrepôts de données, data lakes, data warehouses en nuage comme Snowflake ou BigQuery); méthodologies de projet (CRISP-DM, KDD); visualisation et tableaux de bord interactifs; enjeux éthique et de conformité (RGPD, biais algorithmiques, vie privée, lois locales comme la Loi 25 au Québec); impacts sociaux et organisationnels (transparence, automatisation, transformation numérique).
Formule pédagogique : Cours Magistral
8INF435 Algorithmique
Faire comprendre la notion de complexité du traitement informatique. Étudier les différentes techniques permettant d'analyser l'efficacité des algorithmes. Rendre apte à concevoir et implanter des algorithmes efficaces.
Analyse: Complexité de temps et d'espace, notation asymptotique, résolution d'équations de récurrence. Conception: Algorithmes voraces, méthode diviser-pour-régner, programmation dynamique, algorithmes probabilistes et parallèles. Problèmes indécidables et intraitables. NP-complétude.
Préalable(s): (8INF259 et 8MAT122)
Formule pédagogique : Cours Magistral
8INF437 Forage de données
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Expliquer les concepts clés du forage de données; Implémenter des algorithmes de motifs fréquents sur des données transactionnelles; Vectoriser des textes pour extraire thèmes et tendances; Détecter les motifs séquentiels et les anomalies dans des données temporelles; Mesurer la qualité des motifs; Identifier les biais et les limites des résultats obtenus; Utiliser les librairies scikit-learn, NetworkX ou Gensim pour la mise en uvre des algorithmes; Construire des pipelines reproductibles de bout en bout; Valider les modèles avec des méthodes d'évaluation adaptées.
Introduction au forage de données : concepts clés, distinction avec l'apprentissage machine, objectifs (exploration, découverte, interprétation), domaines d'application (marketing, santé, finance, fraude) ; Préparation des données : qualité, nettoyage, encodage, transformation, réduction de dimensions (PCA, t-SNE), génération de jeux transactionnels ; Extraction de motifs fréquents : itemsets, support, confiance, algorithmes Apriori et FP-Growth, limites combinatoires, études de cas (paniers d'achat, logs Web) ; Règles d'association : lift, conviction, leverage, filtrage et visualisation interactive ; Fouille de séquences temporelles : algorithmes PrefixSpan et GSP, contraintes temporelles, analyse de comportements ; Séries temporelles et motifs séquentiels : DTW, SAX, shapelets, motifs discordants ; Fouille textuelle : nettoyage, tokenisation, TF-IDF, n-grammes, Word2Vec, classification (k-NN, SVM, Naive Bayes), LDA, analyse de sentiments et d'opinions ; Fouille de graphes : modélisation (nuds, arêtes), centralité (PageRank, betweenness), sous-graphes fréquents, détection de communautés (Louvain, Label Propagation), prédiction de liens ; Forage de données en flux : modèles glissants, Reservoir Sampling, Count-Min Sketch, clustering incrémental (CluStream, DenStream), concept drift, détection de fraudes ; Validation et visualisation : tests de significativité, surapprentissage, métriques (cohérence, nouveauté, utilité), visualisations interactives (graphes, timelines, matrices) ; Reproductibilité et éthique : pipelines Jupyter, Docker, MLflow, documentation, biais, confidentialité, consentement ; Projet final : mise en uvre complète, analyse critique, présentation orale ou vidéo, discussion réflexive.
Préalable(s): (8IAR404)
Formule pédagogique : Cours Magistral
8INF700 Sujet spécial en informatique
Permettre à l'étudiant de bénéficier d'une formation adaptée.
Le contenu est variable selon les besoins des étudiants et l'expertise professorale disponible.
Formule pédagogique : Cours Magistral
8PRO409 Outils de programmation pour la science des données
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Utiliser la syntaxe de base de Python; Utiliser la programmation orientée objet; Manipuler des données réelles avec Pandas; Évaluer la qualité des données; Créer des visualisations interactives avec Plotly; S'initier aux analyses exploratoires de données; Appliquer les bonnes pratiques de codage; Développer dans des IDE et notebooks Jupyter en assurant la reproductibilité.
Écosystème scientifique de Python (variables, types de base comme int, float, string, bool; structures de contrôle conditions if/else, boucles for/while; fonctions personnalisées); structures de données complexes (listes, dictionnaires, ensembles, objets orientés-objet); bibliothèques clés de la science des données (NumPy pour opérations vectorisées et matricielles, Pandas pour nettoyage, regroupements, jointures de données tabulaires, Matplotlib et Seaborn pour visualisation statistique, Plotly pour visualisation interactive); métadonnées (noms de colonnes, schémas, dictionnaires de données); analyses exploratoires de données (EDA : statistiques descriptives, tendances temporelles, détection d'anomalies ou valeurs aberrantes); bonnes pratiques de programmation (PEP8 pour le style, tests unitaires avec pytest, reproductibilité, versionnage avec Git, documentation claire, modularité du code); environnements de développement et de travail (Anaconda pour la gestion de packages, Jupyter Notebooks pour prototypage interactif, VS Code ou PyCharm pour développement structuré); flux d'exécution (conditions imbriquées, boucles, itérateurs, compréhension de listes); scripts reproductibles (organisation en modules, utilisation d'environnements virtuels).
Formule pédagogique : Cours Magistral
8ROP530 Recherche opérationnelle
Initier les personnes étudiantes aux concepts, problèmes, méthodes de résolution et applications de la recherche opérationnelle et d'aide à la décision. L'accent est mis sur la manière de traduire les problèmes du monde réel en modèles appropriés, la compréhension des algorithmes pour résoudre ces problèmes, l'utilisation de logiciels spécialisés et l'analyse des résultats.
Problèmes d'optimisation et applications : nature des variables, problèmes contraints, problèmes uniobjectif et multiobjectifs, incertitude, combinatoire. Optimisation exacte: programmation linéaire, programmation linéaire en nombres entiers et mixtes, Algorithmes spécifiques à certains problèmes: transport, affectation, sélection, ordonnancement, graphes (plus court chemin, arbre couvrant, flot maximal, flot à coût minimal, projet), etc. Optimisation approchée: heuristiques et métaheuristiques. Optimisation de problèmes avec objectifs multiples, simulation, satisfaction de contraintes. Utilisation de logiciels.
Préalable(s): ((8PRO107) ou (8PRO409))
Formule pédagogique : Cours Magistral
8RVL201 Réalité virtuelle et environnements immersifs
Offrir les bases nécessaires pour comprendre les principes fondamentaux des technologies immersives. Apprendre les meilleures pratiques, les paradigmes d'interaction et leur contexte d'utilisation. Par l'intermédiaire d'interfaces immersives, les technologies de la réalité virtuelle offrent une expérience fascinante. Toutefois, il ne suffit pas de mettre un casque pour exploiter le plein potentiel de la technologie, pour avoir une expérience enrichissante.
Définition et applications. Principaux canaux sensori-moteurs de l'humain. Immersion et présence. Rendu stéréoscopique. Réalité Virtuelle avec les principaux moteurs de jeu. Étude des différentes méthodes de déplacement, de sélection et de manipulation tri-dimensionnelle. Comprendre et réduire les effets du cyber-malaise.
Préalable(s): (8PRO128)
Formule pédagogique : Cours Magistral
8SEC201 Cybersécurité défensive : vulnérabilités et incidents
Acquérir les connaissances et les compétences permettant de gérer les vulnérabilités d'un système informatique. Comprendre comment gérer les incidents de sécurité et les étapes de réponses.
Rappel des notions fondamentales : administration d'un système, code applicatif sécurisé OWASP, réseautique, chiffrement, gestion des accès, triade de la sécurité, probabilités et impacts, et Cyber Threat Intelligence (CTI). Gestion des vulnérabilités. Configuration et utilisation d'un scanner de vulnérabilités et d'outils de découverte. Collecte et interprétation des résultats. Analyse contextuelle des vulnérabilités. Recherche de solutions et recommandations. Tests, découvertes et exploitations des vulnérabilités. Intelligence en sécurité : visibilité et stratégie. Gestion des incidents. Connaître les étapes de réponses aux incidents : préparation, détection, analyse, confinement, éradication, rétablissement, leçons apprises. Gestion des risques et niveaux de service. Décrire des surfaces d'attaques. Adaptabilité de la stratégie de réponse. Plan de continuité d'affaires. Plan de recouvrement. Les preuves et comment documenter un incident. Cryptographie. Reconnaître les attaques usuelles : password spray, brute force, pivot, etc. Bases de connaissances de tactiques d'attaques et de défense : MITRE ATT&K + MITRE D3FEND.
Préalable(s): ((8WEB101) ou (6GEI466))
Formule pédagogique : Cours Magistral
8SEC202 Enquêtes numériques et cyber-intelligence
Acquérir une connaissance et une compétence concernant les bonnes pratiques d'enquêtes numériques (Forensic). Connaître les techniques en cyber-intelligence, de l'espionnage et du renseignement numérique.
Bonnes pratiques d'enquêtes numériques : volatilité des preuves, acquisition d'évidences, manipulation des preuves, triage, reconstitution de la séquence d'événements. Pouvoir identifier l'information pouvant être utilisée comme IOC (indicateur de compromissions). Reconnaître les tactiques, les techniques et procédures utilisées par une menace. Pyramid of pain. Connaissance des diverses menaces ainsi que l'identification de celles-ci. La méthodologie de récupération et de traitement de renseignements. (BG) Explication des différents types de sources (ISAC, etc.). Comment effectuer des recherches sur le DarkWeb. Renseignement Open Source (OSINT). Outils de recherche de renseignements. Flux d'informations (gratuits, payants). Modélisation des menaces. Analyse et production d'intel. Erreurs logiques, biais cognitifs. Comprendre STIX et TAXII. Les pièges de la rédaction de rapports de renseignements. Meilleures pratiques de rédaction de rapports de renseignements.
Préalable(s): ((8WEB101) ou (6GEI466))
Formule pédagogique : Cours Magistral
8STT109 Analyse statistique des données de masse
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Définir les caractéristiques des données massives et les principaux défis statistiques; Détecter des outliers à grande échelle à l'aide de méthodes univariées et multivariées; Évaluer la dépendance entre variables en utilisant des mesures robustes et non linéaires; Mettre en œuvre des méthodes de rééchantillonnage pour estimer des paramètres et leurs intervalles de confiance; Développer des modèles de régression multiples et robustes pour modéliser des relations complexes; Évaluer la significativité statistique dans des contextes à tests multiples à l'aide de corrections; Réduire la dimensionnalité des données pour faciliter l'analyse exploratoire; Modéliser des séries temporelles massives pour prévoir et détecter des anomalies.
Données massives (5V : volume, vélocité, variété, véracité, valeur) ; biais ; bruit ; données manquantes (MCAR, MAR, MNAR) ; outliers (méthodes univariées et multivariées) ; reproductibilité et auditabilité ; statistiques descriptives robustes (médiane, MAD, quantiles tronqués) ; corrélations robustes (biweight, distance correlation) ; dépendances non linéaires (Mutual Information, HSIC) ; distributions lourdes (Pareto, log-normale, lois de puissance) ; estimation de paramètres (MLE, moments) ; rééchantillonnage (bootstrap, jackknife) ; intervalles de confiance ; inférence bayésienne (a priori, vraisemblance, a posteriori) ; outils (PyMC, Stan) ; régression multiple (Ridge, Lasso, RANSAC) ; multicolinéarité (VIF) ; diagnostics de modèles (résidus, leverage) ; ANOVA ; modèles linéaires généralisés (GLM : logistique, Poisson) ; tests multiples (Bonferroni, FDR) ; puissance statistique ; séries temporelles (décomposition, anomalies, ARIMA scalable) ; données catégorielles (Khi², modèles log-linéaires) ; réduction de dimension (ACP incrémentale, randomized SVD, t-SNE, UMAP) ; visualisation de données massives ; imputation multiple (MICE) ; qualité des données ; pipelines statistiques reproductibles ; communication des résultats (rapports, graphiques, visualisations interactives).
Préalable(s): ((8GEN444) ou (8STT118))
Formule pédagogique : Cours Magistral
8STT118 Probabilité et statistique
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Interpréter les mesures de tendance centrale, de dispersion et de forme à partir de leurs calculs; Distinguer probabilité, événements, indépendance et conditionnement; Utiliser les lois de probabilité; Appliquer la loi des grands nombres; Formuler des hypothèses statistiques; Tester des hypothèses statistiques; Comparer des groupes d'échantillons avec des tests appropriés; Distinguer corrélation et causalité; Questionner la validité et la reproductibilité des analyses réalisées.
Types de variables (quantitatives continues comme la taille, qualitatives nominales comme la couleur des yeux, ordinales comme un niveau de satisfaction); mesures descriptives (tendance centrale moyenne, médiane, mode; dispersion variance, écart-type; forme asymétrie, kurtosis); événements, indépendance et conditionnement; lois de probabilité (binomiale lancer de pièce, normale distribution des tailles humaines, exponentielle temps entre deux pannes d'un système); biais d'échantillonnage (sélection non représentative, effet de non-réponse); loi des grands nombres et théorème central limite; estimateurs ponctuels (moyenne, proportion), intervalles de confiance; tests d'hypothèses statistiques (t-test pour deux moyennes, z-test pour proportions, tests non paramétriques comme Mann-Whitney); comparaison de groupes (groupe témoin vs groupe expérimental); régression linéaire simple (relation entre âge et revenu, par exemple); conditions de validité (linéarité, homoscédasticité, indépendance des erreurs, normalité des résidus); limites des tests et interprétation critique; propriétés des estimateurs (biais, efficacité); distinction corrélation versus causalité (ex ; corrélation glace vendue ? noyades, sans lien causal direct); communication des résultats (graphiques, rapports, tableaux de bord); enjeux de validité et de reproductibilité (réplication des expériences, transparence des méthodes).
Formule pédagogique : Cours Magistral
8TRD158 Bases de données avancées
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Analyser les plans d'exécution; Optimiser les requêtes SQL complexes; Administrer la réplication, les sauvegardes et des stratégies de récupération d'urgence; Évaluer les limites du modèle relationnel dans les systèmes à grande échelle; Comparer les modèles NoSQL; Manipuler MongoDB, Redis ou Neo4j dans des cas réels; Modéliser des entrepôts; Optimiser des requêtes OLAP; Déployer une base cloud; Exécuter des requêtes massives avec BigQuery/Snowflake.
Rappels SQL avancés : jointures, sous-requêtes, agrégations et analyse de plans d'exécution (EXPLAIN) ; Architecture interne d'un SGBD : moteur de requêtes, planificateur, optimiseur, cache et statistiques ; Indexation avancée : B-Tree, Hash, GIN, GiST, index multi-colonnes et sur expressions ; Vues matérialisées : création, rafraîchissement et usages analytiques ; Transactions et concurrence : propriétés ACID, verrouillage, isolation, détection de conflits ; Optimisation de requêtes : analyse de coûts, réécriture, sélectivité, statistiques ; Réplication et haute disponibilité : sauvegarde logique et physique, PITR, réplication maître-esclave ; Modélisation analytique : schémas étoile, flocon, Data Vault, faits et dimensions ; Requêtes OLAP : GROUPING SETS, ROLLUP, CUBE, agrégations hiérarchiques ; Partitionnement de données : horizontal, vertical, pruning et performances comparées ; Bases NoSQL : modèles clé-valeur, document, graphe, colonne ; MongoDB, Redis, Neo4j ; Théorème CAP et BASE : cohérence, disponibilité, tolérance au partitionnement ; Intégration polyglotte : ETL hybrides PostgreSQLMongoDB, interopérabilité et scripts Python ; Déploiement infonuagique : PostgreSQL Cloud SQL, MongoDB Atlas, IaaS/PaaS, sécurité SSL ; Formats analytiques : Parquet, ORC, BigQuery, requêtes massives et facturation ; Gouvernance et sécurité : qualité, chiffrement, masquage, rôles, lignage et documentation ; Projet intégrateur : base hybride relationnelle + NoSQL + cloud, requêtes OLAP, sécurité et déploiement ; Présentation finale : démonstration, rétroaction croisée et synthèse d'apprentissage.
Préalable(s): (8TRD152)
Formule pédagogique : Cours Magistral