1537

Maîtrise en informatique (jeux vidéo)

Responsable : Bob-Antoine Jerry Ménélas
Regroupement de programmes : Programmes d'études de cycles supérieurs en informatique
Secrétariat : (418) 545-5011, poste 2901
Coordonnatrice : Justine Lévesque
Coordonnatrice : Stéphanie Girard
Adresse électronique : spcs_informatique@uqac.ca
Grade : Maître ès sciences

Profil professionnel

Présentation du programme

La concentration « développement de jeux vidéo » de la Maîtrise en informatique (profil professionnel) s'adresse à des étudiantes ou étudiants désirant profiter d'une formation de haut niveau en développement de jeux vidéo. Elle vise les étudiants ayant obtenu un Baccalauréat en informatique ou en développement de jeux vidéo, ainsi que les professionnels désirant compléter leur formation.

Pour consulter la description du profil Recherche de la Maîtrise en informatique, vous référer au code 3017

Pour consulter la description du profil Professionnel de la Maîtrise en informatique, vous référer au code 3037

Pour consulter la description du profil Professionnel-concentration Cybersécurité de la Maîtrise en informatique, vous référer au code 2138

Pour consulter la description du profil Professionnel-concentration Intelligence artificielle de la Maîtrise en informatique, vous référer au code 2139

Objectifs

Cette concentration a pour but de former des informaticiens possédant des compétences de haut niveau en développement de jeux vidéo. Elle vise aussi à fournir les connaissances et compétences poussées dans le domaine, en plus de former des spécialistes aptes à s'adapter à l'évolution rapide des méthodes informatiques inhérentes à cette industrie.

Objectifs spécifiques

Plus spécifiquement, le programme vise à:

Clientèle visée

La concentration s'adresse aux bachelières et bacheliers désirant obtenir une spécialisation de haut niveau dans le domaine du développement de jeux vidéo; Aux étudiants provenant des programmes d'informatique ou de baccalauréat en développement de jeux vidéo; Aux professionnels sur le marché du travail désirant parfaire leur formation.

Conditions d'admission

Base Études universitaires

Être titulaire d'un baccalauréat, ou l'équivalent, en informatique, en informatique de gestion, en génie informatique ou d'un baccalauréat avec majeure en conception de jeux vidéo, obtenu avec une moyenne cumulative d'au moins 3/4,3 ou l'équivalent. Cependant, tout dossier de candidats détenteurs d'un baccalauréat obtenu avec une moyenne cumulative inférieure à 3 mais, égale ou supérieure à 2,8/4,3 (ou équivalent) sera étudié par le sous-comité d'admission et d'évaluation du programme et pourrait faire l'objet d'une recommandation d'admission.

Base Préparation suffisante

Posséder les connaissances requises, une formation appropriée et une expérience jugée pertinente.

Les méthodes et les critères de sélection consistent à l'évaluation du dossier scolaire et des lettres de recommandation. Les documents suivants sont donc attendus:

Les candidats qui présentent une demande sur la base de l'expérience pertinente seront convoqués à une entrevue. Avant d'être admis au programme, le candidat peut être appelé à compléter sa formation par une propédeutique ou par des cours d'appoint.

Maîtrise des compétences informationnelles

Toutes personnes admises dans le cadre d'un programme menant au grade de maître doivent faire la preuve qu'elles possèdent une maîtrise suffisante des compétences informationnelles requises aux cycles supérieurs. Cette preuve est attestée par l'atteinte du résultat minimum exigé au test initial prévu à l'activité CICS900-Compétences informationnelles cycles supérieurs. À défaut d'atteindre le résultat exigé, les personnes devront compléter l'activité CICS900-Compétences informationnelles cycles supérieurs. Les modalités relatives à cette exigence sont définies dans la Politique en matière de maîtrise des compétences informationnelles dans les programmes de cycles supérieurs.

Règle administrative

Ce programme est ouvert aux admissions aux trimestres d'automne, d'hiver et d'été.

Durée du programme et régime d'études

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

La durée maximale d'un programme de maîtrise est de neuf (9) trimestres en régime à temps complet et de quinze (15) trimestres en régime à temps partiel.

Note :

Pour les fins d'inscription et de paiement des frais de scolarité, ce programme est rangé dans la classe A.

Règlements pédagogiques particuliers

Pour s'inscrire à l'activité Stage, Essai ou Projet d'intervention, 30 crédits de scolarité doivent avoir été complétés et réussis avec une moyenne cumulative d'au moins 3,0 sur 4,3. Pour l'essai ou le projet d'intervention, le cours Méthodologie de la recherche doit avoir été complété préalablement. Pour le stage, le cours Gestion de projets informatiques doit avoir été complété.

Pour s'inscrire à des cours de la Maîtrise en gestion de projet, ou de la Maîtrise en gestion des organisations appartenant aux programmes de cycles supérieurs au Département des sciences économiques et administratives, l'étudiante ou l'étudiant doit rencontrer les conditions d'admission de ces programmes. L'approbation du directeur de programme concerné est requise pour s'inscrire à des cours de ces maîtrises.

