CDS311 : Machine Learning Supervisé
2 Crédits
À l’aide de ScikitLearn, la bibliothèque la plus utilisée en machine Learning, plongez dans les algorithmes de Machine Learning. En partant des plus communs : régression logistique, K plus proches voisins, Trees and Forest, aux plus complexes : Gradient Forest, méthodes de Boosting, etc. Apprenez à reconnaître des situations de classification et de régression, à optimiser, réguler et paramétrer vos algorithmes afin d’éviter les biais communs et d'obtenir les meilleurs résultats.
Apprenez à préparer votre jeu de données et à gérer des données non équilibrées via le rééchantillonnage et la génération de données synthétiques. Éléments de base des algorithmes d'apprentissage statistique et symbolique. Exemples d'applications en forage de données, reconnaissance des formes, régression non linéaire, et données temporelles. Extraction et représentation des connaissances. Résolution de problème et raisonnement.
CDS310 : Introduction à la science des données
2 Crédits
Introduction à l'intelligence artificielle (IA). Extraction et représentation des connaissances. Résolution de problème et raisonnement. Modélisation: réseaux bayésiens, chaînes de Markov cachées. Apprentissage machine : apprentissage supervisé, non supervisé, par renforcement, domaines d'application et intégration aux solutions. Détection d'anomalies, clustering, régression et classification automatisée. Analyse des réseaux de neurones et apprentissage profond. Analyse multi-variables et séries temporelles. Particularités des projets IA selon les domaines d’application. Mise en contexte et applications des probabilités, statistiques, optimisation et outils informatiques pour la science des données; nettoyage et visualisation de données; enjeux statistiques de l'apprentissage automatique sur données structurées. Résolution heuristique de problèmes. Représentation des connaissances. Techniques d'inférence et de planification. Étude d'un langage approprié. Traitement de langue naturelle. Apprentissage. Systèmes experts. Applications des probabilités, statistiques et optimisation pour la science des données; nettoyage et visualisation de données; enjeux statistiques de l'apprentissage automatique sur données structurées; généralisation et surapprentissage.
CDS214 : Big Data Engineering et Stockage Cloud
2 Crédits
Mettez en place des pipelines de machine learning robustes et évolutives avec sklearn-pipeline. Suivez de manière organisée le réglage de vos hyperparamètres afin de construire le meilleur modèle à l’aide de MLFlow. Créez des instances de calcul et de stockage de données sur le Cloud. Passez du modèle à la production avec GitHub. Apprenez à utiliser les containers avec Docker et Kubernetes. Histoire, définition, les six "V" (volume, variété, vitesse, véracité. Valeur et visualisation) et sources de données (machines, hommes et organisations). Processus d'analyse des données. Architecture des mégadonnées. Systèmes de gestion distribuée des fichiers. Techniques d'analyse, de traitement, de stockage et de gestion de mégadonnées. Internet des objets. Nuage informatique (Cloud Computing).
CDS213 : DevOps et MLOps
2 Crédits
Ce module permet d'acquérir les outils nécessaires à l'optimisation et la mise en production du code. À la fin du cours, l'apprenant doit pouvoir mettre en place une démarche DevOps en entreprise, optimiser les performances d'un système informatique et assurer la disponibilité́ des infrastructures. Ce cours abordera la méthodologie DevOps, les outils DevOps et l’architecture système. L’objectif est de familiariser les étudiants avec l’approche DevOps et leur apprendre les outils nécessaires à l’automatisation des installations et du cycle de vie d’une application, la mise en place d’une chaine d’intégration continue et de containerisation. Se familiariser avec des plateformes comme AWS, Azure, et Google Cloud. Maitriser Docker et Kubernetes. Déployer une application dans le Cloud. Savoir mettre en œuvre la migration d’un système dans le cloud. Créer un cluster dans le Cloud et le configurer. Connaitre les problématiques de sécurité propre au cloud.
CDS212 : Analyse et visualisation des données
2 Crédits
Apprenez à mener une analyse exploratoire des données afin de mieux comprendre votre jeu de données et l'ensemble des paramètres associés. Utilisez la puissance des graphismes pour mieux comprendre votre analyse de données avec Matplotlib. Visualisez en un clin d'œil vos outlier et les données non conformes. Réalisez des dashboard de suivi avec Dash. Visualisation de données multimédias. Données multidimensionnelles. Couleur, perception et cognition dans la visualisation. Programmation avec une librairie (Matplotlib, Seaborn, etc.) et logiciel Tableaux. L’objectif de ce cours centre sur les techniques de visualisation de grands volumes de données, est de présenter des techniques de visualisation d’information et de les appliquer aux problèmes de représentation et d’interaction avec de grands volumes de données.
CDS211 : Collecte et traitement des données
2 Crédits
Pour faire de l'intelligence artificielle, il faut des données. Apprenez à aller récupérer les données depuis de multiples sources : CSV, Bases de données, Open Dataset, Web Scraping. Une fois, les données récupérées, apprenez à les nettoyer et à les mettre au bon format afin de les rendre exploitables.
CDS210 : Fichiers et bases de données
2 Crédits
Introduction aux fichiers et bases de données. Architecture. Modèles d'organisation. Définition, création, mise à jour et consultation. Exploitation . Analyse de besoins : modèle entité-association. Modèle relationnel : concepts de base et algèbre relationnelle. Norme SQL (Standard Query Language) : langages de définition, de manipulation et de contrôle de données. Langage SQL enchâssé dans un langage algorithmique de programmation. Notions de contrôle d'accès concurrents et de gestion de transactions. Conception d'un schéma de base de données relationnelle : dépendances fonctionnelles et formes normales. Modèles de stockage de relations et de fichiers. Structures auxiliaires facilitant l'accès aux données : indexage et adressage dispersé.
CDS215 : Algorithmique et structures de données
2 Crédits
Structures de données séquentielles : listes, piles, files, vecteurs. Manipulation des structures de données séquentielles : insertion, recherche et retrait d'éléments. Structures linéaires (tableaux, listes chaînées, files, piles, ensembles, …). Méthodologie permettant de comprendre les approches algorithmiques, la complexité, le concept de variables, de structures de contrôle, de structures de données afin de concevoir et écrire des algorithmes. Le cours mélange des aspects mathématiques et algorithmiques, et vise à la fois à découvrir des structures de données et algorithmes fondamentaux en informatique et à affûter ses capacités de raisonnement. Opération sur les structures linéaires (insertion, suppression, recherche).
CDS110 : Python pour la Data Science
2 Crédits
Maitrisez le langage de référence de tous ceux qui gèrent les Big Data et qui travaillent en Intelligence Artificielle et data science. C’est un langage incontournable et le nombre d’utilisateurs dans le monde est exponentiel. Survol des concepts de bases des langages orientés script. Bonnes pratiques de programmation. Apprenez à manipuler les fichiers et les datasets à l'aide des librairies Numpy et Pandas. Éléments de base du langage Python : Variables, types de données, expressions et opérateurs, chaîne de caractères et fonctions de base de Python, structures de contrôle. Éléments avancés du langage Python : structures de données, fonctions, portée des variables, entrées et sorties, fichiers. Introduction des concepts de bases de l'apprentissage machine incluant : normalisation, classification, clustering.
CDS130 : Introduction à la programmation et aux scripts
2 Crédits
Survol des concepts de bases des langages orientés script. Bonnes pratiques de programmation. Études de cas. Différentes catégories de langages : langage de support pour une suite de logiciels orientée administration, langage de programmation interprété, multiparadigme et multiplateformes incluant la programmation impérative structurée, fonctionnelle et orientée objet. Introduction des concepts de bases de l'apprentissage machine incluant : normalisation, classification, clustering. Études des cas sur la sécurité cybernétique via l'utilisation des interfaces de programmation d'application.
STGC-CYO : Stage Cybersécurité Opérationnelle
10 Crédits
Prérequis : 15 Crédits
Stage optionnel réalisé au sein d'une entreprise qui s'adresse exclusivement aux étudiants inscrits au certificat en Cybersécurité Opérationnelle. Les participants doivent remettre un rapport à la fin du stage. L'étudiant exerce des activités reliées aux matières étudiées et résout des problèmes industriels ou environnementaux de complexité croissante. Les 9 crédits de stage ne sont pas comptabilisés pour l'obtention du certificat.
CYO600 : Projet Informatique – Cybersécurité Opérationnelle
6 Crédits
L’objectif de ce projet est double: d’une part, il permet de renforcer les notions vues en cours; d’autre part, il constitue un premier contact avec le travail en équipe. Les projets sont réalisés individuellement ou en binôme (groupes de 2 étudiants). Ce module vise à former à la résolution d’un problème scientifique et technique concret nécessitant l’élaboration d’une application informatique basée sur la cybersécurité. Il vise également à apprendre à travailler en équipe et à savoir présenter son travail de manière claire et concise, sous la forme d’un rapport écrit et d’une soutenance orale à l’aide d’un diaporama.
CYO520 : Intégration de la cybersécurité
2 Crédits
Prérequis : CYO510
Étude des grands principes d'inclusion de la sécurité informatique et de la protection des informations dans les entreprises. Mises en œuvre des cadres de politiques de sécurité. Formation des utilisateurs. Application des contrôles. Étapes d'atteinte et du maintien de la conformité. Analyses et gestion de la sécurité et du risque. Sécurité des actifs informationnels et opérationnels. Établissement et gestion des plans de remédiation basés sur la priorisation des risques. Inclusion de la cybersécurité dans les projets de déploiements de solutions technologiques. Mise en pratique des notions apprises en cybersécurité.
CYO510 : Architecture des réseaux
2 Crédits
Prérequis : CYO350
Caractéristiques de l'architecture des composantes réseaux dans un contexte de sécurité. Éléments physiques et logiques d'une architecture réseau. Principes d'élaboration et conception d'architecture sécurisée. Mécanismes et mesures de surveillance au sein d'une architecture réseau. Périmètre et zones de sécurité. Modèle d'architecture de type confiance zéro, tunnel privé virtuel, listes de contrôle d'accès. Renforcement et détection de vulnérabilité au sein d'une architecture réseau. Mesures préventives.
CYO500 : Sécurité des systèmes de contrôle industriels
2 Crédits
Prérequis : CYO310
Introduction de la sécurité des systèmes industriels. Systèmes de contrôle et d'acquisition de données en temps réel ICS/SCADA (Industrial Control Systems/Supervisory Control and Data Acquisition) et leurs composants. Aspects de la sécurité. Menaces et vulnérabilités intrinsèques des systèmes ICS/SCADA. Concepts des automates industriels programmables (PLC) et interfaces Homme/Machine. Analyse des logiciels malveillants sur les systèmes de contrôles industriels. Attaques sur un protocole de communication. Sécurité physique. Détection des intrusions dans l'environnement des systèmes informatiques industrielles. Défense en profondeur dans les environnements industriels.
CYO490 : Cryptographie appliquée
2 Crédits
Historique de la cryptographie. Algorithmes célèbres. Fonctionnement des algorithmes symétriques et asymétriques. Bases mathématiques de la cryptographie. Introduction à la cryptologie. Comprendre le cryptage matériel et logiciel. Perquisition d'éléments cryptés. Règles de la preuve canadiennes et internationales. Procédure de destruction d'items saisis. Outils logiciels et législatifs disponibles pour déchiffrer des données cryptées. Utilisation de l'attaque de force brute.
CYO480E : Advanced Hacking Investigation
2 Crédits
Prérequis : CYO310
Steps in a hacking investigation. Logging of web servers. Log analysis tools and techniques. General indications of suspicious activity. Vulnerability scans. Circumvention attacks. Session attacks. Injection attacks. Denial of service attacks. Web server attack scans and an introduction to malware scanning. Application exercises.
CYO480 : Enquête de piratage informatique avancée
2 Crédits
Prérequis : CYO310
Étapes d'une enquête de piratage. Journalisation des serveurs Web. Outils et techniques d'analyse de journaux. Indices généraux d'activités suspectes. Balayages de vulnérabilités. Attaques de contournement. Attaques de sessions. Attaques par injection. Attaque de déni de service (DOS). Analyses d'attaque de serveurs Web et introduction à l'analyse de programmes malveillants. Exercices d'application.
CYO470E : Intrusion Tests
2 Crédits
Prérequis : CYO310
Phases of a cyber-attack : recognition, scanning, exploiting vulnerabilities and obtaining access, maintaining access, covering traces. Hacking tools and techniques used in cyber-attacks. Social engineering, phishing, cyberattack case analysis. Planning of intrusion tests and consideration of legal aspects. Cyber-attack simulation.
CYO470 : Tests d'intrusion
2 Crédits
Prérequis : CYO310
Phases d'une cyberattaque : reconnaissance, balayage, exploitation des failles et obtention de l'accès, maintien de l'accès, couverture des traces. Outils et techniques de piratage utilisés lors de cyberattaques. Ingénierie sociale, hameçonnage. Analyse de cas de cyberattaques. Planification de tests d'intrusion et prise en compte des aspects légaux. Simulation d'une cyberattaque.
