6596

Baccalauréat en développement de jeux vidéo

Responsable : Bruno Bouchard
Regroupement de programmes : Module d'informatique et de mathématique
Secrétariat : (418) 545-5011, poste 5273
Coordonnatrice : Justine Lévesque
Coordonnatrice : Stéphanie Girard
Adresse électronique : sm_informatique-mathematique@uqac.ca
Grade : Bachelier ès sciences

Vidéo sur le programme

Présentation du programme

L'industrie du jeu vidéo est en pleine croissance partout dans le monde et le Québec occupe actuellement une place de choix dans la conception et le développement de nouveaux jeux. Selon des études récentes, le secteur connaît une expansion rapide, progressant au rythme de 20 à 30% par année selon les estimations. Le développement de l'industrie québécoise du multimédia et, plus particulièrement, du jeu vidéo est tributaire de la capacité de ses intervenants à développer du contenu original et de qualité. Plusieurs firmes installées au Québec ont hors de tout doute prouvé la créativité et le dynamisme de l'industrie dans la création de contenus originaux.

Cependant, le domaine souffre, à retardement, du même phénomène que le secteur des technologies de l'information qui a glissé dans une pénurie structurelle en main-d'œuvre. L'industrie subit une inadéquation qualitative entre l'offre de formation et les besoins des intervenants. Ainsi, la presque totalité des cours offerts dans ce domaine porte sur la maîtrise d''outils multimédias. Le secteur nécessite pourtant la création de programmes de formation de professionnels des nouveaux médias de haut niveau qui démarqueront les entreprises québécoises de leurs concurrents.

Le Baccalauréat en développement de jeux vidéo vise l'acquisition des connaissances essentielles pour concevoir et développer des jeux vidéo et des compétences pratiques de travail d'équipe. Le noyau de cours couvre la programmation en C++, l'intelligence artificielle, le multimédia, les réseaux, le génie logiciel et la gestion de projet. Dès le début de son programme de formation, l'étudiant est invité à intégrer une équipe de développement et de réalisation d'un jeu vidéo.

Le programme vise, au terme des trois années d'études, à former des spécialistes polyvalents en développement de jeux vidéo capables d'utiliser les outils professionnels et aptes à intégrer rapidement l'industrie.

Objectifs

Le Baccalauréat en développement de jeux vidéo a pour objectif général de former des professionnels polyvalents dotés de fortes compétences en informatique, aptes à participer au développement de la haute technologie dans les entreprises de l'industrie du jeu électronique, familiers avec les aspects non technologiques de leur future profession, comme la gestion de projet et les équipes de production, et sensibilisés au contexte et aux pratiques de l'industrie.

Les diplômés de ce programme auront acquis les compétences nécessaires pour solutionner des problèmes relevant du domaine de la conception de jeux vidéo, particulièrement la programmation C++, l'infographie 2D et 3D, l'intelligence artificielle, le multimédia, les réseaux, le génie logiciel et la gestion de projet.

Ils seront aptes à assumer des fonctions de programmeur de jeux, développeur gameplay, programmeur d'engins ou « core system », développeur UX/UI, programmeur en intelligence artificielle, intégrateur, directeur technique, gestionnaire de projets, de chef de production ou encore de responsable du contrôle de la qualité.

Objectifs spécifiques

Plus spécifiquement, le programme vise à:

Conditions d'admission

Base Études collégiales (DEC)

Être titulaire d'un diplôme d'études collégiales (DEC) ou l'équivalent, avoir obtenu une cote R d'au moins 23 et satisfaire les exigences en mathématique (1). Les personnes candidates dont la cote R est inférieure à 23 sont invitées à faire une demande d'admission au Certificat en développement de jeux vidéo (4697) et/ou au Certificat en design des systèmes de jeux vidéo (4692). Ces personnes candidates pourront par la suite acheminer une demande d'admission au baccalauréat sur la base Études universitaires.

ÉQUIVALENCE DU DEC : Pour les candidates et candidats ayant fait leurs études hors Québec, l'équivalence de la base d'études collégiales est établie à la suite de l'examen du dossier d'admission (2) en tenant compte des résultats académiques, notamment aux exigences en mathématique(1). Le diplôme d'études collégiales québécois comprend 13 années de scolarité. Les personnes candidates détenant un diplôme obtenu après seulement 12 ans de scolarité (ou ne détenant pas l'équivalent de la treizième (13e) année de scolarité au Québec) pourront être admis, conditionnellement à la réussite de l'Année préparatoire en mathématique et informatique (5719).

Base Études universitaires

Avoir réussi quinze (15) crédits de niveau universitaire au cours des cinq (5) dernières années, avoir obtenu une moyenne cumulative d'au moins 2,5/4,3 et satisfaire les exigences en mathématique (1).

(1)Exigences en mathématique:

Toute personne candidate devra avoir réussi, avant l'entrée dans le programme, les cours de mathématique collégiaux suivants, et ce, depuis au plus 5 ans :

Note :

Une étudiante ou un étudiant qui ne satisfait pas les exigences en mathématiques peut être admis au programme conditionnellement à la réussite des cours de la structure d'accueil avec une moyenne cumulative d'au moins 2,5/4,3:

Structure d'accueil

(2) Le dossier d'admission comprend :

Base Préparation suffisante

Posséder une expérience jugée pertinente et significative dans un domaine connexe (3) et posséder les exigences de base en mathématique (1). La personne candidate qui demande une admission sur cette base doit fournir un curriculum vitæ à jour. Lorsque requis, une entrevue pour être demandée pour évaluer ses connaissances. À la suite de l'évaluation, l'étudiante ou l'étudiant pourra se voir imposer un ou des cours d'appoint;