Seulement deux cours relatifs à la gestion (incluant le cours de gestion de projet offert au DIM) peuvent être suivis.

Tout étudiante ou étudiant dont la langue maternelle est autre que le français qui éprouve des difficultés ou qui a une faiblesse en français peut, après avoir avisé la direction de programme, s'inscrire au cours 7FRA419 Français global et actes de paroles II. Ce cours sera hors programme.

Reconnaissance des acquis

Les étudiantes et étudiants ayant complété le DESS en informatique appliquée (3775) peuvent se voir reconnaître, par insertion, 12 crédits de cours réussis également inclus dans la maîtrise.

Perspectives professionnelles

Les personnes diplômées de la maîtrise en informatique de l'UQAC occupent principalement les emplois suivants :

Structure du programme

Le programme totalise quarante-cinq (45) crédits. Il est composé d'une scolarité de vingt-quatre à trente (24 à 30) crédits en informatique, de zéro à six (0 à 6) crédits parmi les programmes suivants: Maîtrise en gestion de projet et Maîtrise en gestion des organisations. Le programme se complète par l'une des activités de quinze (15) crédits suivantes: le stage, l'essai ou le projet d'intervention.

Plan de formation

*Les préalables sont indiqués entre parenthèses à la fin du titre du cours s'il y a lieu.

Cours obligatoires

Les deux cours suivants (six crédits)

8INF962Atelier pratique en jeux vidéo I
8INF966Atelier pratique en jeu vidéo II (8INF962)

Cours optionnels

Choisir de trois à cinq cours parmi les suivants (neuf à quinze crédits)

8INF804Vision artificielle et traitement des images
8INF849Interaction 3D et réalité virtuelle
8INF851Génie logiciel
8INF857Sécurité informatique
8INF862Gestion de projets informatiques
8INF871Principes des moteurs de jeux
8INF874Cryptographie
8INF878Intelligence Artificielle
8INF906Jeux sérieux
8INF908Séminaire thématique en jeu vidéo
8INF916Programmation réseau dans les jeux vidéo
8INF935Mathématiques et physique pour le jeu vidéo
8INF958Spécification, test et vérification
8INF960Principes de conception et de développement de jeux vidéo

Choisir de trois à cinq cours dans la liste suivante, à laquelle s'ajoutent les cours optionnels de la maîtrise professionnelle et des autres concentrations. (neuf à quinze crédits)

8INF803Bases de données réparties
8INF808Informatique appliquée et optimisation
8INF840Structures de données avancées et leurs algorithmes
8INF850Méthodologie de la recherche
8INF852Métaheuristiques en optimisation
8INF853Architecture des applications d'entreprise
8INF855Intelligence d'affaires: principes et méthodes
8INF856Programmation sur architectures parallèles
8INF858Systèmes intégrés de gestion d'entreprise
8INF876Conception et architecture des systèmes d'infonuagique
8INF924Internet des objets
8INF926Atelier en optimisation avancée
8INF950Sujets spéciaux
8INF957Programmation objet avancée

Cours optionnels en gestion dans la liste suivante (zéro à six crédits)

Les conditions d'admission doivent être respectées et l'approbation du directeur du programme doit être obtenue pour s'inscrire à ces cours.

Maitrise en gestion de projet

MGP7112Conception de projet
MGP7121Planification et contrôle opérationnels de projet
MGP7131Standardisation et gestion de projet

Maîtrise en gestion des organisations

2MGO724Communication organisationnelle ll 1.5 cr.
2MGO737Communication organisationnelle I 1.5 cr.
2MGO739Habiletés d'intervention organisationnelle
2MGO741Intervention et développement organisationnel

Ou autres cours des programmes de maîtrise de l'UQAC sur approbation du directeur du programme concerné.

Une activité parmi les suivantes (quinze crédits)

8INF859Stage 15.0 cr. (8INF862)
8INF860Essai 15.0 cr. (8INF850)
8INF861Projet d'intervention 15.0 cr. (8INF850)

DESCRIPTION DES COURS

2MGO724 Communication organisationnelle ll

Être en mesure de développer un plan de communication visant la promotion de l'image de marque de l'organisation, la gestion de l'opinion publique, le lancement de produits et la mesure de l'impact des moyens engagés.

La communication publique. Communication de l'organisation avec son environnement. Stratégie de marketing, relations publiques, gestion de l'opinion publique, gestion de crise, rôles des médias. Impact de la notoriété.

Formule pédagogique : Cours Magistral

(03/2024)

2MGO737 Communication organisationnelle I

Devenir un bon communicateur dans différents contextes organisationnels. Savoir décoder son interlocuteur et s'y adapter adéquatement.

Éléments permettant de décoder et s'adapter aux différents styles personnels de communication et au langage non-verbal. Impacts du phénomène de la perception/interprétation et des bruits dans une communication efficace et efficiente. Techniques pour préparer, structurer et livrer un message en fonction de l'objectif et dans différents contextes d'affaire. Outils pour réussir une communication dans les contextes d'entretiens d'embauche, d'évaluation de rendement, présentations d'affaire, les réunions d'équipe et les présentations devant grand public.

