Le programme de Baccalauréat en informatique de la science des données et de l'intelligence d'affaires 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 à:
Être titulaire d'un diplôme d'études collégiales (DEC) en Sciences de la nature (200.B1), en Sciences, informatique et mathématique (200.C1) ou en Sciences, lettres et arts (700.A1)
ou
Être titulaire d'un diplôme d'études collégiales (DEC) et avoir satisfait les exigences en mathématique (1).
Avoir obtenu une cote R d'au moins 25. Les personnes candidates dont la cote R se situe entre 23 et 25 sont invitées à déposer une demande d'admission. Le dossier sera alors étudié. Plus précisément, la personne candidate, dont le dossier sera étudié, devra avoir une moyenne supérieure à la moyenne du groupe dans au moins 75% des matières d'intérêt (2) suivies. La personne candidate dont la cote R se situe entre 21 et 23 peut être admissible au Certificat en science des données et intelligence d'affaires (4810). Elle pourra par la suite présenter une demande d'admission au baccalauréat sur la base Études universitaires.
Être titulaire d'un diplôme qui démontre l'acquisition des notions de base en sciences (baccalauréat général, baccalauréat technologique dans les domaines des mathématiques, de la physique/chimie, du génie ou de l'informatique), et avoir satisfait les exigences en mathématique (1) obtenu hors Québec après au moins 13 années de scolarité ou l'équivalent, à moins d'ententes conclues avec le Gouvernement du Québec. Dans le cas contraire, la personne candidate pourra être admise, conditionnellement à la réussite de l'année préparatoire en mathématique et informatique (5719) du DIM de l'UQAC.
Avoir obtenu une moyenne minimale de 13/20 ou l'équivalent. Les personnes candidates dont la moyenne se situe entre 11/20 et 13/20 pourront déposer une demande d'admission, qui sera étudiée. Plus précisément, la personne candidate, dont le dossier sera étudié, devra avoir une moyenne supérieure à 13/20 dans les matières d'intérêt (2) suivies.
Les personnes candidates venant dans le cadre d'ententes conclues entre l'Université et un établissement d'enseignement supérieur de l'extérieur du Québec doivent avoir complété un minimum de 2 ans de scolarité au sein de leur programme dans leur établissement d'attache et avoir été sélectionnées par le partenaire. Ces personnes candidates devront avoir une moyenne minimale de 12/20 ou l'équivalent. La personne candidate dont la moyenne est entre 11/20 et 12/20 pourra déposer une demande d'admission qui sera étudiée par la direction du programme. Des conditions d'admission particulières peuvent être applicables en vertu d'ententes spécifiques conclues entre un établissement partenaire et l'UQAC.
Pour les personnes candidates dont la langue maternelle est autre que le français, la preuve de la maîtrise du français devra être jointe au dossier de candidature. Consultez les exigences spécifiques à votre programme en cliquant ici.
Avoir réussi au moins quinze (15) crédits de niveau universitaire, avoir obtenu une moyenne cumulative minimale de 2,6/4,3 et satisfaire les exigences en mathématique (1). Les personnes candidates dont la moyenne cumulative se situe entre 2,3/4,3 et 2,6/4,3 sont invitées à déposer une demande d'admission, qui sera étudiée. Plus précisément, la personne candidate, dont le dossier sera étudié, devra avoir une moyenne supérieure à 2,6/4,3 dans les matières d'intérêt (2) suivies.
Le dossier d'admission pour toute personne candidate comprend :
Posséder une expérience jugée pertinente et significative dans un domaine relié à l'informatique dans un organisme privé ou public. Cette expérience doit être d'une durée minimale de deux (2) ans à temps complet et attestée par l'employeur ou le responsable de l'organisme par écrit. La personne candidate doit satisfaire les exigences en mathématique (1). La personne candidate qui demande une admission sur cette base doit fournir un curriculum vitæ à jour et une lettre de motivation démontrant les connaissances et l'expérience en lien avec le programme de formation choisi. Lorsque requis, la personne candidate pourra se voir imposer la structure d'accueil (3) avant d'amorcer le programme. Elle aura deux (2) trimestres pour réaliser cette formation.
(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:
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 (3), avec une moyenne minimale de 2,5/4,3 dans les deux trimestres qui suivent la première inscription. Des tests d'exemption à la structure d'accueil pourraient être offerts, à la demande de la personne étudiante, et ce, au début du trimestre d'admission. Dans le cas où la personne candidate réussit ces tests, elle pourrait être exemptée de suivre ces cours.
(2) Matières d'intérêt :
Pour les personnes candidates sur la base d'admission hors Québec, les matières d'intérêt ont une appellation plus générale tels que Mathématiques, Physique/Chimie, Biologie ou encore Ingénierie.
Pour les autres personnes candidates :
Un tableau des objectifs et standards collégiaux démontrant la correspondance entre les anciens codes de compétences/cours et les codes actuels est disponible en sélectionnant ce lien.
(3)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 et à temps partiel.
| 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 | Oui |
| Automne et hiver | Temps partiel | 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 ainsi qu'au cours Progiciel de gestion intégré, l'étudiant devra avoir réussi soixante (60) crédits de son programme.
Pour cheminer dans le profil Honor et s'inscrire aux cours Activités de recherche en informatique I et II (Honors Thesis), l'étudiant doit satisfaire aux trois exigences suivantes:
En vertu de l'article 86 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:
Des ententes DEC-BAC sont en vigueur pour ce programme et sont applicables aux personnes détentrices de certains DEC techniques. Les cégeps ainsi que les DEC techniques concernés par ces ententes sont les suivants:
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 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 |
| 4ETH236 | Éthique et informatique |
| 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 |
| 8INF259 | Structures de données (8PRO107) |
| 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) |
| 8PRO107 | Éléments de programmation |
| 8PRO128 | Programmation orientée objet (8PRO107) |
| 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 |
| 8TRD152 | Introduction aux bases de données |
| 8TRD158 | Bases de données avancées (8TRD152) |
| 8WEB101 | Conception et programmation de sites Web |
| 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) |
| 8SEC202 | Enquêtes numériques et cyber-intelligence (8WEB101) |
| 2ECO102 | Environnement économique de l'entreprise |
| 2MAN115 | Principes de management |
| 2MAR210 | Marketing numérique et réseaux sociaux |
| 4ETH236 | Éthique et informatique |
| 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 |
| 8INF259 | Structures de données (8PRO107) |
| 8INF308 | Activité de recherche en informatique I (Honours Thesis) |
| 8INF318 | Activité de recherche en informatique II (Honours Thesis) |
| 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) |
| 8PRO107 | Éléments de programmation |
| 8PRO128 | Programmation orientée objet (8PRO107) |
| 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 |
| 8TRD152 | Introduction aux bases de données |
| 8TRD158 | Bases de données avancées (8TRD152) |
| 8WEB101 | Conception et programmation de sites Web |
| 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) |
| 8SEC202 | Enquêtes numériques et cyber-intelligence (8WEB101) |
| 7ANG021 | English Skills I |
| 7ANG022 | English Skills II (7ANG021) |
| 7ANG023 | English Skills III (7ANG022) |
| 7ANG024 | English Skills IV (7ANG023) |
| 7ENL520 | Critical Reading Skills and Comprehension (7ANG023) |
| 7INF517 | Traitement automatique des langues |
| 7LNG104 | Rédaction |
| 7LNG106 | Orthographe et grammaire de base |
| 7LNG124 | Maîtrise du français |
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
4ETH236 Éthique et informatique
Initier les étudiants aux enjeux éthiques, légaux et sociaux du développement de certains usages de l'informatique dans différents domaines d'activité scientifique, technique ou industriel (nanotechnologies, domotique, télécommunications, etc.) dans les secteurs de la santé, l'éducation et la sécurité. Comprendre le système social des valeurs éthiques et les dispositifs normatifs encadrant les pratiques, notamment les lois, les règlements, les codes d'éthiques, etc. Développer la délibération éthique et le dialogue sur ces enjeux.
Les notions fondamentales de l'éthique appliquée et les principales théories éthiques contemporaines dans l'évaluation des impacts des technologies. Le droit de l'informatique, les principes moraux et les valeurs éthiques du développement des technologies. Acceptabilité sociale et acceptabilité éthique dans les études d'impact. Le processus d'analyse globale d'impacts et d'acceptabilité éthique.
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 : Magistral et/ou formation à distance
7ANG021 English Skills I
Développer des stratégies permettant de mieux communiquer dans des situations quotidiennes (pour les étudiants ayant connaissance de base en anglais). Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.
Vocabulaire de base associé à l'exécution des fonctions de la vie courante. Fonctions langagières : se présenter, exprimer ses préférences et ses aversions, décrire son milieu immédiat, parler de ses activités quotidiennes, demander et donner des informations, chercher et proposer de l'aide, donner des indications, etc. Structures grammaticales pertinentes: formes verbales à l'impératif, au présent, au futur proche et au «simple past»; verbes modaux exprimant les requêtes; noms comptables et non comptables; déterminants démonstratifs et possessifs; adverbes de fréquence; questions simples de type «yes / no» et «wh». Mise en situation du lexique et des structures grammaticales à partir de simulations provenant des ressources didactiques en classe et en laboratoire multimédia.
Formule pédagogique : Cours Magistral
7ANG022 English Skills II
Poursuivre l'acquisition des connaissances langagières de base dans des contextes réels et simulés qui représentent des fonctions sociales et professionnelles. Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.
Vocabulaire associé aux fonctions sociales et professionnelles, expressions idiomatiques, prononciation. Fonctions langagières: donner des informations sur soi-même, décrire un tiers, donner et demander des informations sur des faits, poser des questions concernant des habitudes ou des intérêts personnels et y répondre, décrire des événements passés au moyen du «simple past», donner et suivre des indications, exprimer l'accord et le désaccord, etc. Structures grammaticales pertinentes: révision des questions de type «yes / no» de même que des formes verbales au présent et au futur proche; distinction entre le «simple past» et le «present perfect»; verbes au passé continu et habituel; verbes périphrastiques; verbes modaux exprimant la nécessité et l'obligation; adjectifs comparatifs et superlatifs; adverbes de quantité. Conversations dirigées, courtes discussions, mises en situation du lexique et des structures grammaticales au moyen des ressources didactiques fournies en classe et en laboratoire multimédia.
Préalable(s): (7ANG021)
Formule pédagogique : Cours Magistral
7ANG023 English Skills III
Permettre d'améliorer sa capacité à tenir une conversation et à produire des textes dans des contextes réels et simulés qui sont caractéristiques des fonctions de la vie académique, sociale et professionnelle (pour les étudiants de niveau intermédiaire/avancé). Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.
Vocabulaire associé aux fonctions de la vie académique, sociale et professionnelle, expressions idiomatiques, prononciation. Fonctions langagières: décrire les personnes, contester face à un désaccord, accepter et refuser les requêtes, laisser des messages, raconter une histoire au passé, exprimer des émotions et des attentes. Structures grammaticales pertinentes: le présent simple, le présent progressif et le «present perfect», formes verbales au présent continu et au «present perfect progressive», «simple past», «past perfect» et «past perfect progressive»; verbes périphrastiques; propositions adjectivales, adverbiales et conditionnelles; pronoms relatifs, rôle adjectival du participe passé, le gérondif en fonction de sujet ou de complément. Conversations dirigées, courtes discussions, mises en situation et exercices grammaticaux en classe et en laboratoire multimédia.
Préalable(s): (7ANG022)
Formule pédagogique : Cours Magistral
7ANG024 English Skills IV
Permettre de perfectionner sa capacité à communiquer (oralement ou par écrit) dans des contextes réels et simulés qui sont caractéristiques des fonctions de la vie académique, sociale et professionnelle (pour les étudiants de niveau avancé). Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.
Vocabulaire associé aux fonctions de la vie académique, sociale et professionnelle, expressions idiomatiques, prononciation. Fonctions langagières: identifier des problèmes et proposer des solutions, préciser le but d'une proposition, proposer des explications, tirer des conclusions, décrire des événements hypothétiques. Structures grammaticales pertinentes: formes verbales au plus-que-parfait progressif, passif; modaux au passé; propositions conditionnelles; discours rapporté. Conversations dirigées, discussions longues, débats, mises en situation et exercices grammaticaux en classe et en laboratoire multimédia.
Préalable(s): (7ANG023)
Formule pédagogique : Cours Magistral
7ENL520 Critical Reading Skills and Comprehension
Améliorer la compréhension de l'anglais écrit. Développer des techniques de lecture aux niveaux littéral, inférentiel, critique et analytique.
Sensibilisation aux nuances de la langue anglaise dues à des variations lexicales, morphologiques et syntaxiques dans le cadre d'analyses de textes courants. Différences de significations de structures syntaxiques dans des contextes variés. Stratégies de lecture (skimming, scanning). Techniques pour améliorer l'efficacité de lecture.
Préalable(s): (7ANG023)
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 : Magistral et/ou formation à distance
7LNG104 Rédaction
Améliorer la compétence en communication écrite en initiant au processus d'écriture. Développer l'habileté à rédiger un texte dans sa discipline en faisant prendre conscience des facteurs extralinguistiques qui influencent la production des textes et en initiant aux procédés linguistiques qui en assurent la pertinence et la cohérence.
Définition de la tâche d'écriture. Recherche documentaire : cueillette, sélection et organisation des informations; techniques du résumé. Structuration du contenu : introduction et conclusion, formulation et enchaînement des idées, gestion de la référence, établissement de relations logiques et utilisation des connecteurs, phénomènes d'énonciation, organisation du lexique et champs sémantiques. Travail de révision et de réécriture. Organisation matérielle : éléments de méthodologie (citations, références, bibliographie), normes de présentation.
Formule pédagogique : Cours Magistral
7LNG106 Orthographe et grammaire de base
Développer la compréhension du fonctionnement de l'écrit. Développer une capacité d'analyse permettant la détection et la résolution de problèmes orthographiques, syntaxiques et lexicaux courants.
Structure de la phrase simple. Retour sur les classes et les fonctions grammaticales. Manipulations syntaxiques. Système général des accords grammaticaux, dans les groupes et entre les groupes. Forme simple ou composée du verbe, conjugaison, accord; verbes pronominaux, à l'infinitif et au participe. Types et formes de phrases. Structure de la phrase complexe : relative, complétive et circonstancielle; interrogation indirecte, concordance des temps, confusions homophoniques indicatif/ subjonctif, anacoluthes. Principes de coordination. Reprise et progression de l'information. Pronoms personnels, possessifs et démonstratifs. Correction d'erreurs fréquentes. Utilisation des outils de référence.
Formule pédagogique : Magistral et/ou formation à distance
7LNG124 Maîtrise du français
Approfondir la compréhension des règles de l'écrit et l'habileté à détecter et à résoudre divers problèmes liés à l'orthographe grammaticale, à la construction des phrases, au choix du vocabulaire, à la ponctuation et à l'orthographe d'usage.
Structure et transformations de la phrase de base. Phrases juxtaposées et coordonnées : pronominalisation ou ellipse, ponctuation. Mécanisme de la subordination; choix des pronoms relatifs, choix du mode verbal, concordance des temps, ponctuation. Construction participiale, infinitive, corrélative. Accords grammaticaux dans la phrase complexe. Repérage des anglicismes, impropriétés, barbarismes; choix du mot juste. Zones de régularités et particularités en orthographe d'usage. Utilisation des outils de références (dictionnaires, grammaires, conjugueurs).
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
8INF259 Structures de données
Poursuivre le développement des connaissances en méthodologies de résolution de problèmes et de programmation. Initier aux types abstraits de données, à leurs applications. Mettre en oeuvre des structures de données classiques et analyser leurs avantages et leurs défauts respectifs. Initier aux principes de l'algorithmique. Utiliser efficacement la librairie standard du C++ (STL).
Structures de données abstraites: piles, files, listes, arbres, graphes, tables de hachage, B-arbres. Analyse théorique et mise en oeuvre des algorithmes de gestion de ces structures: insertion, élimination, recherche, tri, etc. Analyse de l'efficacité des algorithmiques: introduction à la notation asymptotique. Introduction au langage C++: notions de classes et de modèles (templates). Organisation matérielle des fichiers: séquentielle, indexée, séquentielle-indexée. Utilisation de la STL: étude des principaux conteneurs (vector, list, stack, queue, map, set, etc.), utilisation des itérateurs (standard, constants et inversés).
Préalable(s): (8PRO107)
Formule pédagogique : Cours Magistral
8INF308 Activité de recherche en informatique I (Honours Thesis)
Réaliser une recherche sous la supervision d'un professeur. Intégration de l'étudiant au domaine de recherche d'un professeur. Initier à la méthodologie de la recherche en informatique. Acquérir une maîtrise suffisante des compétences informationnelles.
Le contenu exact du cours dépend du type de recherche effectuée. Cela peut comprendre les éléments suivants: Choix du sujet; Revue de la littérature; Rédaction du projet de recherche; Réalisation de la recherche; Rédaction d'un rapport technique; Présentation orale.
Formule pédagogique : Séminaire et/ou formation à distance
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 et/ou formation à distance
8INF318 Activité de recherche en informatique II (Honours Thesis)
Poursuivre les travaux initiés dans le premier cours d'activité de recherche. Réaliser une recherche sous la supervision d'un professeur. Intégrer l'étudiant au domaine de recherche d'un professeur. Initier à la méthodologie de la recherche en informatique. Acquérir une maîtrise suffisante des compétences informationnelles.
Le contenu exact du cours dépend du type de recherche effectuée. Cela peut comprendre les éléments suivants: Choix du sujet; Revue de la littérature; Rédaction du projet de recherche; Réalisation de la recherche; Rédaction d'un rapport technique; Présentation orale.
Formule pédagogique : Séminaire et/ou formation à distance
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 et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
8PRO107 Éléments de programmation
Initier au langage de programmation C++ tout en développant la créativité et l'esprit d'analyse. Initier à la résolution de problèmes et aux étapes à suivre pour résoudre un problème à l'aide d'un ordinateur. Familiariser avec les méthodes de résolution de problèmes par ordinateur dans le cadre de la programmation modulaire et structurée en C++. Sensibiliser au développement de programmes en C++ de bonne qualité, faciles à comprendre, faciles à utiliser et faciles à modifier.
Éléments du langage de programmation C++ : types simples et composés, variables locales et globales, entrées et sorties, expressions, structures de contrôle, fonctions, tableaux et pointeurs. Algorithmes interactifs et récursifs. Passage de paramètres par valeur et par référence. Allocation dynamique de la mémoire. Modularité et organisation des données. Notions d'algorithmique et de conception de programmes lisibles, compréhensibles et modifiables. Convention d'écriture de programmes et de documentations. Méthodologies de résolution de problèmes. Mise au point et vérification de programmes.
Formule pédagogique : Magistral et/ou formation à distance
8PRO128 Programmation orientée objet
Familiariser avec le paradigme de la programmation orientée objet (POO). Faire connaître les outils de développement objet. Réaliser des applications informatiques basées sur l'approche de la programmation objet.
Notions de base relatives à la méthodologie orientée objet : type abstrait de données, classe, objet, héritage simple et multiple, objet complexe, les mécanismes d'abstraction et de paramétrisation en POO, surcharge, généricité, polymorphisme, etc. Qualités d'un langage de classe : modularité, réutilisabilité, extensibilité et maintenance. Refactorisation. Initiation au langage de modélisation UML. Technologies orientées objet. Illustration des concepts en utilisant le langage C++.
Préalable(s): (8PRO107)
Formule pédagogique : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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 : Magistral et/ou formation à distance
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)
Formule pédagogique : Magistral et/ou formation à distance
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)
Formule pédagogique : Magistral et/ou formation à distance
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
8TRD152 Introduction aux bases de données
Objectifs généraux
Quelques objectifs spécifiques parmi d'autres
Identifier les composants et le rôle d'un système de gestion de bases de données relationnelle; Situer les bases dans un contexte client-serveur; Modéliser un système réel avec l'approche entité-association; Transformer un schéma conceptuel en modèle relationnel; Appliquer la normalisation jusqu'à la troisième forme normale; Écrire des requêtes SQL de sélection, de filtrage et de tri; Réaliser des jointures et des agrégations; Décrire les principes de sécurité d'un système de gestion de bases de données relationnelle; Explorer des bases volumineuses avec SQL; Connecter une base de données à un outil analytique.
Données vs informations vs connaissances ; Systèmes de gestion de bases de données (SGBD : PostgreSQL, SQLite, MySQL) ; Types de bases (relationnelles vs NoSQL : MongoDB, Cassandra) ; Architecture client-serveur (PostgreSQL, pgAdmin) ; Cycle de vie d'un projet de base de données (analyse, modélisation, implémentation, exploitation) ; Modélisation conceptuelle (entités, attributs, relations, cardinalités) ; Diagrammes E-A (Chen, UML) ; Outils de modélisation (dbdiagram ; io, draw ; io) ; Modélisation relationnelle (tables, clés primaires et étrangères, contraintes d'intégrité : unicité, nullabilité, référentielle) ; Normalisation (1NF, 2NF, 3NF) ; Analyse des anomalies (redondance, insertion, suppression) ; SQL Requêtes de base (SELECT, FROM, WHERE, ORDER BY) ; Types de données SQL (INTEGER, VARCHAR, DATE, BOOLEAN) ; Jointures (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN) ; Agrégations (COUNT, SUM, AVG) ; GROUP BY ; HAVING ; Sous-requêtes (dans SELECT, FROM, WHERE) ; Vues (création, utilisation, sécurité) ; Requêtes avancées (CASE, COALESCE, fonctions temporelles) ; Manipulation des données (INSERT, UPDATE, DELETE) ; Transactions (BEGIN, COMMIT, ROLLBACK) ; Contraintes référentielles ; Indexation (index simples, composés) ; Plans d'exécution (EXPLAIN) ; Optimisation de requêtes ; Sécurité (utilisateurs, rôles, privilèges, SQL Injection) ; Projet intégrateur (modélisation, requêtes, optimisation, sécurité, documentation) ; SQL pour la science des données (BigQuery, pandas ; read_sql).
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
8WEB101 Conception et programmation de sites Web
Se familiariser avec la méthodologie, la conception et la gestion d'un site Web. Comprendre les notions de base du Web et de l'approche client-serveur.
Origines et évolution des technologies du Web. Notions de base du réseau Internet: adressage, protocole TCP/IP, fonctionnement du protocole HTTP. Architecture client-serveur. Structure d'un document avec le langage HTML. Présentation et mise en page des diverses composantes d'un site Web avec le langage CSS. Éléments dynamiques côté client: animations, utilisation élémentaire du langage JavaScript. Notions de design: formats et traitement d'images, ergonomie, accessibilité, support des standards par les navigateurs, optimisation du temps de chargement. Fonctionnement des moteurs de recherche. Configuration et gestion de base d'un serveur web; compilation de statistiques à partir des logs d'un serveur. Mise en place d'un système de gestion de contenu (CMS). Enjeux de sécurité informatique pour un utilisateur du web: cookies, hameçonnage.
Formule pédagogique : Magistral et/ou formation à distance