ou

Être titulaire d'une AEC dans un domaine de l'informatique et posséder une expérience jugée pertinente (4) et posséder les exigences en mathématique (1). La personne candidate qui demande une admission sur cette base doit fournir un curriculum vitæ à jour. Lorsque requis, une entrevue pourra être demandée pour évaluer ses connaissances. À la suite de l'évaluation, l'étudiante ou l'étudiant pourra se voir imposer un ou des cours d'appoint.

(3) Expérience pertinente et significative : expérience dans un domaine connexe. Cette expérience doit être d'une durée minimale de trois (3) ans à temps complet et attestée par l'employeur ou la personne responsable de l'organisme par écrit.

(4) Expérience pertinente: expérience dans un domaine connexe. Cette expérience doit être d'une durée minimale de deux (2) ans à temps complet et attestée par l'employeur ou la personne responsable de l'organisme par écrit.

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.

Contingentement

Ce programme n'est pas contingenté.

Règles relatives au français

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 candidats dont la langue maternelle n'est pas le français

Toute candidate ou tout candidat a un programme identifié, dont la langue maternelle n'est pas le français, est tenu de se soumettre au Test de français international (TFI) avant le début de son parcours universitaire à l'UQAC. 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.

É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 à ladmission pour tous les 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 bachelier 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, le candidat ou la candidate 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 candidats internationaux réguliers seront inscrits automatiquement au cours de français identifié par l'UQAC à leur premier trimestre d'inscription. Ils auront l'obligation de réussir le cours pour faire la preuve qu'ils possèdent les compétences linguistiques de base. Seuls les candidats internationaux réguliers provenant d'un lycée français seront soumis au test de français identifié par l'UQAC.

Règles administratives

L'admission au programme se fait aux trimestres d'automne et d'hiver.

Le programme d'études est offert à temps complet et à temps partiel.

Règlements pédagogiques particuliers

Les cours préalables au cours 8INF700 Sujet spécial en informatique dépendent du sujet choisi par l'étudiant ainsi que de la recommandation du professeur en charge.

Reconnaissance des acquis

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:

Cheminement DEC-BAC

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:

Perspectives professionnelles

Les perspectives d'emploi en développement de jeux vidéo sont excellentes. L'industrie du jeu électronique est en pleine croissance partout dans le monde et le Québec y occupe actuellement une place de choix. Le diplômé pourra orienter sa carrière selon un éventail étendu de possibilités : programmeur de jeux, développeur gameplay, programmeur d'engins ou «core system», développeur UX/UI, programmeur en intelligence artificielle, intégrateur, directeur technique, gestionnaire de projet, chef de production ou encore responsable du contrôle de qualité.

Perspectives d'études de cycles supérieurs

Le baccalauréat en développement de jeux vidéo permet d'accéder à des études de deuxième cycle dans les disciplines liées à l'informatique.

Structure du programme

Ce programme comprend quatre-vingt-dix (90) crédits répartis comme suit:

Plan de formation

Cours obligatoires

Les vingt-trois cours suivants (soixante-neuf crédits)

6GEI186Architecture des ordinateurs
6GEN719Infographie (8INF259)
6GEN723Réseaux d'ordinateurs (6GIN101 et 8INF259)
8DJV102Fondements théoriques des moteurs de jeu vidéo (8PRO128)
8DJV103Développement avancé avec des moteurs de jeu (8PRO135)
8DJV104Programmation réseau multi-joueurs en ligne (6GEN723 et 8PRO128)
8GIF150Conception de jeux vidéo
8GIF185Réalisation d'un jeu vidéo (8INF259)
8GIF225Atelier de production de jeux vidéo I (8GIF150 et 8GIF185)
8GIF235Atelier de production de jeux vidéo II (8GIF150 et 8GIF185)
8IAR125Intelligence artificielle pour le jeu vidéo (8INF259)
8IFG147Gestion de la production dans l'industrie du numérique
8INF242Interface (UI) et Expérience (UX) utilisateur
8INF257Informatique mobile (8PRO128)
8INF259Structures de données (8PRO107)
8INF342Systèmes d'exploitation (8INF259)
8INF435Algorithmique (8INF259 et 8MAT122)
8MAT122Structures discrètes
8PRO107Éléments de programmation
8PRO128Programmation orientée objet (8PRO107)
8PRO135Programmation avec des moteurs de jeu (8INF259 et 8PRO128)
8TRD150Animation et images par ordinateur (8PRO128)
8TRD151Introduction aux bases de données

Cours optionnels

Cinq cours parmi les suivants (quinze crédits)

4ETH236Éthique et informatique
7ARN161Création d'images numériques
7ARN408Photographie et images numériques
8ASY109Systèmes d'information organisationnelle
8CLD201Environnement de déploiement des applications (8WEB101)
8CLD202Infonuagique (8CLD201)
8DJV105Design des systèmes et des mécaniques de jeux
8DJV106Design de l'économie des jeux et monétisation
8DJV107Prototypage de jeux avec un langage de script (8PRO107)
8INF138Sécurité des réseaux et du Web
8INF206Projet
8INF228Adaptation et qualité des applications (8PRO128)
8INF334Modélisation et développement objet (8PRO128)
8INF342Systèmes d'exploitation (8INF259)
8INF349Technologies Web avancées (8PRO128 et 8WEB101)
8INF422Systèmes distribués (6GEN723 et 8INF342)
8INF436Forage de données (8IAR403)
8INF700Sujet spécial en informatique
8INF713Informatique théorique (8INF259 et 8MAT122)
8MAP107Calcul avancé I
8ROP515Recherche opérationnelle ((8INF259 et 8MQG210) ou (8INF259 et 8STT117))
8RVL201Réalité virtuelle et environnements immersifs (8PRO128)
8SEC201Cybersécurité défensive : vulnérabilités et incidents (8WEB101)
8SEC202Enquêtes numériques et cyber-intelligence (8WEB101)
8STT117Probabilité et statistique
8TRD157Bases de données avancées (8TRD151)
8WEB101Conception et programmation de sites Web