Formule pédagogique : Cours Magistral

(03/2024)

2MGO739 Habiletés d'intervention organisationnelle

Développer les connaissances nécessaires afin d'intervenir aux niveaux des relations interpersonnelles au travail, des équipes et de l'organisation; Développer les habilites relationnelles de l'étudiant lui permettant d'intervenir auprès des équipes de travail et de l'organisation, dans des contextes de mobilisation d'équipe, de gestion de conflit et de prise de décision.

Habiletés relationnelles de l'intervenant pour établir un climat de confiance: reflet, reformulation, empathie, écoute active; Différentes approches décrivant la dynamique des équipes de travail et ses composantes d'intervention (mobilisation, motivation, rôles des membres de l'équipe, complémentarité des habiletés); Différentes approches de gestion de conflits (interpersonnels et intergroupes) et de gestion du climat d'équipe; Diverses techniques d'animation en contexte de prise de décision, de résolution de problèmes et de créativité.

Formule pédagogique : Cours Magistral

(03/2024)

2MGO741 Intervention et développement organisationnel

Acquérir les connaissances relatives au processus de changement organisationnel. Acquérir les connaissances liées au processus d'intervention en développement organisationnel.

Différentes théories et approches du changement organisationnel. Changement et renouvellement de la culture organisationnelle. Différentes stratégies, processus et étapes du changement organisationnel. Éléments constitutifs du diagnostic organisationnel. Différentes approches théoriques du processus d'intervention en organisation. Étapes du processus d'intervention, du contact initial à la terminaison de la relation. Analyse et suivi d'une intervention en entreprise. Divers enjeux, aspects politiques et éthiques de l'intervention.

Formule pédagogique : Cours Magistral

(03/2024)

8INF803 Bases de données réparties

Approfondir les concepts de modélisation et d'implantation d'une base de donnée répartie et hétérogène selon les approches traditionnelles, actuelles et futures. Initier l'étudiant aux fonctionnalités et aux applications des bases de données spatiales, temporelles et déductives ainsi qu'au concept des entrepôts de données.

Modélisation, justification et implantation d'un cas complexe selon les approches réseau, relationnel et objet dans un environnement réparti hétérogène en considérant une stratégie de répartition choisie en fonction d'une topologie donnée. Application des contraintes de clients sur l'architecture technologique. Application des concepts de la réplication manuelle et automatisée et utilisation des mécanismes d'interconnexion de SGBD hétérogènes en accès lecture (Ingres Net, Ingres Star, Oracle, Access, lien odbc, tcp/ip), réplication et mise à jour (ex. snapshot, trigger, commit à 2 phase, réplicateur,...). Étude de cas sur les bases de données multimédia (stratégies, impact réseau, création, chargement), spatiales (ex. Oracle Spatial), déductives (ex. Datalog), temporelles (ex. TSQL, Oracle Time Series) et sur les entrepôts de données (ex. Oracle Data Warehousing).

En plus de cours magistraux, la méthode d'enseignement sera basée sur la lecture et la recherche personnelle, les rencontres individuelles et les discussions de groupe. Plusieurs concepts seront mis en pratique par l'élaboration d'un cas pratique complexe implanté dans un environnement hétérogène.

Formule pédagogique : Cours Magistral

(03/2024)

8INF804 Vision artificielle et traitement des images

Introduire les différentes méthodes utilisées en vision artificielle et en imagerie numérique. Vise l'apprentissage des fondements de ce domaine. Comprendre en profondeur des notions utilisées dans le traitement numérique des images et la vision artificielle, tant du point de vue algorithmique que mathématique.

Langage de programmation Python; Installation et utilisation des modules spécialisés pour la vision artificielle et le traitement des images: NumPy, OpenCV, scikit-image, scikit-learn, tensorflow, keras; Manipulation et transformation des images; Filtrage; Espaces de couleurs; Segmentation; Observation des caractéristiques des images; Extraction des caractéristiques; Application de l'apprentissage machine classique et profond; Réalisation d'une étude complète : hypothèses, choix des outils, validation, présentation des résultats.

Formule pédagogique : Cours Magistral

(03/2024)

8INF808 Informatique appliquée et optimisation

Acquérir une vue d'ensemble de la démarche à suivre en vue de résoudre un problème d'optimisation donné. Familiariser l'étudiant aux différentes méthodes utilisées ainsi que leurs justifications pour la résolution de problèmes d'optimisation combinatoire.

Approches de résolution de problèmes d'optimisation combinatoire: méthodes énumératives (Branch and Bound, CSP, ...), programmation mathématique, réseaux, heuristiques, métaheuristiques, simulation, etc.

Formule pédagogique : Cours Magistral

(03/2024)

8INF840 Structures de données avancées et leurs algorithmes

Acquérir les fondements théoriques et pratiques des structures de données et leurs algorithmes dans le but de comprendre comment les justifier, les utiliser et les incorporer dans la résolution des problèmes. L'accent sera mis sur les propriétés fondamentales de ces structures et l'étude de leur complexité (spatiale et temporelle : pire cas, cas moyen et amortie), sans toutefois négliger les aspects reliés à leurs implantations et leurs applications.

Introduction à la complexité algorithmique: pire cas, cas moyen et cas amorti. Recherche en table et chaînes de caractères. Listes, piles, files et applications. Arbres : de recherche, AVL, rouge et noir, B-arbres, tas et files de priorité, splay, binomial, Fibonacci, etc. Ensembles disjoints. Graphes: algorithmes de parcours, de cheminement, de flots et géométriques.

Formule pédagogique : Cours Magistral

(03/2024)

8INF849 Interaction 3D et réalité virtuelle

Offrir les bases nécessaires pour la compréhension, la conception et le développement de systèmes exploitant les technologies de la réalité virtuelle. Aquérir un ensemble de connaissances théoriques et pratiques qui permettra d'exploiter efficacement les technologies de la Réalité Virtuelle dans des applications relevant de l'éducations ou encore visant les troubles mentaux.

Principales caractéristiques des technologies de la Réalité Virtuelle et facteurs. Techniques d'interaction 3D. Usage des technologies de la Réalité Virtuelle en éducation. Usage des technologies de la Réalité Virtuelle dans le divertissement. Usage des technologies de la Réalité Virtuelle dans les troubles mentaux. Évaluation des applications de Réalité Virtuelle.

Formule pédagogique : Cours Magistral

(03/2024)

8INF850 Méthodologie de la recherche

Maitriser les différentes méthodologies de recherche. Faire comprendre les problématiques d'une recherche pluridisciplinaire. Permettre de faire une synthèse de la littérature dans deux domaines incluant l'informatique. Être capable de bien situer son projet de recherche dans une problématique plus globale et le préparer à l'exécution de sa propre recherche.

Types de recherche. Les grandes étapes d'une recherche : choix de sujet, revue de littérature, objectifs de la recherche, méthodologie de la recherche, analyse et présentation des résultats. Plan de rédaction d'un mémoire. Recherche bibliographique. Outils bibliographiques (EndNote). L'article scientifique et autres formes de communication scientifique. L'éthique et l'intégrité en recherche.

Formule pédagogique : Tutorat

(03/2024)

8INF851 Génie logiciel

Permettre à l'étudiant d'approfondir ses connaissances du processus de développement de logiciel et de décompostion modulaire. Permettre à l'étudiant d'analyser les différentes méthodes et les outils qui améliorent la qualité et diminuent le coût de développement et de gestion de systèmes logiciels.

Rappel sur les différentes phases de développement de logiciel. Méthodes de développement de logiciels (classiques, itératives, spirales et agiles). Processus unifié (RUP): concept et modèle. Spécification des exigences selon une norme standard. Approche du développement par modèles : cas d'utilisation, modèles en langage UML. Décomposition et composition modulaires des applications. Réutilisation, évolution et maintenance du logiciel. Développement des applications avec les patrons de conception et l'architecture orientée modèle (MDA: Model Driven Architecture). Techniques de développement orientées objet, aspect et composant (programmation orientée objet, programmation par aspect, programmation par sujet, programmation par vue). Norme de qualité (ISO9000). Système qualité. Vérification et validation des logiciels.

Formule pédagogique : Cours Magistral

(03/2024)

8INF852 Métaheuristiques en optimisation

Familiariser les étudiants aux outils d'optimisation permettant la résolution de problématiques théoriques ou pratiques complexes. Donner aux étudiants les bases techniques et théoriques nécessaires pour concevoir, analyser et évaluer les heuristiques qu'ils doivent développer dans le cadre de leurs travaux de recherche.

Méthodes d'intelligence artificielle (métaheuristiques) telles que l'algorithme du recuit simulé, l'algorithme génétique, la recherche avec tabous et l'optimisation par colonie de fourmis. L'apprentissage d'une démarche scientifique pour aborder des problèmes d'optimisation, les résoudre et présenter les résultats obtenus est également visé.

Formule pédagogique : Cours Magistral

(03/2024)

8INF853 Architecture des applications d'entreprise

Amener l'étudiant à approfondir les concepts liés au développement et à l'architecture des applications d'entreprises. Amener l'étudiant à acquérir des compétences à travailler dans un environnement de programmation ayant des composantes complexes. L'étudiant sera exposé à la technologie Java, aux modèles objets et aux services orientés architecture. Enfin,l'étudiant se familiarisera avec certaines technologies touchant les aspects d'infrastructure de développement et de déploiement d'applications d'entreprises.

Concepts fondamentaux d'interfaces usagers. Études de cas avec Java (Swing). Développement et déploiement d'applications d'entreprises (Enterprise applications). Technologie Java. EJB, Java Beans et architecture client-serveur RMI-Java. Modèles orientés architectures. Modèle (MDA). Architecture orientée service (SOA).

Formule pédagogique : Cours Magistral

(03/2024)

8INF855 Intelligence d'affaires: principes et méthodes

Permettre à l'étudiant de comprendre et de maîtriser les concepts et l'utilité de l'intelligence d'affaires. Présenter les différentes technologies utilisées en intelligence d'affaires. Donner un aperçu des méthodologies et techniques liées à la mise en place d'une solution d'intelligence d'affaires.

Intelligence d'affaires: définition, caractéristiques, tendances, enjeux, impact au niveau de la prise de décision. Bénéfices tangibles des solutions d'intelligence d'affaires. Exemples d'application dans des entreprises. Entrepôt de données: différence entre entrepôt de données (datawarehouse) et magasin de données (datamart), approche Kimball versus approche Inmon, stratégie de mise en oeuvre des entrepôts de données, gestion d'un projet d'entrepôt de données, modélisation d'un entrepôts de données. Tableaux de bord de gestion: tableau de bord prospectif (Balanced Scorecard) de Kaplan et Norton, défis - enjeux liés à l'établissement des indicateurs de gestion tableau de bord de la gestion de la performance organisationnelle. Forage des données et vues multidimensionnelles (OLAP, ROLAP, MOLAP). Le forage des données: pré-requis et applications potentielles. Intégration des données et la gestion qualitative des données. Survol des outils d'intelligence d'affaires et critères de choix.

Formule pédagogique : Cours Magistral

(03/2024)

8INF856 Programmation sur architectures parallèles

Développer les capacités d'identifier le parallélisme potentiel d'une application informatique; connaître les différents modèles (abstraits et réels) d'ordinateurs parallèles; développer les capacités de concevoir des algorithmes efficaces en utilisant le parallélisme.

Modèles d'ordinateurs parallèles: Systèmes parallèles et distribués; Algorithmes parallèles; Langages de programmation et parallélisme; Programmation sur ordinateurs à mémoire partagée. Multithreads (e.g. POSIX, OpenMP); Programmation sur ordinateurs distribués (e.g. MPI).

Formule pédagogique : Cours Magistral

(03/2024)

8INF857 Sécurité informatique

S'initier aux différents aspects liés à la sécurité des organisations, des systèmes et des réseaux informatiques.

Concepts de base de sécurité informatique. Propriétés fondamentales : confidentialité, intégrité et disponibilité. Vulnérabilité des systèmes informatiques. Mécanismes de contrôle d'accès et sécurisation des applications d'entreprises. Analyse de risque au niveau organisationnel. Cadres de références en sécurité informatique.

Formule pédagogique : Cours Magistral

(03/2024)

8INF858 Systèmes intégrés de gestion d'entreprise

Permettre à l'étudiant d'approfondir ses connaissances sur la définition et l'importance des progiciels de gestion d'entreprise (ERP). Maîtriser la démarche de modélisation de processus dans un projet d'implémentation d'un progiciel de gestion d'entreprise. Comprendre les facteurs de succès et les risques dans une démarche d'implémentation d'un progiciel de gestion d'entreprise.

Rappel sur les différentes fonctions de l'entreprise. Les systèmes d'information et les ERP. L'apport des ERP pour l'entreprise: gains, limites et risques. La sélection d'un ERP: fonction, technologie, marché et budgets. Les principaux intervenants: éditeurs, intégrateurs et consultants. Les différentes étapes pour l'implémentation d'un ERP dans une démarche de gestion de projet: phases, livrables, gestion du changement et processus d'amélioration continue. L'utilisation d'un logiciel (SAP) pour en comprendre son fonctionnement et l'intérêt de son utilisation par l'entreprise. Les liens avec d'autres domaines tels la gestion intégrée de la chaîne logistique et le e-commerce.

Formule pédagogique : Cours Magistral

(03/2024)

8INF859 Stage

Permettre à l'étudiant d'intégrer les connaissances acquises dans les cours du programme avec la réalisation d'un stage en entreprise. Exposer l'étudiant à des situations réelles d'entreprise permettant de confronter ses connaissances et ses habilités. Permettre aussi à l'étudiant d'acquérir une expérience professionnelle.

Le projet de stage doit être approuvé et le rapport final évalué lors de présentations par un jury constitué du directeur du programme et d'au moins deux professeurs nommés par la direction de programme. Le rapport final doit présenter chacune des phases du stage et montrer les liens avec les différents cours suivis. L'étudiant doit faire la synthèse des apprentissages et poser un regard critique sur le stage réalisé. Cette activité correspond à un travail estimé à au moins 675 heures.

Préalable(s): (8INF862)

Formule pédagogique : Stage

(03/2024)

8INF860 Essai

Permettre à l'étudiant d'intégrer les connaissances acquises dans les cours du programme avec la réalisation d'un projet de recherche.

La proposition de projet doit être approuvée et le rapport final évalué lors de présentations par un jury constitué du directeur du programme et d'au moins deux professeurs nommés par la direction de programme. Le rapport final présente le projet dans une problématique d'ensemble incluant une revue de la littérature pertinente et détaille l'ensemble des phases de sa réalisation. Cette activité correspond à un travail estimé à au moins 675 heures.

Préalable(s): (8INF850)

Formule pédagogique : Séminaire et/ou formation à distance

(03/2024)

8INF861 Projet d'intervention

Permettre à l'étudiant d'intégrer les connaissances acquises dans les cours du programme avec la réalisation d'un projet de développement en entreprise. Permettre aussi à l'étudiant de développer son esprit critique et de synthèse en positionnant le projet dans un cadre général.

La proposition de projet doit être approuvée et le rapport final évalué lors de présentations par un jury constitué du directeur du programme et d'au moins deux professeurs nommés par la direction de programme. Le rapport final présente le projet dans une problématique d'ensemble incluant une revue de la littérature pertinente et détaille l'ensemble des phases de sa réalisation. L'étudiant doit faire la synthèse des apprentissages et poser un regard critique sur le projet réalisé. Cette activité correspond à un travail estimé à au moins 675 heures.

Préalable(s): (8INF850)

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

(03/2024)

8INF862 Gestion de projets informatiques

Apprendre à gérer des projets de développement en informatique et en jeu vidéo. Maîtriser les principes et les pratiques actuelles de la gestion de projets, et ce, tant avec les approches de gestion dites prédictives qu'avec les méthodes de gestion dites adaptatives.

Planification de projet avec approche prédictive de gestion de projets. Structure et découpe de projet (WBS). Estimation des coûts à l'aide d'approches basées sur l'historique ainsi qu'avec des méthodes s'appuyant sur le consensus d'experts. Optimisation des ressources. Gestion de risques. Assurance de la qualité et du suivi du projet. Gestion du changement, résistance aux changements et gestion des conflits. Gestion d'une équipe. Planification de projet avec approche adaptative de gestion de projets. Artéfacts du Scrum (Incrément, Backlog de produit, Backlog de Sprint). Rôles et responsabilités des différents acteurs (Scrum Master, Development Team, Product Owner). Événements du processus Scrum. Processus d'inspection et d'adaptation. Découpe de projet par histoires utilisateurs. Estimation des histoires utilisateurs avec méthode du Planning Poker (point d'histoire et vélocité). Logiciels utilisés en entreprise pour la gestion de projets. Enjeux de la gestion de projets avec des équipes virtuelles en télétravail.

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

