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é des personnes intervenantes à développer du contenu original et de qualité. Le dynamisme des entreprises installées au Québec a hors de tout doute, prouvé le leadership québécois 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 ressources intervenantes. 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 à former des personnes en programmation ayant une base solide de l'ensemble des notions propres à la discipline et qui détiennent une spécialisation dans l'un des trois domaines clés que sont : la programmation avancée avec moteurs et réseaux multi-joueurs, les outils de modélisation 3D et rendus graphiques ainsi que le design des systèmes et de l'économie des jeux.
Le programme vise, au terme des trois années d'études, à former des personnes spécialisées polyvalentes en développement de jeux vidéo capables d'utiliser les outils professionnels et aptes à intégrer rapidement l'industrie.
Le Baccalauréat en développement de jeux vidéo a pour objectif général de former des personnes professionnelles polyvalentes dotées de fortes compétences en informatique, aptes à participer au développement de la haute technologie dans les entreprises de l'industrie du jeu vidéo, familières avec les aspects non technologiques de leur future profession, comme la gestion de projet et les équipes de production, et sensibilisées au contexte et aux pratiques de l'industrie.
Les personnes diplômées 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++, les moteurs de jeu, l'infographie 2D et 3D, l'intelligence artificielle, le multimédia, les réseaux, le génie logiciel et la gestion de projet.
Les personnes diplômées seront aptes à assumer des fonctions de programmeur de jeux dans les métiers usuels de l'industrie (ex. programmeur gameplay, UX/UI, Intelligence artificielle, etc.). De plus, en fonction de leur spécialisation liée à leur concentration, elles pourront occuper des postes en design systémique des jeux, en design de l'économie des jeux, en programmation d'engins, en programmation 3D, en programmation moteurs et réseaux multi-joueurs, etc.
Plus spécifiquement, le tronc commun du programme vise à:
Objectifs spécifiques de chaque concentration
Programmation avancée avec moteurs et réseaux multi-joueurs
Outils de modélisation 3D et rendus graphiques
Design des systèmes et de l'économie des jeux
Les personnes titulaires d'un DEC préuniversitaire en Sciences informatiques et mathématiques ou tout autre DEC. Les personnes ayant une expérience pertinente en informatique, et qui souhaitent effectuer une réorientation de carrière.
Ê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) ou au Certificat en design des systèmes de jeux vidéo (4692) ou au Certificat en arts techniques pour le jeu vidéo (4676). 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).
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).
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.
(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 :
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 :
(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.
Ce programme n'est pas contingenté.
Les modalités et les règles qui régissent l'attestation de la maîtrise du
français telles que résumées ci-dessous, sont définies dans la Politique et la Procédure relative à la valorisation du français.
Règlement relatif aux exigences liées à l'admission pour les
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.
L'admission au programme se fait aux trimestres d'automne et d'hiver.
Le programme d'études est offert à temps complet et à temps partiel.
Ce programme est admissible aux Bourses Perspectives Québec pour les étudiantes et étudiants québécois qui effectuent leur formation à temps plein. Certaines conditions s'appliquent.
L'inscription aux cours 8INF206 Projet et 8INF700 Sujet spécial en informatique nécessite l'accord de la direction de l'unité pédagogique et les cours préalables dépendent du sujet choisi par l'étudiante ou l'étudiant ainsi que de la recommandation de la ressource enseignante en charge.
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.
La candidate ou le candidat qui désire obtenir une reconnaissance de ses acquis sur la base de sa formation antérieure ou de son expérience professionnelle doit faire une demande au Bureau du registraire à la suite de la confirmation de son admission (formulaire) en conformité avec la Procédure relative à la reconnaissance des acquis et des compétences.
PARTICULARITÉS POUR LE PROGRAMME:
Des ententes DEC-BAC sont en vigueur pour ce programme et sont applicables aux personnes détentrices de certains DEC techniques. Les cégeps ainsi que les DEC techniques concernés par ces ententes sont les suivants:
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. La diplômée ou le diplômé pourra orienter sa carrière selon un éventail étendu de possibilités selon sa spécialisation. À titre d'exemples, voici quelques postes pouvant être occupés selon la concentration:
Toutes les concentrations :
Programmation avancée avec des moteurs et réseaux multi-joueurs
Outils de modélisation 3D et rendus graphiques
Design des systèmes et de l'économie des jeux
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.
Ce programme comprend quatre-vingt-dix (90) crédits répartis comme suit:
6GEI186 | Architecture des ordinateurs |
6GEN719 | Infographie (8INF259) |
6GEN723 | Réseaux d'ordinateurs (6GIN101 et 8INF259) |
8DJV103 | Développement avancé avec des moteurs de jeu (8PRO135) |
8DJV107 | Prototypage de jeux avec un langage de script (8PRO107) |
8GIF150 | Conception de jeux vidéo |
8GIF185 | Réalisation d'un jeu vidéo (8INF259) |
8IAR125 | Intelligence artificielle pour le jeu vidéo (8INF259) |
8IFG147 | Gestion de la production dans l'industrie du numérique |
8INF242 | Interface (UI) et Expérience (UX) utilisateur |
8INF257 | Informatique mobile (8PRO128) |
8INF259 | Structures de données (8PRO107) |
8INF342 | Systèmes d'exploitation (8INF259) |
8MAT122 | Structures discrètes |
8PRO107 | Éléments de programmation |
8PRO128 | Programmation orientée objet (8PRO107) |
8PRO135 | Programmation avec des moteurs de jeu (8INF259 et 8PRO128) |
8TRD150 | Animation et images par ordinateur (8PRO128) |
8TRD151 | Introduction aux bases de données |
8DJV102 | Fondements théoriques des moteurs de jeu vidéo (8PRO128) |
8DJV104 | Programmation réseau multi-joueurs en ligne (6GEN723 et 8PRO128) |
8GIF225 | Atelier de production de jeux vidéo I (8GIF150 et 8GIF185) |
8GIF235 | Atelier de production de jeux vidéo II (8GIF150 et 8GIF185) |
8INF435 | Algorithmique (8INF259 et 8MAT122) |
8GIF225 | Atelier de production de jeux vidéo I (8GIF150 et 8GIF185) |
8GIF235 | Atelier de production de jeux vidéo II (8GIF150 et 8GIF185) |
NAND110 | Pratique des principes de l'animation numérique I |
NAND118 | Pratique de la création 3D |
NAND136 | Pratique de la création 3D en temps réel (NAND118) |
8DJV105 | Design des systèmes et des mécaniques de jeux |
8DJV106 | Design de l'économie des jeux et monétisation |
8GIF225 | Atelier de production de jeux vidéo I (8GIF150 et 8GIF185) |
8GIF235 | Atelier de production de jeux vidéo II (8GIF150 et 8GIF185) |
NAND118 | Pratique de la création 3D |
4ETH236 | Éthique et informatique |
7ARN161 | Création d'images numériques |
7ART408 | Photographie et images numériques |
8ASY109 | Systèmes d'information organisationnelle |
8CLD201 | Environnement de déploiement des applications (8WEB101) |
8CLD202 | Infonuagique (8CLD201) |
8INF138 | Sécurité des réseaux et du Web |
8INF206 | Projet |
8INF228 | Adaptation et qualité des applications (8PRO128) |
8INF334 | Modélisation et développement objet (8PRO128) |
8INF349 | Technologies Web avancées (8PRO128 et 8WEB101) |
8INF436 | Forage de données (8IAR403) |
8INF700 | Sujet spécial en informatique |
8MAP107 | Calcul avancé I |
8ROP530 | Recherche opérationnelle ((8PRO107) ou (8PRO408)) |
8RVL201 | Réalité virtuelle et environnements immersifs (8PRO128) |
8SEC201 | Cybersécurité défensive : vulnérabilités et incidents (8WEB101) |
8SEC202 | Enquêtes numériques et cyber-intelligence (8WEB101) |
8STT117 | Probabilité et statistique |
8TRD157 | Bases de données avancées (8TRD151) |
8WEB101 | Conception et programmation de sites Web |
7ANG021 | English Skills I |
7ANG022 | English Skills II (7ANG021) |
7ANG023 | English Skills III (7ANG022) |
7ENL520 | Critical Reading Skills and Comprehension (7ANG023) |
7LNG104 | Rédaction |
7LNG106 | Orthographe et grammaire de base |
7LNG124 | Maîtrise du français |
DESCRIPTION DES COURS
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
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
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
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
7ANG021 English Skills I
Développer des stratégies permettant de mieux communiquer dans des situations quotidiennes (pour les étudiants ayant connaissance de base en anglais). Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.
Vocabulaire de base associé à l'exécution des fonctions de la vie courante. Fonctions langagières : se présenter, exprimer ses préférences et ses aversions, décrire son milieu immédiat, parler de ses activités quotidiennes, demander et donner des informations, chercher et proposer de l'aide, donner des indications, etc. Structures grammaticales pertinentes: formes verbales à l'impératif, au présent, au futur proche et au «simple past»; verbes modaux exprimant les requêtes; noms comptables et non comptables; déterminants démonstratifs et possessifs; adverbes de fréquence; questions simples de type «yes / no» et «wh». Mise en situation du lexique et des structures grammaticales à partir de simulations provenant des ressources didactiques en classe et en laboratoire multimédia.
Formule pédagogique : Cours Magistral
7ANG022 English Skills II
Poursuivre l'acquisition des connaissances langagières de base dans des contextes réels et simulés qui représentent des fonctions sociales et professionnelles. Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.
Vocabulaire associé aux fonctions sociales et professionnelles, expressions idiomatiques, prononciation. Fonctions langagières: donner des informations sur soi-même, décrire un tiers, donner et demander des informations sur des faits, poser des questions concernant des habitudes ou des intérêts personnels et y répondre, décrire des événements passés au moyen du «simple past», donner et suivre des indications, exprimer l'accord et le désaccord, etc. Structures grammaticales pertinentes: révision des questions de type «yes / no» de même que des formes verbales au présent et au futur proche; distinction entre le «simple past» et le «present perfect»; verbes au passé continu et habituel; verbes périphrastiques; verbes modaux exprimant la nécessité et l'obligation; adjectifs comparatifs et superlatifs; adverbes de quantité. Conversations dirigées, courtes discussions, mises en situation du lexique et des structures grammaticales au moyen des ressources didactiques fournies en classe et en laboratoire multimédia.
Préalable(s): (7ANG021)
Formule pédagogique : Cours Magistral
7ANG023 English Skills III
Permettre d'améliorer sa capacité à tenir une conversation et à produire des textes dans des contextes réels et simulés qui sont caractéristiques des fonctions de la vie académique, sociale et professionnelle (pour les étudiants de niveau intermédiaire/avancé). Développer la compréhension de l'oral et de l'écrit, et l'expression orale et écrite.
Vocabulaire associé aux fonctions de la vie académique, sociale et professionnelle, expressions idiomatiques, prononciation. Fonctions langagières: décrire les personnes, contester face à un désaccord, accepter et refuser les requêtes, laisser des messages, raconter une histoire au passé, exprimer des émotions et des attentes. Structures grammaticales pertinentes: le présent simple, le présent progressif et le «present perfect», formes verbales au présent continu et au «present perfect progressive», «simple past», «past perfect» et «past perfect progressive»; verbes périphrastiques; propositions adjectivales, adverbiales et conditionnelles; pronoms relatifs, rôle adjectival du participe passé, le gérondif en fonction de sujet ou de complément. Conversations dirigées, courtes discussions, mises en situation et exercices grammaticaux en classe et en laboratoire multimédia.
Préalable(s): (7ANG022)
Formule pédagogique : Cours Magistral
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
7ART408 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 : Atelier
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
7LNG104 Rédaction
Améliorer la compétence en communication écrite en initiant au processus d'écriture. Développer l'habileté à rédiger un texte dans sa discipline en faisant prendre conscience des facteurs extralinguistiques qui influencent la production des textes et en initiant aux procédés linguistiques qui en assurent la pertinence et la cohérence.
Définition de la tâche d'écriture. Recherche documentaire : cueillette, sélection et organisation des informations; techniques du résumé. Structuration du contenu : introduction et conclusion, formulation et enchaînement des idées, gestion de la référence, établissement de relations logiques et utilisation des connecteurs, phénomènes d'énonciation, organisation du lexique et champs sémantiques. Travail de révision et de réécriture. Organisation matérielle : éléments de méthodologie (citations, références, bibliographie), normes de présentation.
Formule pédagogique : Cours Magistral
7LNG106 Orthographe et grammaire de base
Développer la compréhension du fonctionnement de l'écrit. Développer une capacité d'analyse permettant la détection et la résolution de problèmes orthographiques, syntaxiques et lexicaux courants.
Structure de la phrase simple. Retour sur les classes et les fonctions grammaticales. Manipulations syntaxiques. Système général des accords grammaticaux, dans les groupes et entre les groupes. Forme simple ou composée du verbe, conjugaison, accord; verbes pronominaux, à l'infinitif et au participe. Types et formes de phrases. Structure de la phrase complexe : relative, complétive et circonstancielle; interrogation indirecte, concordance des temps, confusions homophoniques indicatif/ subjonctif, anacoluthes. Principes de coordination. Reprise et progression de l'information. Pronoms personnels, possessifs et démonstratifs. Correction d'erreurs fréquentes. Utilisation des outils de référence.
Formule pédagogique : Magistral et/ou formation à distance
7LNG124 Maîtrise du français
Approfondir la compréhension des règles de l'écrit et l'habileté à détecter et à résoudre divers problèmes liés à l'orthographe grammaticale, à la construction des phrases, au choix du vocabulaire, à la ponctuation et à l'orthographe d'usage.
Structure et transformations de la phrase de base. Phrases juxtaposées et coordonnées : pronominalisation ou ellipse, ponctuation. Mécanisme de la subordination; choix des pronoms relatifs, choix du mode verbal, concordance des temps, ponctuation. Construction participiale, infinitive, corrélative. Accords grammaticaux dans la phrase complexe. Repérage des anglicismes, impropriétés, barbarismes; choix du mot juste. Zones de régularités et particularités en orthographe d'usage. Utilisation des outils de références (dictionnaires, grammaires, conjugueurs).
Formule pédagogique : Cours Magistral
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
8CLD201 Environnement de déploiement des applications
Comprendre l'environnement de déploiement et les technologies nécessaires à la mise en service d'applications dans le nouveau contexte dématérialisé.
Introduction au concept de Cloud computing. Survol des grandes plateformes Cloud (AWS, Azure, GCP). Modèle de service (IaaS, PaaS, SaaS). Modèle de consommation (à la demande, réservé et spot). Concepts de séparation des services et leur interopérabilité (Compute, Storage, Network). Migration. Facteurs environnementaux. Monolith vs Microservice. Modèles: Event driven, Circuit breaker, Serverless, Containers, Landing zone, Stateful / Stateless. Disponibilité: RTO (Recovery Time Objective) / RPO (Recovery Point Objective), Haute-disponibilité, Sinistre. Principes et outils de l'infrastructure en tant que code (infrastructure as a code / IaaS), tels que Terraform, Azure Devops et Cloud formation. Cycle de maintenance et de développement en continu. Notions d'authentification. Identité numérique (Clients & Utilisateurs). Secrets, clef d'authentification, certificats, jetons, meilleures pratiques.
Préalable(s): (8WEB101)
Formule pédagogique : Magistral et/ou formation à distance
8CLD202 Infonuagique
Comprendre l'infrastructure logicielle de l'informatique en nuage et les outils technologiques qui s'y rattachent. Être apte à déployer des applications et à gérer un système en infonuagique.
Introduction au concept de conteneurs. Les technologies conteneurs (ex. Kubernetes vs Docker). Les plateformes de control plane et leur rôle (Openshift, Rancher, Tanzu, etc.). Registre de conteneurs. La gestion des images et le déploiement. Gestions des namespaces. Cycle de maintenance et développement continu (CI/CD). Gestion des politiques. Infrastructure en tant que code dans l'infonuagique avancée (IaaS). Elasticité, ccale in/out, performance et capacité, cycle de vie. IaaS Network. Restriction des flux (security group, firewalls). Privé vs publique. Balanceurs de charge (L3, L4 & L7). WAF, DNS interne vs externe, techniques de balance de charge via DNS (GSLB), NAT/PAT, Interconnexion (VPN / Peering / Connexion privé). Stockage en IaaS. File/block/objects/queue. Encryption. Persistent versus éphémère. Plateforme en tant que service (Platform as a Service - PaaS). Base de données en nuage. Type de BD (NoSQL, SQL, Datalake, ...). Modélisation en nuage. Protection des données. Réplication. Machine Learning / IA en nuage. Robots de clavardage ChatBot. Logiciel en tant que service (Software as a service -SaaS) : Serverless, API Gateway, Vault, etc.
Préalable(s): (8CLD201)
Formule pédagogique : Magistral et/ou formation à distance
8DJV102 Fondements théoriques des moteurs de jeu vidéo
S'initier aux différentes notions théoriques nécessaires à la programmation des moteurs de jeux vidéo. Exploration de diverses notions mathématiques à l'aide de moteurs de jeux (Unity, Unreal, etc.). Implémentation et utilisation de ces notions à travers divers exemples de la physique mécanique.
Fondements mathématiques des moteurs de jeux: transformations géométriques (rotations, réflexions, homothéties, translations, cisaillements, projections, etc.), trigonométrie, vecteurs, matrices, repères du monde et de l'objet, transformations linéaires et affines, produits scalaire et vectoriel, angles d'Euler, quaternions, interpolation linéaire. Applications de la physique mécanique en jeu vidéo : calcul de la position, vélocité et accélération d'une particule, calcul de trajectoires (mouvement rectiligne et mouvement rectiligne uniformément accéléré), applications de différentes forces à des objets (gravité, ressorts, etc.), calcul de l'accélération à l'aide de la deuxième loi de Newton, initiation à la détection de collisions (volumes englobants, quadtree et octree, etc.), résolutions de collisions à l'aide d'impulsions.
Préalable(s): (8PRO128)
Formule pédagogique : Magistral et/ou formation à distance
8DJV103 Développement avancé avec des moteurs de jeu
Approfondir ses connaissances concernant le développement structuré de jeux vidéo à l'aide de moteurs de jeu professionnels.
Développement logiciel avec les moteurs de jeu tel que Unreal. Résolution de problèmes liés aux moteurs de jeu à l'aide de logiciels de contrôle de version (ex. Git et Perforce). Utilisation de concepts avancés avec la programmation C# et C++ en lien avec les moteurs de jeu. Utilisation des outils de refactoring de code. Profilage de code et manipulation d'outils afin d'identifier des problèmes de performance. Utiliser la programmation multicœur et l'allocation de ressources afin d'augmenter la vitesse de traitement. Approfondir les connaissances en gestion de la mémoire. Implémentation de patrons de conception applicables aux moteurs de jeu. Exploitation des réseaux dans le cadre de moteurs de jeu. Utiliser le traçage de rayons, les outils de rendu à haute définition et application d'effets post-processing. Programmation de shaders avec la syntaxe ShaderLab et HLSL/Cg. Débogage avancé dans des logiciels réseaux et multicœurs. Apprentissage du cycle de vie des sous-systèmes des moteurs de jeu. Utilisation d'outils d'analyse statique et de calcul de complexité du code. Exercices pratiques d'implémentation de fonctionnalités avancées avec des moteurs de jeu. Rédaction d'outils pour les moteurs de jeu. Développement et implémentation de fonctionnalités à l'intérieur de projets existants. Utilisation de techniques de diffusion et de chargement pour éviter les limites des moteurs de jeu.
Préalable(s): (8PRO135)
Formule pédagogique : Magistral et/ou formation à distance
8DJV104 Programmation réseau multi-joueurs en ligne
S'initier à la programmation de jeux en réseaux, multi-joueurs et en ligne. Connaître l'architecture des réseaux et les outils de programmation de bas niveau. Se familiariser avec les notions avancées permettant d'assurer la fiabilité, la robustesse et la scalabilité d'un jeu en réseau. Être apte à exploiter les outils logiciels et librairies de programmation réseaux disponibles dans les moteurs de jeu.
Internet: rappel des couches TCP/IP et NAT. Programmation avec des sockets UDP/TCP. Sérialisation et compression. Réplication d'objets et d'états. Implémentation client-serveur et peer-to-peer. Gestion de la latence et de la fiabilité. Interpolation et prédiction côté client. Gestion côté serveur. Notion de scalabilité, partitionnement et priorisation. Sécurité du réseau et tricheries des joueurs. Programmation réseau avec des moteurs (ex. UDK et Unity). Service en nuage et le « streaming » (Cloud gaming). Services aux joueurs (lobbies, auto-pairage, statistiques et badges). Exercices et travaux sur des exemples concrets en C++.
Préalable(s): (6GEN723 et 8PRO128)
Formule pédagogique : Magistral et/ou formation à distance
8DJV105 Design des systèmes et des mécaniques de jeux
Comprendre l'approche systémique de design des systèmes de jeux d'un point de vue informatique. Développer des compétences avancées dans le design des mécaniques de jeux et des systèmes de jeux. Comprendre l'optimisation de la boucle de jeux. Être apte à concevoir des systèmes de jeux synergiques et balancés.
Approche systémique du design des mécaniques de jeux. Mécanique discrète vs continu. Progression dans le jeu, synergie et interaction des composants. Processus d'idéation rationnel (rational design). Atomisation des mécaniques de jeux. Équilibrage et mesure de l'efficacité. Exploitation des probabilités pour enrichir le gameplay. Systèmes transitifs et non transitifs. La notion d'émergence. Analytique. Intégration du playtesting dans la boucle de conception du système. Organisation spatiale et temporelle des éléments du jeu. Le gameplay comme une suite de choix intéressants. Modélisation de l'engagement chez le joueur. L'émergence et comment la créer. Les cœurs de jeux. Simulation de systèmes de jeux. Approche systémique de l'interactivité. Enjeux et évolution à venir dans les pratiques de la discipline.
Formule pédagogique : Magistral et/ou formation à distance
8DJV106 Design de l'économie des jeux et monétisation
Comprendre comment modéliser l'économie globale et la boucle de circulation des ressources à l'intérieur d'un système de jeux. Développer des compétences avancées dans le design de l'économie d'un jeu vidéo. Apprendre à utiliser un outil de simulation informatique du cycle économique dans un jeu. Être apte à concevoir des systèmes économiques balancés. Comprendre intégrer de manière synergique les mécaniques de monétisation dans un système de jeux.
Les différents types d'économie dans les jeux. Les éléments internes de l'économie d'un jeu vidéo. Structure de l'économie d'un jeu et comment en faire le design informatique. Les composantes d'une économie de jeux : ressources, sources, drains, échangeurs, convertisseurs, etc. Économie simple versus économie complexe (i.e. incluant du crafting). Modélisation à l'aide de graphes du système économique d'un jeu. Implémentation de l'économie d'un jeu. Simulation de l'économie d'un jeu à l'intérieur d'un outil de simulation informatique (ex. Machinations). Exemples d'économies sur plusieurs jeux connus (ex. Stracraft, Civilization, Minecraft, etc.). La monétisation dans les jeux, microtransactions et comment les intégrer dans la boucle du système de jeux. Économie parallèle des jeux et comment en tirer profit.
Formule pédagogique : Magistral et/ou formation à distance
8DJV107 Prototypage de jeux avec un langage de script
Être apte à effectuer la programmation d'un prototype de jeux avec un langage de script. Comprendre l'utilisation d'un langage visuel de script à l'intérieur d'un moteur de jeu. Acquérir des compétences en programmation visuelle et scriptée.
Introduction à la programmation avec un langage visuel de script (ex. Blueprint). Processus de prototypage à l'intérieur d'un moteur de jeu professionnel (ex. Unreal Engine). Étapes de création d'un prototype de jeux. Implémentation des mécaniques et systèmes de jeux avec un langage visuel. La boucle de développement itérative centrée sur l'utilisateur. La notion d'interaction et rétroaction. Application pratique et développement de plusieurs petits prototypes avec un langage des scripts. Playtest d'un prototype. Analyse quantitative et qualitative des résultats des tests réalisés sur un prototype de jeux.
Préalable(s): (8PRO107)
Formule pédagogique : Magistral et/ou formation à distance
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
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
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
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
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 parvenir à un niveau élevé de réalisme. Mise en œuvre de divers concepts à l'aide d'un langage de programmation orienté objet et leur application dans un moteur de jeu.
Comportement des agents : architecture des agents intelligents, machines à états finis, prises de décision rationnelles et arbres de comportement. Navigation d'un agent intelligent : comportements de conduite, mouvements d'équipes organisées. Algorithmes de navigation (Dijkstra, A*, ligne de visée, algorithme d'entonnoir, etc.). Algorithmes pour la génération de zones de navigation dans les moteurs de jeu (Mesh de navigation). Perception et environnement : système de perception d'un agent intelligent (vision, son, dommages, etc.), perception partielle et omnisciente (équilibrage du gameplay), analyse de l'environnement et comportement contextuel (mise à couvert, exploration, etc.). Apprentissage machine et IA générative : réseaux de neurones, apprentissage supervisé, apprentissage par renforcement. Application des réseaux de neurones dans les moteurs de jeu. Outils et algorithmes de génération pour les jeux vidéo (personnalités des personnages, génération de donjons, etc.).
Chaque concept sera illustré par des exemples tirés du domaine des jeux vidéo.
Préalable(s): (8INF259)
Formule pédagogique : Magistral et/ou formation à distance
8IFG147 Gestion de la production dans l'industrie du numérique
Comprendre l'importance d'une bonne gestion de projets dans le domaine du développement de jeu vidéo. Développer la compréhension de la méthodologie Agile et du cadre de référence Scrum. Connaître les rôles, artéfacts et rituels Scrum. Comprendre la planification, le découpage et l'estimation des coûts de projet avec la méthode Agile. S'initier à la gestion d'équipes. Parfaire ses habiletés de communication et de résolution de conflits. Se familiariser avec la gestion de risques.
La production de jeux vidéo avec l'approche Agile/Scrum. Les trois piliers de Scrum : transparence, inspection et adaptation. La notion de rituel/point de contrôle et des « timebox ». L'aspect adaptatif et empirique de l'approche. Organisation du travail. Les rôles : Scrum Master, Product Owner et équipe multidisciplinaire de développement. Les rituels de planification : Release Planning et Sprint planning. Les trois points d'inspection et d'adaptation : rencontre quotidienne, revue de jeu et rétrospective. Les cinq artéfacts. Outils informatisés pour la gestion de projets (ex. Teams, Trello, Jira). Optimisation de la boucle de production Agile/Scrum. Définir le périmètre (scope) d'un projet en Agile/Scrum. Découper les fonctionnalités et estimer en continue en approche adaptative pour une production structurée et efficace. Définir son « backlog » de produit et son « backlog » de Sprint. L'équipe de projet : optimisation du processus de coordination des ressources. La nature d'une équipe de projet : bloquants et spécificités. La communication avec l'équipe et avec les individus : les stratégies. La gestion et la répartition de son temps. La gestion de projets à grande échelle en Agile/Scrum. Problématiques liées aux grandes équipes lors de l'utilisation d'approches Agiles. Modèles de gestion Agile à grande échelle : Nexus, LeSS, Spotify, Scrum of Scrum, Safe, etc. Évolution à venir dans le futur au niveau de la gestion de projets dans le secteur du numérique.
Formule pédagogique : Magistral et/ou formation à distance
8INF138 Sécurité des réseaux et du Web
Amener à comprendre les concepts de base de la sécurité informatique et de la protection de l'environnement de travail grâce à des logiciels et des protocoles de sécurité. Faire acquérir une approche pratique de la sécurité dans l'environnement de l'Internet.
Concepts de base de la sécurité informatique. Menaces. Vulnérabilité des systèmes. Survol des technologies utilisées en sécurité informatique: cryptographie, cryptanalyse, authentification, confidentialité, codes malicieux, pare-feux, audits, détection d'intrusions, etc. Principes de base pour sécuriser un environnement réseau. La taxonomie d'attaques malicieuses sur les réseaux informatiques. Les faiblesses des protocoles réseaux. Installation et configuration des outils de sécurité réseau. Protocoles de sécurité. Sécurité du Web. Concepts de politique de sécurité pour les réseaux. Étude approfondie des technologies utilisées pour la protection des réseaux informatiques. Sécurité de commerce électronique. Modèles de sécurité des langages de programmation. Vérification des mécanismes de sécurité implantés dans une organisation donnée.
Formule pédagogique : Cours Magistral
8INF206 Projet
Concevoir, élaborer et réaliser un logiciel, ou adapter un logiciel relié au champ d'intérêt de l'étudiant.
À partir d'une problématique qu'il identifiera, l'étudiant franchira toutes les étapes de réalisation ou d'adaptation d'un logiciel. Il devra analyser le problème, le structurer et en construire une image riche. Il devra le conceptualiser sous forme modulaire et élaborer des solutions de rechange. Il devra traduire la meilleure solution dans un langage de programmation (cours terminal).
Formule pédagogique : Magistral et/ou formation à distance
8INF228 Adaptation et qualité des applications
Permettre de maîtriser les principes d'adaptation, d'intégration et de composition d'une application selon les approches orientées objets, composants, services, micro-services et hybrides; de la modifier et de l'adapter facilement face à de nouveaux changements et contextes; et d'évaluer sa qualité.
Rappel des principes de développement d'applications, telles que la cohésion, le couplage, la modularité et les SOLID. Types d'adaptation et de maintenance d'une application pour interagir aux niveaux signatures, comportements, sémantiques et services. Faciliter l'adaptation d'une application et améliorer sa qualité avec les patrons, modèles, frameworks, plateformes, et API. Types de patrons: analyse, architecture, conception, implémentation, distance, et variations. Mécanismes d'injection de dépendance entre les composantes (IoC). Plateformes d'injection de dépendance à divers niveaux (objet, classe, composant, module). Séparation des préoccupations: Programmation par aspect. Conception architecturale: concepts, styles et patrons architecturaux. Introduction à l'approche orientée modèle MDA-MDE. Qualités de logiciels (réutilisation, maintenabilité, portabilité, interopérabilité, explanabilité, etc.). Métriques pour évaluer la qualité logicielle. Modèles de maturité de processus (standard CMM et norme ISO). Introduction aux notions formelles pour décrire des systèmes et composantes logiciels: diagrammes de classes et contraintes, automates et systèmes de transitions, et contrats (OCL). Pratique de développement DevOps.
Préalable(s): (8PRO128)
Formule pédagogique : Magistral et/ou formation à distance
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
8INF257 Informatique mobile
L'objectif du cours est d'amener les étudiants au cœur de la problématique de conception et du développement d'applications mobiles. L'étudiant sera en mesure d'exploiter efficacement les multiples senseurs des périphériques mobiles (ex.: téléphones, tablettes, etc.) afin d'offrir des services appropriés au contexte d'utilisation.
Composants et caractéristiques d'une application mobile, multithread, interfaces utilisateur, services, senseurs physiques et logiques, base de données, services basés sur la localisation, débogage, communication (wifi, Bluetooth etc.). Développement logiciel d'applications mobiles avec les langages et librairies utilisés en industrie.
Préalable(s): (8PRO128)
Formule pédagogique : Magistral et/ou formation à distance
8INF259 Structures de données
Poursuivre le développement des connaissances en méthodologies de résolution de problèmes et de programmation. Initier aux types abstraits de données, à leurs applications. Mettre en oeuvre des structures de données classiques et analyser leurs avantages et leurs défauts respectifs. Initier aux principes de l'algorithmique. Utiliser efficacement la librairie standard du C++ (STL).
Structures de données abstraites: piles, files, listes, arbres, graphes, tables de hachage, B-arbres. Analyse théorique et mise en oeuvre des algorithmes de gestion de ces structures: insertion, élimination, recherche, tri, etc. Analyse de l'efficacité des algorithmiques: introduction à la notation asymptotique. Introduction au langage C++: notions de classes et de modèles (templates). Organisation matérielle des fichiers: séquentielle, indexée, séquentielle-indexée. Utilisation de la STL: étude des principaux conteneurs (vector, list, stack, queue, map, set, etc.), utilisation des itérateurs (standard, constants et inversés).
Préalable(s): (8PRO107)
Formule pédagogique : Cours Magistral
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
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
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
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
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
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
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
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
8PRO107 Éléments de programmation
Initier au langage de programmation C++ tout en développant la créativité et l'esprit d'analyse. Initier à la résolution de problèmes et aux étapes à suivre pour résoudre un problème à l'aide d'un ordinateur. Familiariser avec les méthodes de résolution de problèmes par ordinateur dans le cadre de la programmation modulaire et structurée en C++. Sensibiliser au développement de programmes en C++ de bonne qualité, faciles à comprendre, faciles à utiliser et faciles à modifier.
Éléments du langage de programmation C++ : types simples et composés, variables locales et globales, entrées et sorties, expressions, structures de contrôle, fonctions, tableaux et pointeurs. Algorithmes interactifs et récursifs. Passage de paramètres par valeur et par référence. Allocation dynamique de la mémoire. Modularité et organisation des données. Notions d'algorithmique et de conception de programmes lisibles, compréhensibles et modifiables. Convention d'écriture de programmes et de documentations. Méthodologies de résolution de problèmes. Mise au point et vérification de programmes.
Formule pédagogique : Magistral et/ou formation à distance
8PRO128 Programmation orientée objet
Familiariser avec le paradigme de la programmation orientée objet (POO). Faire connaître les outils de développement objet. Réaliser des applications informatiques basées sur l'approche de la programmation objet.
Notions de base relatives à la méthodologie orientée objet : type abstrait de données, classe, objet, héritage simple et multiple, objet complexe, les mécanismes d'abstraction et de paramétrisation en POO, surcharge, généricité, polymorphisme, etc. Qualités d'un langage de classe : modularité, réutilisabilité, extensibilité et maintenance. Refactorisation. Initiation au langage de modélisation UML. Technologies orientées objet. Illustration des concepts en utilisant le langage C++.
Préalable(s): (8PRO107)
Formule pédagogique : Magistral et/ou formation à distance
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
8ROP530 Recherche opérationnelle
Initier les personnes étudiantes aux concepts, problèmes, méthodes de résolution et applications de la recherche opérationnelle et d'aide à la décision. L'accent est mis sur la manière de traduire les problèmes du monde réel en modèles appropriés, la compréhension des algorithmes pour résoudre ces problèmes, l'utilisation de logiciels spécialisés et l'analyse des résultats.
Problèmes d'optimisation et applications : nature des variables, problèmes contraints, problèmes uniobjectif et multiobjectifs, incertitude, combinatoire. Optimisation exacte: programmation linéaire, programmation linéaire en nombres entiers et mixtes, Algorithmes spécifiques à certains problèmes: transport, affectation, sélection, ordonnancement, graphes (plus court chemin, arbre couvrant, flot maximal, flot à coût minimal, projet), etc. Optimisation approchée: heuristiques et métaheuristiques. Optimisation de problèmes avec objectifs multiples, simulation, satisfaction de contraintes. Utilisation de logiciels.
Préalable(s): ((8PRO107) ou (8PRO408))
Formule pédagogique : Magistral et/ou formation à distance
8RVL201 Réalité virtuelle et environnements immersifs
Offrir les bases nécessaires pour comprendre les principes fondamentaux des technologies immersives. Apprendre les meilleures pratiques, les paradigmes d'interaction et leur contexte d'utilisation. Par l'intermédiaire d'interfaces immersives, les technologies de la réalité virtuelle offrent une expérience fascinante. Toutefois, il ne suffit pas de mettre un casque pour exploiter le plein potentiel de la technologie, pour avoir une expérience enrichissante.
Définition et applications. Principaux canaux sensori-moteurs de l'humain. Immersion et présence. Rendu stéréoscopique. Réalité Virtuelle avec les principaux moteurs de jeu. Étude des différentes méthodes de déplacement, de sélection et de manipulation tri-dimensionnelle. Comprendre et réduire les effets du cyber-malaise.
Préalable(s): (8PRO128)
Formule pédagogique : Magistral et/ou formation à distance
8SEC201 Cybersécurité défensive : vulnérabilités et incidents
Acquérir les connaissances et les compétences permettant de gérer les vulnérabilités d'un système informatique. Comprendre comment gérer les incidents de sécurité et les étapes de réponses.
Rappel des notions fondamentales : administration d'un système, code applicatif sécurisé OWASP, réseautique, chiffrement, gestion des accès, triade de la sécurité, probabilités et impacts, et Cyber Threat Intelligence (CTI). Gestion des vulnérabilités. Configuration et utilisation d'un scanner de vulnérabilités et d'outils de découverte. Collecte et interprétation des résultats. Analyse contextuelle des vulnérabilités. Recherche de solutions et recommandations. Tests, découvertes et exploitations des vulnérabilités. Intelligence en sécurité : visibilité et stratégie. Gestion des incidents. Connaître les étapes de réponses aux incidents : préparation, détection, analyse, confinement, éradication, rétablissement, leçons apprises. Gestion des risques et niveaux de service. Décrire des surfaces 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
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
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
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
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
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
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
NAND110 Pratique des principes de l'animation numérique I
Favoriser la maîtrise des principes de base en animation traditionnelle. Aider au développement des aptitudes spécifiques dans l'application de ces principes par une série d'ateliers pratiques utilisant diverses techniques dites «image par image» et en animation assisté par ordinateur. Apprendre à reconnaître et à utiliser les principes fondamentaux de diverses écoles de pensées relatives à l'animation et s'initier aux différents langages s'y rattachant. Initier aux notions de minutage et de pose clé utilisées dans des applications 3D.
Étude des douze principes d'animation destinés à rendre vivants les personnages et objets animés. Étude des différentes écoles de pensée, notamment celles de Disney, de Pixar et de l'Office National du Film. Analyse d'extraits d'animation de ces écoles. Étude de cas d'artistes influents tels que Frédéric Back, Nick Park, Ray Harryhaussen, Phill Tippet. Apprentissage des méthodes de base d'animation par pause et création. Réalisation d'un court métrage utilisant une combinaison des méthodes d'animation vue en classe (pixilation, claymation, etc.).
Formule pédagogique : Magistral et/ou formation à distance
NAND118 Pratique de la création 3D
Initier à la création d'éléments de contenu, d'images ou de séquences numériques originales dans l'environnement d'un logiciel 3D. Reconnaître les différents types d'objets virtuels et leurs manipulations potentielles. Comprendre les propriétés visuelles des objets et la notion de rendu d'images. Développer une pensée artistique intégrant les limites et le potentiel de la technologie.
Présentation et analyse des grands principes de la création 3D: la modélisation, les textures, l'éclairage et le rendu. Familiarisation aux possibilités créatives des principaux outils de façonnage des volumes (objets polygonaux, courbes, etc.), des outils de création de surface (nuanceurs et textures), et des outils de mise en scène (éclairages et utilisation de caméra). Développement d'un processus de création intuitif par l'usage approprié de thématiques de travail ouvertes.
Formule pédagogique : Magistral et/ou formation à distance
NAND136 Pratique de la création 3D en temps réel
Développer une plus grande autonomie dans les processus de création et de production par une analyse contextuelle des choix technologiques permettant l'affichage d'éléments et d'artéfacts visuels en temps réel. Permettre l'acquisition de compétences artistiques nécessaires menant à une pratique numérique professionnelle. Maîtriser l'usage des notions de création d'images ou de séquences numériques dans l'environnement d'un logiciel 3D.
Assimilation de principes avancés de la création 3D en temps réel par l'élaboration de travaux individuels ou collectifs plus complexes. Familiarisation aux différentes philosophies d'optimisation du calcul de l'image: résolution, qualité, contrôle des artefacts, les liens entre les rendus décomposés et l'intégration d'images subséquentes. Exploration de la création 3D dans des contextes de production tels que l'architecture, les jeux vidéo, le film et la vidéo. Résolution des problèmes reliés à des scènes instables ou contaminées. Regard critique sur différents projets synthétisant les connaissances acquises.
Préalable(s): (NAND118)
Formule pédagogique : Magistral et/ou formation à distance