Un cours parmi les suivants selon le niveau de l'étudiant (trois crédits)

7ANG021English Skills I
7ANG022English Skills II (7ANG021)
7ANG023English Skills III (7ANG022)
7ENL520Critical Reading Skills and Comprehension (7ANG023)
7LNG104Rédaction
7LNG106Orthographe et grammaire de base
7LNG124Maîtrise du français

Un cours parmi les suivants (trois crédits)

1BIO152Écologie humaine
1BIO156Écotoxicologie
1ECL100Introduction à la science de l'environnement
1HSD120Histoire des sciences et démarche scientifique
1PHY145Introduction à la physique des sciences
1PHY604Introduction à la météorologie
6GLG110Notre planète

DESCRIPTION DES COURS

1BIO152 Écologie humaine

Étudier les relations de l'espèce humaine avec la biosphère (milieux naturels et milieux aménagés) et les autres organismes vivants.

Système terrestre et biosphère. Quelques notions de base en écologie. Nature biologique de l'espèce humaine: sa dépendance envers la biosphère et ses limites à l'adaptabilité. Évolution biologique (origine, diversité) et technique (agriculture et urbanisation). Population humaine: croissance historique, structure actuelle, niveau optimal de contrôle. Relations avec les ressources: aménagement et conservation. Écosystème urbain. Nécessité d'un équilibre entre le développement de la population humaine et la sauvegarde des milieux naturels.

Formule pédagogique : Cours Magistral

(03/2024)

1BIO156 Écotoxicologie

Acquérir des connaissances fondamentales sur les principaux types et les différents modes d'action des produits toxiques chez les organismes et les écosystèmes. Examiner et évaluer, plus particulièrement dans le contexte régional, les effets bioécologiques des toxiques.

Contexte de l'écotoxicologie. Le fonctionnement de la biosphère. Les fondements de la toxicologie. Les principaux types de toxiques. Modes d'action des toxiques. Effets des intoxications et mécanismes de défense des organismes. Évaluation des produits toxiques et de leur toxicité. Prédiction des effets écologiques. Évaluation des risques.

Formule pédagogique : Cours Magistral

(03/2024)

1ECL100 Introduction à la science de l'environnement

Démontrer l'importance des interrelations entre les différentes composantes physiques et biologiques de la biosphère. Faire acquérir un ensemble de notions et de concepts scientifiques permettant d'évaluer directement les causes et les relations possibles aux crises environnementales secouant nos sociétés.

Bilan de santé de la Terre au tournant du millénaire par l'étude des grandes crises environnementales et de leurs impacts sur la structure et le fonctionnement de la biosphère. Variables écologiques fondamentales: énergie, matière, espace, temps et diversité. Étude détaillée de l'énergie en termes de bilan et de flux: exemples pour divers écosystèmes et partitionnement de l'énergie chez les individus. Étude détaillée de la matière par le biais des cycles biogéochimiques: les cycles de l'eau, du carbone, de l'azote, du soufre et du phosphore sont donnés en exemple montrant les différentes stratégies possibles et leurs limitations. Quelques exemples de l'impact des activités humaines sur la biosphère sont discutés: le réchauffement global, la couche d'ozone, les déchets toxiques. Concept de développement durable vu dans une perspective d'outil de développement pour répondre aux besoins de nos sociétés.

Formule pédagogique : Cours Magistral

(03/2024)

1HSD120 Histoire des sciences et démarche scientifique

Prendre conscience que les sciences constituent une activité humaine et qu'elle est évolutive. Établir les liens que l'activité scientifique entretient avec la dynamique sociale. Connaître les éléments historiques qui ont façonné la science et son évolution.

Connaissance de l'histoire des sciences, condition et production, rupture ou résolutions scientifiques, légitimité des savoirs. Développement des sciences en contexte culturel. Étude de concepts centraux en sciences: système et complexité, nature et objet de la méthode expérimentale, lois et théories scientifiques. Critique de la démarche scientifique. Interaction du développement de la science et de la technologie et incidences sociales.

Formule pédagogique : Cours Magistral

(03/2024)

1PHY145 Introduction à la physique des sciences

Connaître et savoir appliquer les lois qui régissent les concepts de base de la physique dans le but d'acquérir les compétences nécessaires à la résolution de problèmes concrets en lien avec la mécanique classique, l'optique géométrique et les principes de base de l'électricité et de l'électromagnétisme.

Mécanique classique : mouvements d'objets macroscopiques dans l'espace et dans le temps en utilisant les notions de position, de déplacement, de vitesse et d'accélération. Analyse et description des causes et des variations du mouvement à l'aide des trois lois de Newton et du principe de la conservation de l'énergie mécanique. Bilan énergétique des corps en mouvement basé sur les notions de travail, d'énergie potentielle et d'énergie cinétique.

Optique géométrique : principes de Fermat et d'Huygens, réflexion, réfraction, miroirs, lentilles, et instruments optique classiques. Phénomènes électriques et magnétiques : notion de base de l'électrostatique (charge électrique, force électrostatique et champ électrique). Analyse de circuits électriques simples basée sur la loi des nœuds et des mailles. Loi d'Ohm et puissance électrique. Notion de base du magnétisme (attraction magnétique, champ magnétique, aimants, solénoïde, fil parcouru par un courant).