(03/2024)

8INF871 Principes des moteurs de jeux

Introduire les principes fondamentaux de la programmation des moteurs de jeux.

Rôles d'un moteur de jeux. Architectures orientées données. Aperçu des systèmes principaux d'un jeu: Rappel des notions de physique et de mécanique. Différents types de rendus (graphique, animation, textuel, sonore), communication réseau. Intégration de langages de scripts. Régionalisation. Modules d'extension (plugin) et logiciels médiateurs (middleware). Outils et éditeurs de niveau.

Formule pédagogique : Cours Magistral

(03/2024)

8INF874 Cryptographie

S'initier aux concepts fondamentaux liés au domaine de la cryptologie.

Histoire de la cryptologie. Cryptographie classique mono-alphabétique et poly-alphabétique. Cryptographie moderne symétrique et asymétrique (DES, AES, RSA, courbes elliptiques, etc.). Fonctions de hachages et leurs applications. Protocoles cryptographiques, Infrastructure à clé publique Principes de cryptanalyse. Application de la cryptographie. Techniques d'attaques physiques des cartes à puce.

Formule pédagogique : Cours Magistral

(03/2024)

8INF876 Conception et architecture des systèmes d'infonuagique

Permettre d'acquérir les connaissances nécessaires pour mettre en œuvre des applications réparties capables d'exploiter des ressources distantes ou de répartir la charge de calcul sur plusieurs ordinateurs dans un souci d'amélioration de performances et de tolérance aux pannes.

