Veuillez vous référer au programme 6596 Baccalauréat en développement de jeux vidéo.
L'industrie du jeu vidéo est en pleine croissance partout dans le monde et le Québec occupe actuellement une place de choix dans la conception et le développement de nouveaux jeux. Selon des études récentes, le secteur connaît une expansion rapide, progressant au rythme de 20 à 30% par année selon les estimations. Le développement de l'industrie québécoise du multimédia et, plus particulièrement, du jeu vidéo est tributaire de la capacité de ses intervenants à développer du contenu original et de qualité. Plusieurs firmes installées au Québec ont hors de tout doute prouvé la créativité et le dynamisme de l'industrie dans la création de contenus originaux.
Cependant, le domaine souffre, à retardement, du même phénomène que le secteur des technologies de l'information qui a glissé dans une pénurie structurelle en main-d'oeuvre. L'industrie subit une inadéquation qualitative entre l'offre de formation et les besoins des intervenants. Ainsi, la presque totalité des cours offerts dans ce domaine porte sur la maîtrise d'outils multimédias. Le secteur nécessite pourtant la création de programmes de formation de professionnels des nouveaux médias de haut niveau qui démarqueront les entreprises québécoises de leurs concurrents.
Le Baccalauréat avec majeure en conception de jeux vidéo vise l'acquisition des connaissances essentielles pour concevoir et développer des jeux vidéo et des compétences pratiques de travail d'équipe. Le noyau de cours couvre la programmation en C++, l'intelligence artificielle, le multimédia, les réseaux, le génie logiciel et la gestion de projet. Dès le début de son programme de formation, l'étudiant est invité à intégrer une équipe de conception et de réalisation d'un jeu vidéo.
La conception de jeux vidéo est une activité faisant intervenir des spécialistes de plusieurs domaines tant technique qu'artistique ; le modèle de formation majeure-mineure est idéal dans ce cadre. La majeure se combine de manière naturelle avec les mineures suivantes:
Le Baccalauréat avec majeure en conception de jeux vidéo a pour objectif général de former des professionnels polyvalents dotés de fortes compétences en informatique, aptes à participer au développement de la haute technologie dans les entreprises de l'industrie du jeu électronique, familiers avec les aspects non technologiques de leur future profession, comme la gestion de projet et les équipes de production, et sensibilisés au contexte et aux pratiques de l'industrie.
Les diplômés de ce programme auront acquis les compétences nécessaires pour solutionner des problèmes relevant du domaine de la conception de jeux vidéo, particulièrement la programmation C++, l'infographie 2D et 3D, l'intelligence artificielle, le multimédia, les réseaux, le génie logiciel et la gestion de projet.
Selon la mineure associée à leur majeure, ils seront aptes à assumer des fonctions de concepteur de jeux, d'animateur/modeleur, de programmeur/programmeur engin, d'intégrateur, de directeur technique, de gestionnaire de projet, de chef de production ou encore de responsable du contrôle de la qualité.
Plus spécifiquement, au terme de sa formation, l'étudiant aura développé les habiletés nécessaires pour réaliser toutes les étapes de la création d'un jeu vidéo pour le présenter efficacement tant à l'écrit qu'à l'oral, sur support CD et sur le web, maîtrisera la modélisation (UML) et la programmation (C++) orientée objet, connaîtra de façon approfondie l'infographie, la programmation d'applications graphiques 2D et 3D, l'intelligence artificielle et les réseaux informatiques, sera en mesure de travailler efficacement au sein d'une équipe multidisciplinaire afin de résoudre des problèmes en situation de production et d'être sensibilisé au contexte de l'industrie, ses enjeux socioéconomiques et éthiques.
Ê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 (voir ci-dessous). Les candidats dont la cote R est inférieure à 23 sont invités à faire une demande d'admission au Certificat en informatique (4202). Ces candidats pourront par la suite acheminer une demande d'admission au baccalauréat sur la base Études universitaires.
ÉQUIVALENCE DU DEC : Pour les 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 (1) en tenant compte des résultats académiques, notamment en mathématique. Le diplôme d'études collégiales québécois comprend 13 années de scolarité. Les candidats 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 la propédeutique Année préparatoire en mathématique et informatique (5719).
(1) Le dossier d'admission comprend :
Les candidats souhaitant être admis sur la base Préparation suffisante sont invités à faire une demande d'admission au Certificat en informatique (4202). Ces candidats pourront par la suite acheminer une demande d'admission au baccalauréat sur la base Études universitaires;
ouAvoir 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 (voir ci-dessous).
Tout candidat 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 :
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
Tout cours crédité dans un programme de majeure ne peut être à la fois crédité dans un programme de mineure menant à l'obtention d'un même baccalauréat et vice-versa.
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 Procédure (034) et la Politique (065).
Maîtrise du français
Les personnes postulant pour le grade de bachelier doivent faire la preuve qu'elles possèdent une maîtrise suffisante du français. La réussite à l'épreuve ou au test administré par le ministère de l'Éducation du Québec aux finissants de collège, constitue la preuve d'une telle maîtrise. Lorsque les circonstances l'exigent, l'établissement peut utiliser un test équivalent quant au contenu et aux standards de correction.
Règlement relatif à la qualité du français chez les étudiants dont la langue maternelle est autre que le français
Tout étudiant admis, dont la langue maternelle est autre que le français, est tenu de se soumettre au test identifié par l'UQAC pour évaluer ses compétences en français. L'étudiant doit atteindre le résultat exigé avant d'entreprendre son programme d'études.
Le baccalauréat est généralement offert à temps complet et à temps partiel.
L'admission des étudiants se fait aux trimestres d'automne et d'hiver.
Les cours préalables au cours 8INF700 Sujet spécial en informatique dépendent du sujet choisi par l'étudiant ainsi que de la recommandation du professeur en charge.
Lorsqu'un ou des cours obligatoires de la majeure auront été suivis et réussis dans le cadre d'un certificat ou d'une mineure, l'étudiant complétera sa formation pour l'ajout d'un nombre de cours optionnels correspondant au nombre de cours obligatoires déjà crédités à son dossier.
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. .
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 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 pour les étudiants inscrits dans certains DEC techniques. Les cégeps ainsi que les DEC techniques concernés par ces ententes sont les suivants:
Les perspectives d'emploi en conception de jeux vidéo sont excellentes. L'industrie du jeu électronique est en pleine croissance partout dans le monde et le Québec y occupe actuellement une place de choix. Le diplômé pourra orienter sa carrière selon un éventail étendu de possibilités : concepteur de jeux, animateur/modeleur, programmeur/programmeur engin, intégrateur, directeur technique, gestionnaire de projet, chef de production ou encore responsable du contrôle de qualité.
Le baccalauréat avec majeure et mineure préserve la capacité d'accéder à des études de deuxième cycle dans la discipline de la majeure.
Ce programme comprend quatre-vingt-dix (90) crédits répartis comme suit(*):
(*) Les cours entre parenthèses sont préalables.
6GEI186 | Architecture des ordinateurs |
8ALG135 | Algèbre linéaire |
8GIF150 | Conception de jeux vidéo |
8GIF185 | Réalisation d'un jeu vidéo (8INF259) |
8GIF225 | Atelier de production de jeux vidéo I (8GIF150 et 8GIF185) |
8GIF235 | Atelier de production de jeux vidéo II (8GIF150 et 8GIF185) |
8IAR125 | Intelligence artificielle pour le jeu vidéo (8INF259) |
8IFG145 | Gestion de projets informatiques |
8INF259 | Structures de données (8PRO107) |
8MAT122 | Structures discrètes |
8PRO107 | Éléments de programmation |
8PRO128 | Programmation orientée objet (8PRO107) |
8TRD150 | Animation et images par ordinateur (8PRO128) |
6GEN719 | Infographie (8INF259) |
6GEN723 | Réseaux d'ordinateurs (6GIN101 et 8INF259) |
7ARN161 | Création d'images numériques |
7ARN408 | Photographie et images numériques |
8INF128 | Conception et programmation de sites Web |
8INF138 | Sécurité des réseaux et du Web |
8INF206 | Projet |
8INF257 | Informatique mobile (8PRO128) |
8INF334 | Modélisation et développement objet (8PRO128) |
8INF341 | Systèmes d'exploitation (8INF259) |
8INF349 | Technologies Web avancées (8PRO128 et 8WEB101) |
8INF422 | Systèmes distribués (6GEN723 et 8INF342) |
8INF435 | Algorithmique (8INF259 et 8MAT122) |
8INF700 | Sujet spécial en informatique |
8INF713 | Informatique théorique (8INF259 et 8MAT122) |
8MAP107 | Calcul avancé I |
8PRO135 | Programmation avec des moteurs de jeu (8INF259 et 8PRO128) |
8ROP515 | Recherche opérationnelle ((8INF259 et 8MQG210) ou (8INF259 et 8STT117)) |
8STT117 | Probabilité et statistique |
8TRD151 | Introduction aux bases de données |
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 |
1BIO152 | Écologie humaine |
1BIO156 | Écotoxicologie |
1ECL100 | Introduction à la science de l'environnement |
1HSD120 | Histoire des sciences et démarche scientifique |
1PHY141 | Physique mécanique et optique |
1PHY604 | Introduction à la météorologie |
6GLG110 | Notre planète |
DESCRIPTION DES COURS
1BIO152 Écologie humaine
Étudier les relations de l'espèce humaine avec la biosphère (milieux naturels et milieux aménagés) et les autres organismes vivants.
Système terrestre et biosphère. Quelques notions de base en écologie. Nature biologique de l'espèce humaine: sa dépendance envers la biosphère et ses limites à l'adaptabilité. Évolution biologique (origine, diversité) et technique (agriculture et urbanisation). Population humaine: croissance historique, structure actuelle, niveau optimal de contrôle. Relations avec les ressources: aménagement et conservation. Écosystème urbain. Nécessité d'un équilibre entre le développement de la population humaine et la sauvegarde des milieux naturels.
Formule pédagogique : Cours Magistral
1BIO156 Écotoxicologie
Acquérir des connaissances fondamentales sur les principaux types et les différents modes d'action des produits toxiques chez les organismes et les écosystèmes. Examiner et évaluer, plus particulièrement dans le contexte régional, les effets bioécologiques des toxiques.
Contexte de l'écotoxicologie. Le fonctionnement de la biosphère. Les fondements de la toxicologie. Les principaux types de toxiques. Modes d'action des toxiques. Effets des intoxications et mécanismes de défense des organismes. Évaluation des produits toxiques et de leur toxicité. Prédiction des effets écologiques. Évaluation des risques.
Formule pédagogique : Cours Magistral
1ECL100 Introduction à la science de l'environnement
Démontrer l'importance des interrelations entre les différentes composantes physiques et biologiques de la biosphère. Faire acquérir un ensemble de notions et de concepts scientifiques permettant d'évaluer directement les causes et les relations possibles aux crises environnementales secouant nos sociétés.
Bilan de santé de la Terre au tournant du millénaire par l'étude des grandes crises environnementales et de leurs impacts sur la structure et le fonctionnement de la biosphère. Variables écologiques fondamentales: énergie, matière, espace, temps et diversité. Étude détaillée de l'énergie en termes de bilan et de flux: exemples pour divers écosystèmes et partitionnement de l'énergie chez les individus. Étude détaillée de la matière par le biais des cycles biogéochimiques: les cycles de l'eau, du carbone, de l'azote, du soufre et du phosphore sont donnés en exemple montrant les différentes stratégies possibles et leurs limitations. Quelques exemples de l'impact des activités humaines sur la biosphère sont discutés: le réchauffement global, la couche d'ozone, les déchets toxiques. Concept de développement durable vu dans une perspective d'outil de développement pour répondre aux besoins de nos sociétés.
Formule pédagogique : Cours Magistral
1HSD120 Histoire des sciences et démarche scientifique
Prendre conscience que les sciences constituent une activité humaine et qu'elle est évolutive. Établir les liens que l'activité scientifique entretient avec la dynamique sociale. Connaître les éléments historiques qui ont façonné la science et son évolution.
Connaissance de l'histoire des sciences, condition et production, rupture ou résolutions scientifiques, légitimité des savoirs. Développement des sciences en contexte culturel. Étude de concepts centraux en sciences: système et complexité, nature et objet de la méthode expérimentale, lois et théories scientifiques. Critique de la démarche scientifique. Interaction du développement de la science et de la technologie et incidences sociales.
Formule pédagogique : Cours Magistral
1PHY141 Physique mécanique et optique
Connaître les lois qui régissent le mouvement à l'échelle macroscopique et les grands principes de conservation; initier à la nature et au comportement de la lumière à l'aide des phénomènes ondulatoires et de l'optique géométrique et physique.
Cinématique vectorielle. Dynamique vectorielle. Système de référence inertiel et non inertiel. Principe de conservation. Énergie mécanique. Gravitation. Mouvement planétaire. Ondes: types, propagation, réflexion, transmission, superposition, ondes stationnaires et électromagnétiques. Optique géométrique: principes de Fermat et d'Huygens, réflexion, réfraction, miroirs, lentilles, résolution. Optique physique: interférence, diffraction, interférométrie, cohérence de phase, polarisation.
Formule pédagogique : Cours Magistral
1PHY604 Introduction à la météorologie
Comprendre des phénomènes physiques dont l'atmosphère est le siège et qui sont à la base des méthodes de prévision du temps.
Soleil, Terre et atmosphère. Radiation terrestre, bilan radiatif, température. Systèmes de pression, vents locaux, mousson, force de Coriolis, circulation générale. Humidité, condensation, types de nuages. Stabilité atmosphérique. Précipitations. Diagrammes aérologiques. Masses d'air, fronts, perturbations, cyclones frontaux, cyclones tropicaux, tornades. Prévisions du temps. Régimes climatiques, classification des climats, climagrammes. Météo et environnement, pollution atmosphérique.
Formule pédagogique : Cours Magistral
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
6GLG110 Notre planète
Amener à connaître et à comprendre la formation de la Terre et les mécanismes qui en gouvernent l'évolution. Présenter la Terre comme un système intégré d'interactions entre les roches, l'eau, l'air et la vie, unique dans le système solaire.
Dynamique du développement de la Terre. Son passé: formation du système solaire, organisation interne de la Terre et développement des premiers continents; supercontinents, plaques tectoniques, chaînes de montagnes; emprise et évolution de la vie à la surface du globe terrestre; fossiles, faune et flore caractéristiques des grandes ères de l'histoire de la Terre. Son présent: géodynamique interne, séismes, volcanisme et fonds océaniques; anatomie de la croûte continentale, roches, minéraux et minerais caractéristiques; géodynamique externe, analyse des paysages, eaux superficielles et souterraines; sédiments et roches sédimentaires; circulations atmosphérique et océanique, climats, glaciations. Son avenir: épuisement et surutilisation des ressources, pollution naturelle; interactions entre les activités humaines et l'environnement; changements climatiques au cours des périodes géologiques récentes et leurs incidences sur l'évolution passée et future de l'homme; développement "viable".
Formule pédagogique : Cours Magistral
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
7ARN408 Photographie et images numériques
Transmettre une connaissance de base du matériel et des processus photographiques ainsi que leurs applications, et ce, à partir de techniques traditionnelles et numériques. Initier aux connaissances fondamentales de l'esthétique photographique.
Survol historique et analyse esthétique du rôle de la photographie. Utilisation et maîtrise des différentes composantes de l'appareil photo d'aujourd'hui. Apprentissage des logiciels du traitement de l'image numérique. Réalisation de projets photographiques et d'images numériques en relation avec d'autres moyens de production.
Formule pédagogique : Cours Magistral
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
8ALG135 Algèbre linéaire
Introduire les concepts et les résultats de base de l'algèbre linéaire et ainsi développer une maîtrise raisonnable des modes de raisonnement, des méthodes de calcul et des heuristiques, propres à ce domaine. Introduire l'aspect historique par l'étude de situations ayant nécessité l'emploi de l'algèbre linéaire.
Matrices. Systèmes d'équations. Systèmes d'inéquations linéaires. Espaces vectoriels réels: dépendance linéaire, indépendance linéaire, bases, dimensions, applications linéaires, représentations matricielles. Déterminants, valeurs et vecteurs propres, diagonalisation.
Formule pédagogique : Cours Magistral
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
8IFG145 Gestion de projets informatiques
Amener à comprendre l'importance d'une bonne gestion de projet pour le succès du développement de projets en informatique et en jeu vidéo. Familiariser avec les différentes méthodologies de développement de logiciels dont les méthodes agiles. Initier aux outils utilisés pour gérer le développement de logiciels. Amener à comprendre la relation entre l'aspect technique et l'aspect gestion. Développer des habiletés de travail en équipe, de communication et d'animation de réunions de production.
Les problèmes du développement informatique. Rôle de la gestion des projets informatiques comme partie de la solution. Établissement des exigences et validation. Méthodes de développement traditionnelles. Méthodes agiles: Extreme Programming, Scrum, etc. Choix de la méthode de développement et gestion de projets. Arborescence du projet (WBS). Échéancier et outils de gestion de projets. Suivi de projet et coordination. Gestion de la configuration et ses outils. Revues formelles. Assurance et mesure de la qualité. Amélioration de la productivité et sa mesure. Effet de l'importance des données sur le projet, la méthodologie de développement et la gestion du projet. Autres sujets connexes: la gestion des connaissances, apprentissage individuel et organisationnel en gestion de projets; le problème de l'estimation: les métriques applicables; le risque dans un projet: son estimation et sa gestion.
Formule pédagogique : Cours Magistral
8INF128 Conception et programmation de sites Web
Familiariser avec la méthodologie, la conception et la gestion d'un site Web.
Structure d'un document avec les langages HTML et XHTML. Structures de présentation et mise en page des diverses composantes d'un site Web avec le langage CSS. Notions de design: formats et traitement d'images, ergonomie, accessibilité, support des standards par les navigateurs. Création de pages dynamiques du côté client au moyen de JavaScript. Notions de base du réseau Internet: le protocole HTTP. Fonctionnement, gestion et configuration de base d'un serveur Web. Analyse des logs d'un serveur. Fonctionnement des moteurs de recherche. Optimisation du temps de chargement. 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 : Cours Magistral
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
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
8INF341 Systèmes d'exploitation
Initier aux principaux concepts reliés aux systèmes d'exploitation des ordinateurs. Étudier l'interdépendance entre les systèmes d'exploitation et les architectures des systèmes ordinés, à l'aide d'exemples réels et simulés.
Composantes d'un système ordiné. Microprogrammation, langage machine, assemblage, compilation, interprétation, édition de liens, chargement; langage de contrôle, moniteur, utilitaires. Gestion de la mémoire: hiérarchie mnémonique, mémoire virtuelle, pagination et segmentation, protection, mémoire auxiliaire, fichiers, entrées-sorties. Gestion des processus: traitement par lots, temps réel, multiprogrammation, asynchronicité, interruptions, priorités, allocation dynamique, exclusion mutuelle, listes d'attente, ordonnancement, retard indéfini. Évaluation, embouteillages, vérification formelle, modèles statistiques et autres, initialisation et récupération, sécurité, réseaux, comptabilité. Exemples: VAX/VMS, MS-DOS, UNIX, etc. Simulation ou implantation de fragments d'un système sur un ordinateur.
Préalable(s): (8INF259)
Formule pédagogique : Cours Magistral
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
8INF422 Systèmes distribués
Permettre à l'étudiant de maîtriser et approfondir les principes des échanges et de communication des systèmes distribués à base objet, composant et service. Approfondir les notions de protocoles de présentation, de session et d'application.
Modèles et architectures des applications réparties: client-serveur, deux-tiers, trois-tiers, peer-to-peer, code mobile, Grid et cloud computing. Plateformes distribuées et types de middlewares. Types de communication : par message, par procédure, et par objet. Modélisation d'applications distribuées avec UML. Développement des applications distribuées à l'aide d'un paradigme model-vue-contrôleur, notamment dans le contexte de l'Internet. Traitement du côté client versus traitement du côté serveur, contrôle de session, gestion des formulaires, contrôle des erreurs. Concepts d'applications riches (AJAX). Concept de services Web (SOAP) et de ressources (R).
Préalable(s): (6GEN723 et 8INF342)
Formule pédagogique : Cours Magistral
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
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
8INF713 Informatique théorique
Étudier les fondements théoriques de l'informatique afin de comprendre quelles sont les propriétés et les limites des ordinateurs.
Formalisation des notions de problème et de langage. Automates finis, expressions régulières et langages réguliers. Automates à pile et langages hors-contextes. Machines de Turing, langages récursifs et récursivement énumérables. Indécidabilité. Réductibilité. Classes de complexité. Hiérarchies.
Préalable(s): (8INF259 et 8MAT122)
Formule pédagogique : Cours Magistral
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
8ROP515 Recherche opérationnelle
Fournir une connaissance des approches et des outils modernes permettant de modéliser et de solutionner différents problèmes d'optimisation.
Approches exactes: programmation linéaire, programmation linéaire en nombres entiers, programmation dynamique. Approches spécifiques à des problèmes de réseaux: gestion de projet, transport, affectation, le plus court chemin, flot maximal, flot à coût minimal, etc. Approches heuristiques: heuristiques simples et méthodes d'intelligence artificielle. Simulation. Problèmes de satisfaction de contraintes (CSP). Utilisation de logiciels et applications.
Préalable(s): ((8INF259 et 8MQG210) ou (8INF259 et 8STT117))
Formule pédagogique : Cours Magistral
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