Formule pédagogique : Cours Magistral

(03/2024)

1PHY604 Introduction à la météorologie

Comprendre des phénomènes physiques dont l'atmosphère est le siège et qui sont à la base des méthodes de prévision du temps.

Soleil, Terre et atmosphère. Radiation terrestre, bilan radiatif, température. Systèmes de pression, vents locaux, mousson, force de Coriolis, circulation générale. Humidité, condensation, types de nuages. Stabilité atmosphérique. Précipitations. Diagrammes aérologiques. Masses d'air, fronts, perturbations, cyclones frontaux, cyclones tropicaux, tornades. Prévisions du temps. Régimes climatiques, classification des climats, climagrammes. Météo et environnement, pollution atmosphérique.

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)

6GEI186 Architecture des ordinateurs

Familiariser avec la structure et le fonctionnement des ordinateurs modernes.

Organisation vs architecture, évolution des ordinateurs et de leur performance, rappel d'arithmétique binaire (virgule fixe, virgule flottante), jeu d'instructions d'un microprocesseur, modes d'adressage, opération d'un ordinateur (composantes et fonctions, interconnexions), fonctionnement des antémémoires («caches»), mémoires vives (DRAM), mémoires de masse (disques, RAID), entrées/sorties (périphériques, DMA), support au système d'exploitation, structure et fonction d'un CPU (registres, pipelines), ordinateurs à jeu d'instructions réduit (RISC), systèmes multi-coeurs, traitement parallèle.

Formule pédagogique : Cours Magistral

(03/2024)

6GEN719 Infographie

Maîtriser les concepts du graphisme par ordinateur et pouvoir développer des applications logicielles nécessitant l'utilisation de dessins tridimensionnels (3D) interactifs.

Concept de la caméra synthétique, langages et librairies de programmation graphique, interaction avec l'usager, rappels de notions de base en calcul vectoriel et en géométrie, matrices de transformation (translation, rotation, mise à l'échelle, cisaillement), quaternions, matrices de projection (parallèles et perspective), élimination des surfaces cachées, illumination des objets, création d'objets complexes en utilisant une structure hiérarchique, application de textures, création de courbes et de surfaces en 3D.

Préalable(s): (8INF259)

Formule pédagogique : Atelier

(03/2024)

6GEN723 Réseaux d'ordinateurs

Comprendre le fonctionnement, planifier l'installation et utiliser un réseau d'ordinateurs. Se familiariser aux diverses couches d'implantation d'un réseau d'ordinateurs. S'initier aux principaux protocoles de communication et de routage des messages. Se familiariser avec les principales composantes d'un réseau d'ordinateurs. Utiliser les services de base d'un réseau à l'intérieur d'un programme.

Topologies, modèle de référence OSI, les standards, exemples de réseaux. La couche physique: supports de transmission, propagation des signaux, interfaces standards, transmission de l'information (asynchrone, synchrone, composants de communication). La sous-couche d'accès physique: les protocoles CSMA, anneau à jeton et bus à jeton (norme 802), format des trames, comparaison des performances, les réseaux à fibres optiques (FDDI). La couche liaison de données: reconnaissance de trames, contrôle des erreurs, protocoles élémentaires. La couche réseau: interconnexion (répéteurs, ponts, aiguilleurs), algorithmes de routage, les protocoles d'applications spécifiques. Couche transport: modèle client-serveur, appel de procédure à distance. Couches sessions et présentation, cryptage des données. Couche application, Internet et ses protocoles.

Préalable(s): (6GIN101 et 8INF259)

Formule pédagogique : Cours Magistral

(03/2024)

6GLG110 Notre planète

Amener à connaître et à comprendre la formation de la Terre et les mécanismes qui en gouvernent l'évolution. Présenter la Terre comme un système intégré d'interactions entre les roches, l'eau, l'air et la vie, unique dans le système solaire.

Dynamique du développement de la Terre. Son passé: formation du système solaire, organisation interne de la Terre et développement des premiers continents; supercontinents, plaques tectoniques, chaînes de montagnes; emprise et évolution de la vie à la surface du globe terrestre; fossiles, faune et flore caractéristiques des grandes ères de l'histoire de la Terre. Son présent: géodynamique interne, séismes, volcanisme et fonds océaniques; anatomie de la croûte continentale, roches, minéraux et minerais caractéristiques; géodynamique externe, analyse des paysages, eaux superficielles et souterraines; sédiments et roches sédimentaires; circulations atmosphérique et océanique, climats, glaciations. Son avenir: épuisement et surutilisation des ressources, pollution naturelle; interactions entre les activités humaines et l'environnement; changements climatiques au cours des périodes géologiques récentes et leurs incidences sur l'évolution passée et future de l'homme; développement "viable".

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

7ARN161 Création d'images numériques

Connaître les principales technologies de l'information et de la communication qui permettent la création des images numériques 2D. Sensibiliser à un certain nombre de concepts relatifs à l'image numérique, que celle-ci soit de provenance optique (images photographiques) ou le résultat de calculs effectués par des ordinateurs (images vectorielles). Sensibiliser à une démarche de production artistique dans un contexte de mutations technologiques. Susciter l'intérêt pour la recherche tout en privilégiant une approche interdisciplinaire.