Rappel des protocoles de communication ; Concepts fondamentaux comme les modèles, les types et les architectures des systèmes distribués (client-serveur, Peer-to-Peer, hybride); Divers moyens de communication (synchrone, asynchrone, persistant, transitoire, discrète, et streaming), le passage et l'identification des objets/messages/service/ressource (socket, sérialisation, Marshaling, références d'objets distants), l'ouverture, la mise à l'échelle, la fiabilité, et le partage des ressources. Architectures des systèmes répartis contemporains en termes de services et protocoles de communication et de problèmes d'interconnexion de systèmes hétérogènes, indépendamment de la plate-forme matérielle et logicielle, et du langage de programmation : Technologies et Frameworks standards comme NodeJS, CORBA, JEE-EJB (Java Enterprise Edition), Servlets et JSP, Services Web (REST, GraphQL, SOAP).

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

(03/2024)

8INF878 Intelligence Artificielle

Introduire la discipline de l'intelligence artificielle et faire une brève introduction aux différentes problématiques et techniques qui y sont liées. Comprendre les techniques qui permettent de créer un agent intelligent.

Histoire et philosophie de l'intelligence artificielle en tant que science. Résolution de problèmes à l'aide d'exploration non-informée, informée, locale et adverse. Planification logique, dordre partiel et planification probabiliste. Systèmes experts, agent intelligent logique et probabiliste. Introduction à la perception et aux actions dans un agent intelligent par la vision artificielle, les mouvements d'actionneurs robotiques et l'analyse sonore. Principes des agents apprenants à base de statistiques et/ou renforcement