Apprentissage des principaux processus de création de l'image numérique à travers une série de courts projets. Expérimentation avec les logiciels de traitement d'images matricielles (Adobe Photoshop) et le logiciel de création graphique vectorielle (Adobe Illustrator). Connaissance du contexte d'émergence des arts numériques et ses enjeux afin de mieux y inscrire sa pratique. Théorisation et pratique de concepts relatifs à l'image issue des arts technologiques depuis l'avènement de l'infiltration des anciens médias par l'informatique (images numérisées i.e. la photo) et la création des formes inédites numériques.

Formule pédagogique : Atelier

(03/2024)

7ARN408 Photographie et images numériques

Transmettre une connaissance de base du matériel et des processus photographiques ainsi que leurs applications, et ce, à partir de techniques traditionnelles et numériques. Initier aux connaissances fondamentales de l'esthétique photographique.

Survol historique et analyse esthétique du rôle de la photographie. Utilisation et maîtrise des différentes composantes de l'appareil photo d'aujourd'hui. Apprentissage des logiciels du traitement de l'image numérique. Réalisation de projets photographiques et d'images numériques en relation avec d'autres moyens de production.

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

8ASY109 Systèmes d'information organisationnelle

Comprendre l'importance de l'information dans le monde qui nous entoure et en particulier dans les organisations. Familiariser avec les concepts liés aux systèmes d'information et à leur intégration dans les organisations.

Notion de système d'information (SI). Les différentes technologies de l'information. Les systèmes et la systémique, l'information et la décision. La recherche d'information. La relation entre SI et organisation. Les types de SI. Les étapes du développement et introduction aux méthodologies de développement. Survol d'un progiciel de gestion intégré. Problèmes et stratégies de mise en place des SI. Gestion de l'informatique. SI, stratégie et avantages concurrentiels.

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

8GIF150 Conception de jeux vidéo

Initier la personne étudiante au processus de conception (design) d'un jeu vidéo. Introduire la personne étudiante au contexte et aux pratiques de l'industrie du jeu vidéo ainsi qu'aux exigences pour y œuvrer.

Contexte actuel et histoire de l'industrie du jeux vidéo. Design des règles et des mécaniques d'un jeu vidéo. Relations entre les éléments du jeu, les règles et la jouabilité. Design narratif et design systémique. Tâches du concepteur de jeu. Caractérisation des conditions initiales et de victoire. Étude des stratégies, des tactiques et de leur équilibre. Notions de bases de design : les 3C, la symétrie, la rétroaction, le flow, etc. Étude de cas avec des jeux connus et récents. Outils automatisés pour le design des jeux vidéo. Processus de prototypage et d'idéation. Éthique dans la conception des jeux vidéo.

Formule pédagogique : Magistral et/ou formation à distance

(03/2024)

8GIF185 Réalisation d'un jeu vidéo

Se familiariser avec tous les aspects de la réalisation d'un jeu vidéo, de l'idée à la distribution. Faire connaître les enjeux et les facteurs de succès de la réalisation d'un jeu. Effectuer l'ensemble des étapes relatives à la pré-production d'un jeu. Développer les compétences nécessaires à la mise en place d'une équipe de développement d'un jeu vidéo. Préparer un projet de jeu complet, incluant un prototype, pour validation devant jury.

Définition d'un concept de jeu suivant le modèle de l'industrie. Revue des éléments propres à la réalisation d'un jeu, de l'idée au déploiement : contexte, programmation, tests, commercialisation, support, ressources humaines et matérielles, gestion du projet, facteurs de risque, financement, etc. Réalisation de la phase de pré-production en vue des cours subséquents d'atelier de production. Démarrage d'un projet de production d'un jeu (portfolio) et mise en place des mécanismes de gestion (logiciel de gestion de projet, système de gestion des versions et de partage de code). Élaboration d'un prototype de jeu avec un moteur de jeu (ex. Unity 3D ou UDK). Présentation d'un projet devant un jury avec la pré-production complétée afin d'obtenir l'approbation de la phase de production.

Préalable(s): (8INF259)

Formule pédagogique : Cours Magistral

(03/2024)

8GIF225 Atelier de production de jeux vidéo I

Permettre de faire la synthèse des connaissances acquises dans les cours du programme par la participation active à la réalisation d'un prototype de jeu dans le cadre d'ateliers de production.

Soumission d'un plan de travail au début du cours. Production d'un prototype de jeu en équipes multidisciplinaires. Élaboration, planification et rédaction des documents liés à la préproduction. Rapport faisant état de la contribution de l'étudiante ou l'étudiant dans la réalisation du prototype accompagné de son curriculum vitæ. Rapport d'avancement du projet à la fin du cours. Présentation du prototype et évaluation.

Préalable(s): (8GIF150 et 8GIF185)

Formule pédagogique : Atelier et/ou formation à distance

(03/2024)

8GIF235 Atelier de production de jeux vidéo II

Permettre de faire la synthèse des connaissances acquises dans les cours du programme par la participation active à la réalisation d'un prototype de jeu dans le cadre d'ateliers de production.

Soumission d'un plan de travail au début du cours. Production d'un prototype de jeu en équipes multidisciplinaires. Élaboration, planification et rédaction des documents liés à la préproduction. Rapport faisant état de la contribution de l'étudiante ou l'étudiant dans la réalisation du prototype accompagné de son curriculum vitæ. Rapport d'avancement du projet à la fin du cours. Présentation du prototype et évaluation.

Préalable(s): (8GIF150 et 8GIF185)

Formule pédagogique : Atelier et/ou formation à distance

(03/2024)

8IAR125 Intelligence artificielle pour le jeu vidéo

Introduire aux techniques d'intelligence artificielle utilisées dans la conception de jeux vidéo. Utiliser ces techniques pour atteindre un haut niveau de réalisme. Mettre en oeuvre différents concepts à l'aide d'un langage de programmation orienté objet.