Formule pédagogique : Cours Magistral

(03/2024)

8INF906 Jeux sérieux

Offrir les bases nécessaires à l'analyse dun problème, la conception de jeux sérieux et l'évaluation de leurs effets. Acquérir un ensemble de connaissances théoriques et pratiques permettant de développer des jeux sérieux dans différents domaines tel que la santé, l'éducation, la sensibilisation, etc.

Histoire du jeu sérieux. Caractéristique d'un jeu sérieux. Analyse de jeux sérieux. Méthodologie de conception et de développement de jeux sérieux. Analyse de différents frameworks capables d'aider dans la conception de jeux sérieux. Évaluation des jeux sérieux.

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

(03/2024)

8INF908 Séminaire thématique en jeu vidéo

Permettre de bénéficier d'une formation adaptée dans le domaine du jeu vidéo.

Le contenu est variable selon les besoins des étudiants et l'expertise professorale disponible.

Formule pédagogique : Séminaire

(03/2024)

8INF916 Programmation réseau dans les jeux vidéo

Comprendre les concepts de la programmation réseaux utilisés dans les échanges dinformations dans un contexte de jeux vidéo. Acquérir une approche pratique de la programmation réseau dans le domaine des jeux vidéo.

Sockets Berkeley. Couches TCP et UDP. NAT. Programmation réseau. Programmation réseau non bloquante. Programmation évènementielle. Programmation des serveurs de jeux. Principes de sérialisation et de compression de l'information. Réplication des objets. Topologies des réseaux utilisées dans le jeu vidéo (peer-to-peer, serveurs dédiés, étoile, etc.). NAT punching. Latence, fiabilité et jitter ainsi que leur gestion. Synchronisation des états. Interpolation. Élasticité. Sécurité. Services pour les joueurs.

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

(03/2024)

8INF924 Internet des objets

Présenter une métrologie de conception d'environnements ou système à base dobjets connectés : vêtement intelligent, bâtiment intelligent, usines connectées, etc. Comprendre comment partir des besoins des utilisateurs et remonter progressivement aux développements technologiques nécessaires à la mise enœuvre de la plateforme (choix et intégration des capteurs, mode de calcul, outil de traitement des données, composants intelligents, etc.).

Fondements et principes généraux de l'Internet des objets. Principales applications de l'Internet des Objets. Capteurs et systèmes exploitables dans l'internet des objets. Méthodologies de conception et d'évaluation. Aspects éthiques et légaux de l'internet des objets.

Formule pédagogique : Cours Magistral

(03/2024)

8INF926 Atelier en optimisation avancée

Se familiariser à la science des données pour la prise de décision. Développer des stratégies pour résoudre un problème réel en utilisant l'optimisation des données brutes à une interface utilisateur. Modéliser des données numériques avec les outils pertinents. Modéliser mathématiquement des problèmes afin de les résoudre avec des algorithmes/solveurs d'optimisation.

Utilisation de plusieurs logiciels et solveurs afin de fournir un éventail de possibilités à l'étudiant: Matlab, Xpress, librairies Python, Coin-OR, etc. Survol des méthodes numériques pour l'approximation de fonctions et des outils utilisés. Types doptimisation: rappel modélisation mathématique, optimisation linéaire et en nombres entiers, programmation dynamique, optimisation non-linéaire, optimisation de boîtes noires, introduction à la théorie des graphes, optimisation stochastique et notions avancées en nombres entiers (génération de colonnes, algorithmes de plans coupants).

Formule pédagogique : Cours Magistral

(03/2024)

8INF935 Mathématiques et physique pour le jeu vidéo

Comprendre les notions mathématiques et physiques utilisées dans les moteurs de jeux.

Rappel théorique des éléments de l'algèbre linéaire. Cinématique linéaire et rotationnelle. Dynamique linéaire et rotationnelle. Détection de collision. Réalisation d'un mini moteur de jeux.

Formule pédagogique : Cours Magistral

(03/2024)

8INF950 Sujets spéciaux

Ce cours est utile à l'étudiant qui peut ainsi 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 : Séminaire et/ou formation à distance

(03/2024)

8INF957 Programmation objet avancée

Principes objet avancés: typage statique, héritage et méta programmation. Fondements: objets, classes, types et sous-types, interface, spécialisation, héritage, propriétés, polymorphismes, envoi de message, généricité, collections, types d'applications Java, assertions, exceptions et programmation événementielle.

Héritage multiple et variations : conflits de propriétés, techniques de linéarisation et héritage d'interface. Méta-programmation : méta-modélisation, introspection, réflexivité. Programmation par contrat, aspect, objet et composant. Objets distribués, entrées/sorties, XML et Java.

Formule pédagogique : Cours Magistral

(03/2024)