Application des techniques de l'intelligence artificielle au domaine des jeux vidéo. Modélisation du jeu: incertitude et dynamique du jeu, représentation de l'environnement, architecture d'agents intelligents, modélisation de comportements (d'équipes, de conduite,...) utilisation des graphes dans les jeux vidéo. Comportement des agents et choix d'actions: Heuristiques, algorithmes de recherche (tel que A*, Hill-climbing, Alpha-Beta, Minimax, etc.), applications des processus de Markov. Apprentissage et représentation de connaissances: Réseaux de neurones, réseaux bayesiens, logique classique et logique floue, systèmes à base de règles. Chaque concept sera illustré par des exemples tirés du domaine des jeux vidéo.

Préalable(s): (8INF259)

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

8INF242 Interface (UI) et Expérience (UX) utilisateur

Comprendre comment développer un système d'interactions de qualité avec l'utilisateur d'une application logicielle en créant une expérience et des interfaces centrées sur ses besoins. Maîtriser les principes d'ergonomie, de perception, de navigation et de design d'une interface. Savoir tester son expérience utilisateur en concevant des tests adaptés.

Model mental de l'humain et approche de design centré utilisateur. Phases du processus de design centré utilisateur. Type d'apprentissages et comment enseigner à travers la dynamique du système. Revue des dispositifs d'interaction de base et les techniques associées, étude de plusieurs paradigmes autour de l'exploitation de ces techniques. Biais cognitifs. Perception, mémoire, attention, motivation et apprentissage de l'usager. Contrôle et rétroaction. Consistance et clarté. Esthétique et atmosphère. Spécificité des interfaces sur ordinateurs, consoles et plateformes mobiles. Autres types d'interfaces : gestes, voix, projection, capteurs, etc. Prévention des erreurs humaines. Générer l'engagement de l'usager. La notion de "Flow". Tests d'utilisabilités et heuristiques d'évaluation.

Formule pédagogique : Magistral et/ou formation à distance

(03/2024)

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

(03/2024)

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

(03/2024)

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

(03/2024)

8INF342 Systèmes d'exploitation

Initier aux principaux concepts reliés aux systèmes d'exploitation des ordinateurs. Étudier les concepts fondamentaux des systèmes d'exploitation, à l'aide d'exemples pratiques et simulés. Introduction à Linux et aux commandes de base dans le terminal. Gestion des processus sous Linux.

Historique et composantes principales des systèmes d'exploitation. Gestion des processus : définition et concept, modèles de processus, états des processus, modes d'exécutions du CPU, clonage en Linux. Threads : définition et concept, multithreading, avantages, threads niveau utilisateur et niveau kernel. Synchronisation : situation de course, exclusion mutuelle, mécanismes de synchronisation, sémaphores, problèmes classiques de synchronisation. Interblocage : diagrammes de trajectoire des ressources, graphe d'allocation des ressources, gestion, prévention et détection des interblocages. Ordonnancement : long-terme, moyen-terme (swapping) et court-terme (dispatcher), priorités, politiques d'ordonnancement, ordonnancement multiprocesseur et multicœur. Mémoire : concepts-clés, partitionnement simple et dynamique, mémoire virtuelle, pagination, segmentation, traduction des adresses, tables de page. Gestion de la mémoire : algorithmes de remplacement des pages. Systèmes de fichiers et entrées/sorties : gestion de la mémoire secondaire, DMA, accès aux disques. Illustration pratique et application des notions en C++.

Préalable(s): (8INF259)

Formule pédagogique : Magistral et/ou formation à distance

(03/2024)

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

(03/2024)

8INF422 Systèmes distribués

Permettre à l'étudiant de maîtriser et approfondir les principes des échanges et de communication des systèmes distribués à base objet, composant et service. Approfondir les notions de protocoles de présentation, de session et d'application.

Modèles et architectures des applications réparties: client-serveur, deux-tiers, trois-tiers, peer-to-peer, code mobile, Grid et cloud computing. Plateformes distribuées et types de middlewares. Types de communication : par message, par procédure, et par objet. Modélisation d'applications distribuées avec UML. Développement des applications distribuées à l'aide d'un paradigme model-vue-contrôleur, notamment dans le contexte de l'Internet. Traitement du côté client versus traitement du côté serveur, contrôle de session, gestion des formulaires, contrôle des erreurs. Concepts d'applications riches (AJAX). Concept de services Web (SOAP) et de ressources (R).

Préalable(s): (6GEN723 et 8INF342)

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)

8INF436 Forage de données

Acquérir des connaissances avancées en apprentissage automatique pour l'analyse de données massives. Se familiariser avec les algorithmes de l'apprentissage supervisé et non supervisé en ligne et distribué. Mettre en pratique les connaissances acquises sur des cas réels en science des données.

Fondements de l'apprentissage automatique. Données massives et contraintes calculatoires. Flux de données. Algorithmes d'échantillonnage et comptage. Réduction de dimensionnalité. Dérive conceptuelle et détection de ruptures. Apprentissage supervisé en ligne. Algorithmes incrémentaux. VFDT. Apprentissage non-supervisé en ligne. Clustering incrémental. STREAM. Distribution de données massives. MapReduce et Hadoop. Apprentissage parallèle et grille informatique. Ensemble de méthodes et combinaison de modèles. Motifs fréquents et règles d'association distribuées. Apprentissage profond. Apprentissage semi-supervisé en ligne. Méthodologie d'apprentissage et ingénierie du logiciel. Fouille des réseaux sociaux. Environnement d'apprentissage et utilisation de librairies. Les exercices seront réalisés avec MOA (Massive Online Analysis), WekaHadoop, TensorFlow, Python.

Préalable(s): (8IAR403)

Formule pédagogique : Magistral et/ou formation à distance

(03/2024)

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

(03/2024)

8INF713 Informatique théorique

Étudier les fondements théoriques de l'informatique afin de comprendre quelles sont les propriétés et les limites des ordinateurs.

Formalisation des notions de problème et de langage. Automates finis, expressions régulières et langages réguliers. Automates à pile et langages hors-contextes. Machines de Turing, langages récursifs et récursivement énumérables. Indécidabilité. Réductibilité. Classes de complexité. Hiérarchies.

Préalable(s): (8INF259 et 8MAT122)

Formule pédagogique : Cours Magistral

(03/2024)

8MAP107 Calcul avancé I

Comprendre les notions et les outils du calcul différentiel à plusieurs variables, en particulier la dérivée vectorielle, le gradient et la dérivée directionnelle, avec une insistance sur les interprétations géométriques et physiques.

Introduction aux équations différentielles: exemples, ordre d'une équation, équations linéaires. Équations différentielles linéaires d'ordre 1: facteur intégrant, problème de valeur initiale, comportement à l'infini, représentation graphique, champ de directions. Les vecteurs de Rn et les vecteurs géométriques: repère cartésien, vecteur position d'un point, norme et distance, coordonnées polaires. Produits scalaire, vectoriel et mixte: propriétés, interprétations géométrique et physique (travail, moment vectoriel, flux). Projections scalaire et vectoriel d'un vecteur. Différentes équations d'une droite et d'un plan: paramétrique, normal-point et algébrique. Introduction aux nombres complexes. Fonctions vectorielles d'une variable: courbes paramétrées, hélices circulaire et elliptique, cubique gauche, intersection d'un plan et d'un cylindre conique, trajectoire d'une particule, dérivée et règles de dérivation, vecteur tangent, intégrale définie, intégration et condition initiale, longueur d'arc, vecteurs vitesse et accélération, vitesse et accélération. Fonctions scalaires: relation entre variables, fonction de plusieurs variables et graphe, surface de révolution, les quadriques, courbes et surfaces de niveau, limite et continuité, dérivées partielles et dérivée le long d'une droite parallèle à un axe, dérivée directionnelle et dérivée le long d'une droite orientée, vecteur gradient et interprétation géométrique, variation optimale d'une fonction, dérivation des fonctions composées et dérivée le long d'une courbe orientée, plan tangent à une surface définie par une relation, plan tangent à une graphe et approximation linéaire, dérivées partielles d'ordre supérieur, introduction à l'optimisation (extremums locaux, points critiques, test de dérivées secondes, ensemble fermé et borné, frontière, extremums globaux, multiplicateurs de Lagrange). Utilisation de la différentielle totale pour le calcul d'erreurs. Formules et séries de Taylor à une et deux variables : approximations d'une fonction. Applications en ingénierie: principe de superposition des forces et des vecteurs vitesses, les 3 lois de Newton, intégration de la deuxième loi de Newton et conditions initiales, vecteurs accélérations normale et tangentielle, topographie, équations de Laplace, de la chaleur et des ondes. Utilisations d'un logiciel de calcul.

Formule pédagogique : Cours Magistral

(03/2024)

8MAT122 Structures discrètes

Connaître diverses structures et méthodes mathématiques utilisées en mathématiques, en informatique et en recherche opérationnelle.

Éléments de la logique: propositions, quantificateurs, prédicats, déduction. Éléments de la théorie des ensembles: relations, opérations et fonctions. Éléments de la combinatoire: nombre, induction, comptage, énumération. Éléments de la théorie des graphes: arbres, treillis, traversées. Structures algébriques de base: monoïdes, algèbre de Boole, groupes. Applications à l'informatique: numéros, langages, automates, circuits logiques, codes.

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)

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

(03/2024)

8PRO135 Programmation avec des moteurs de jeu

Se familiariser avec les éléments fondamentaux caractérisant un moteur de jeu. S'initier à l'utilisation d'un moteur de jeu professionnel et à son exploitation avec un langage de programmation. Se rendre apte à développer des logiciels de jeux en exploitant différents moteurs de jeu. Se familiariser avec les outils connexes à l'utilisation d'un moteur de jeu, tels qu'un système de gestion de version, de partage de code, de gestion de projet, et de « bug tracking ». Permettre de devenir autonome et apte à travailler dans une équipe dans la réalisation de projets de développement de jeux.

Introduction aux concepts fondamentaux caractérisant un moteur de jeu. Description d'une boucle de jeu typique (entrées/sorties, gameplay, physique, rendu, son, etc.). Introduction aux shaders et aux outils d'édition visuels. Création et gestion de scènes via une interface d'édition. Modèle Entity-Component-System. Notions de sérialisation. Intégration de ressources (ex. : textures, modèles 3D, squelettes, animations, sons, etc.). Familiarisation avec la structure et le fonctionnement de moteurs de jeu professionnels tels que Unity3D et Unreal Engine. Navigation dans l'interface de moteurs de jeu. Exploitation de l'outil d'édition. Importation de ressources externes. Utilisation et réutilisation d'objets préfabriqués. Développement de base avec les langages C++ et C# avec Visual Studio et Jetbrains Rider en interaction avec le moteur. Apprentissage des outils de débogage. Utilisation des moteurs en interaction avec un système de gestion de versions (ex. Github et Perforce). Utilisation de systèmes de gestion de projets et de suivi de bogues (ex. Jira). Utilisation d'un magasin (assets store). Exercices pratiques d'implémentation de fonctionnalités avec des moteurs de jeu. Utilisation et création d'outils pour les moteurs de jeu.