8INF958 Spécification, test et vérification

Méthodes de spécification formelle

Méthodes de spécification formelle: automates, expressions régulières, logiques classiques et temporelles, notation B, Z et CCS. Génération automatique de tests, notions de couverture, exécution symbolique dynamique. Le monitoring et l'analyse de traces: exemples, algorithme. Outils de monitoring: Java-MOP, BeepBeep. Le modèle checking et la vérification statique: exemples, algorithmes. Méthodes de réduction de l'espace d'état, abstraction et raffinement. Outils de vérification: Concurrency Workbench, Java Pathfinder, SPIN et NuSMV.

Formule pédagogique : Cours Magistral

(03/2024)

8INF960 Principes de conception et de développement de jeux vidéo

Initier au processus de conception, de préproduction, de développement et de déploiement d'un jeu vidéo sur diverses plateformes. Se familiariser avec l'architecture logicielle et algorithmique spécifique d'un jeu vidéo. Se sensibiliser aux façons de faire de l'industrie du jeu et à ses particularités. Développer à des jeux de petite envergure en équipes restreintes en utilisant des outils propres à l'industrie.

Conception de jeu vidéo. Méthode d'idéation et de design d'un concept de jeu. Théorie des jeux. Étude sur la jouabilité "Gameplay". Équilibre dans la structure des éléments d'un jeu : pointages, options, défis versus habilités, ajustement dynamique, chances, etc. Ergonomie des interfaces de jeux et développement d'un système d'interaction immersif avec l'usager. Les différents types de jeux, clientèle cible et modèles d'affaires (ex. « free to play »). Architecture logicielle d'un jeu vidéo : boucle de jeu (gameloop) et synchronisation du « frame rate », jetons, états, messages, événements, interface de contrôle utilisateurs, etc. Introduction au processus de développement dans l'industrie du jeu vidéo, usine de développement et initiation au processus de production itératif de type Agile/Scrum. Bibliothèques et langages utilisés en industrie (C++, C # et Blueprints). Introduction aux moteurs de jeux exploités en industrie (Unity 3D et UDK). Formation de base sur un moteur de jeu. Développement d'un premier prototype de jeu de A à Z.

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

(03/2024)

8INF962 Atelier pratique en jeux vidéo I

Permettre de faire la synthèse des connaissances acquises dans les cours du programme. Développer ses connaissances et ses habiletés par sa participation au développement d'un projet informatique appliqué au domaine du jeu vidéo. Participer au développement complet d'un prototype de jeu vidéo de moyenne à grande envergure à l'intérieur d'une équipe de bonne taille en suivant les pratiques de l'industrie.

Activité d'intégration des connaissances. Formation d'équipes de travail. Rappel des principes de développement de projets informatiques. Développement d'un prototype fonctionnel. Utilisation d'outils technologiques spécialisés (moteurs, librairies, outils de gestion, etc.). Mise en pratique concrète des compétences en gestion de projets Agile/Scrum dans un contexte de développement de projet sur un trimestre entier en équipe de 4 à 6 personnes (équipe virtuelle délocalisée). Exploitation de l'ensemble des outils logiciels de communication à distance, de partage de code source et de version, de « bug tracking » et de gestion de projet en ligne. Assemblage d'un portfolio de réalisation (l'ensemble des prototypes développés au fil des 5 cours, et notamment le jeu développé sur un trimestre en grande équipe).

Formule pédagogique : Atelier

(03/2024)

8INF966 Atelier pratique en jeu vidéo II

Permettre d'approfondir des concepts, techniques ou approches pertinentes pour les jeux vidéo.

Le contenu est variable selon les besoins des étudiants et l'expertise professorale disponible.

Préalable(s): (8INF962)

Formule pédagogique : Cours Magistral

(03/2024)

MGP7112 Conception de projet

Développer les compétences à identifier et comprendre les besoins initiaux des mandataires de projets uniques ainsi que des facteurs d'incertitude et de complexité qui y sont associés.

Les principaux éléments de contenus sont la définition du besoin, le design des options, l'étude de faisabilité, le choix de stratégie et le plan sommaire de la réalisation du projet.

Formule pédagogique : Cours Magistral

(03/2024)

MGP7121 Planification et contrôle opérationnels de projet

Développer les compétences à planifier et contrôler efficacement les processus et les ressources nécessaires à la réalisation d'un projet.

Les principaux éléments de contenu couvrent l'identification et l'organisation des ressources requises pour atteindre les objectifs du projet, la prise en compte des risques, et la définition des éléments du pilotage de l'efficience et de l'efficacité du projet.

Formule pédagogique : Cours Magistral

(03/2024)

MGP7131 Standardisation et gestion de projet

Développer les compétences à choisir une méthodologie de gestion projet adaptée aux caractéristiques du projet.

Les principaux éléments de contenu comprennent la présentation et la comparaison des différents standards et approches de gestion de projet - par les compétences, processus ou agile - leurs fondements, logique et contenu, et les contextes et modalités d'application.

Formule pédagogique : Cours Magistral

(03/2024)