Préalable(s): (8INF259 et 8PRO128)

Formule pédagogique : Magistral et/ou formation à distance

(03/2024)

8ROP515 Recherche opérationnelle

Fournir une connaissance des approches et des outils modernes permettant de modéliser et de solutionner différents problèmes d'optimisation.

Approches exactes: programmation linéaire, programmation linéaire en nombres entiers, programmation dynamique. Approches spécifiques à des problèmes de réseaux: gestion de projet, transport, affectation, le plus court chemin, flot maximal, flot à coût minimal, etc. Approches heuristiques: heuristiques simples et méthodes d'intelligence artificielle. Simulation. Problèmes de satisfaction de contraintes (CSP). Utilisation de logiciels et applications.

Préalable(s): ((8INF259 et 8MQG210) ou (8INF259 et 8STT117))

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)

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 dattaques. 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

(03/2024)

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

(03/2024)

8STT117 Probabilité et statistique

Présenter les principes fondamentaux des probabilités et de la statistique. Développer une appréciation du rôle des modèles probabilistes dans les sciences et dans le monde du travail en général.

Concepts de population, échantillon, variable aléatoire et processus stochastique. Statistique descriptive. Moyenne mobile et exponentielle. Probabilité. Principales lois de probabilité paramétrique et non-paramétrique. Lois Bernoulli, uniforme, normale. Processus et loi de Poisson. Loi empirique. Estimation par noyau. Test d'hypothèse. Comparaison de deux proportions. Régression linéaire simple. Méthode de Monte Carlo. Introduction à la modélisation et simulation. Une partie des exemples et des exercices seront réalisés en Python.

Formule pédagogique : Cours Magistral

(03/2024)

8TRD150 Animation et images par ordinateur

Apprendre des méthodes utilisées dans le domaine de l'animation par ordinateur en trois dimensions. Initier aux techniques d'imagerie utilisées dans l'industrie des jeux vidéo.

Rappels mathématiques : Programmation de shaders; Plaçage de textures et techniques associé; Rendu à partir d'images; Calcul d'ombres. Occusion ambiante. Implémentation d'outils d'édition de courbes; Structures hiérarchiques et cinématique inverse; Détection de collisions; Simulation physique; Simulation de phénomènes naturels; Calcul général à l'aide d'un GPU; Initiation au traitement d'images.

Préalable(s): (8PRO128)

Formule pédagogique : Magistral et/ou formation à distance

(03/2024)

8TRD151 Introduction aux bases de données

Connaître les différentes composantes des bases de données, leurs niveaux d'abstraction et les techniques d'organisation des données en mémoire secondaire. Introduire aux principaux concepts des systèmes de gestion de bases de données relationnelles.

Historique des types de SGBD (Hiérarchique, Réseau, Relationnel et Relationnel/Objet), Les grands fabricants de SGBD et les produits du logiciel libre, processus de conception de BD relationnelle: analyse, modélisation conceptuelle et introduction à la théorie de la normalisation. Les bases du langage SQL pour la définition des données (LDD), la manipulation des données (LMD) et le contrôle des données (LCD). Extensions procédurales de SQL pour l'interface entre les bases de données et les programmes d'application Java (SQLJ, JBDC et PL/SQL). Gestion des données en mémoire secondaire et organisation unidimensionnelle des données. Étude et expérimentation d'un SGBD réel. Utilisation d'un système de gestion de bases de données d'entreprise (Oracle). Réalisation d'un travail de conception et d'exploitation d'une base de données.

Formule pédagogique : Magistral et/ou formation à distance

(03/2024)

8TRD157 Bases de données avancées

Faire connaître les composants avancés des bases de données: bases de données multimédia (Textes, Images et XML) et bases de données pour le commerce électronique (centralisées et/ou client/serveur). Introduire aux concepts avancés des systèmes de gestion de bases de données relationnelles. Initier aux architectures de bases de données impliquées dans le commerce électronique. Approfondir les concepts de modélisation, de conception, d'implantation et d'administration de bases de données hétérogènes centralisées ou réparties auxquelles on peut accéder par des applications conventionnelles ou en mode client/serveur (intranet ou Internet).

Introduction aux bases de données multimédia: 1) base de données de gestion documentaire: types de données multimédia, modèle relationnel-objet, requêtes multimédia (ABR, CBR et CBIR), méthodes de classification, d'indexation et de segmentation des données multimédia. Particularités des techniques de requêtes, présentation et conception des BDMM texte, image et XML. Méthodes d'interrogation et de manipulation des bases de données multimédia (SQL3). Réalisation d'un système d'applications multimédia dans un environnement multi-analystes et multi-usagers selon une approche centralisée et client-serveur en passant par toutes les étapes de conception. Problèmes d'intégrité des données. Problématique des bases de données pour le commerce électronique et stratégies d'accès par intranet ou Internet aux bases de données de production. Particularités des méthodes d'accès et techniques de protection de l'intégrité des données. Liaison de tables locales clientes avec des tables externes par un protocole normalisé (ex. odbc, ...) ou propriétaire (ex. Net8). Concepts d'importation, d'exportation et d'attache de tables. Stratégies de réplication synchrone et asynchrone. Configuration d'un environnement répliqué et le concept maître - esclave. Gestion des collisions et les mécanismes de solution. Règles de répartition des données et des fonctions dans un environnement client/serveur. Solutions propriétaires et publiques pour la compatibilité http-html-sql-dbms (ex. PHP, JSS,...).

Préalable(s): (8TRD151)

Formule pédagogique : Cours Magistral

(03/2024)

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

(03/2024)