3037

Maîtrise en informatique

Responsable : François Lemieux
Regroupement de programmes : Programmes d'études de cycles supérieurs en informatique
Secrétariat : (418) 545-5011, poste 5273
ADRESSE ÉLECTRONIQUE :dpcs_informatique@uqac.ca
Grade : Maître ès sciences

Profil professionnel.

Présentation du programme

Le programme de Maîtrise en informatique offre deux profils de formation visant à développer chez l'étudiant des compétences avancées dans des secteurs de pointe de l'informatique. En plus de permettre l'acquisition de connaissances de haut niveau, le programme de maîtrise cherche à développer chez ce dernier ses capacités d'analyse et de synthèse.

Objectifs

Le PROFIL PROFESSIONNEL vise à favoriser la progression de l'étudiant dans son organisation ou son insertion dans le marché du travail. Il permet à l'étudiant d'approfondir ses connaissances pour proposer des solutions à des problèmes spécifiques au domaine de l'informatique, de développer une capacité de synthèse, une rigueur et un sens critique dans un domaine en constante évolution et à développer des habiletés de communication.

Le PROFIL RECHERCHE : vous référer au programme 3017 - Maîtrise en informatique - Profil recherche

Clientèle visée

Le programme s'adresse aux étudiants ayant complété un premier cycle universitaire dans le domaine de l'informatique. Il s'adresse plus spécifiquement à une clientèle occupant un poste sur le marché du travail.

Conditions d'admission

Être titulaire d'un baccalauréat, ou l'équivalent, en informatique, en informatique de gestion, en génie informatique ou d'un baccalauréat avec majeure en conception de jeux vidéo, obtenu avec une moyenne cumulative d'au moins 3,2/4,3 ou l'équivalent.

ou

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

Les méthodes et les critères de sélection consistent à l'évaluation du dossier scolaire et des lettres de recommandation. Les candidats qui présentent une demande sur la base de l'expérience pertinente seront convoqués à une entrevue. Avant d'être admis au programme, le candidat peut être appelé à compléter sa formation par une propédeutique ou par des cours d'appoint.

Contingentement

Ce programme n'est pas contingenté.

Maîtrise des compétences informationnelles

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

Règle administrative

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

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

La durée du programme de Maîtrise en informatique pour les étudiants à temps plein est de deux ans et quatre ans pour les étudiants à temps partiel.

Règlements pédagogiques particuliers

Les étudiants détenteurs d'un Baccalauréat en informatique de gestion devront obligatoirement suivre le cours 8MAT122 Mathématiques discrètes au premier trimestre d'admission, à titre de cours d'appoint.

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

Pour s'inscrire à des cours de la Maîtrise en gestion de projet, ou de la Maîtrise en gestion des organisations, l'étudiant doit rencontrer les conditions d'admission de ces programmes. L'approbation du directeur de programme concerné est requise pour s'inscrire à des cours de ces maîtrises.

Les étudiants ayant complété le DESS en informatique appliquée (3775) peuvent se voir reconnaître 18 crédits de cours optionnels en informatique lors d'une admission à la maîtrise.

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

Note :

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

Structure du programme

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

Plan de formation

Cours optionnels (30 crédits)

Cours optionnels en informatique (de 21 à 30 crédits) dans la liste suivante:

8INF802 Simulation de systèmes
8INF803 Bases de données réparties
8INF804 Traitement numérique des images
8INF808 Informatique appliquée et optimisation
8INF840 Structures de données avancées et leurs algorithmes
8INF843 Systèmes répartis
8INF844 Systèmes multi-agents
8INF846 Intelligence artificielle
8INF847 Gestion de projets informatiques
8INF848 Technologie de l'information et innovation technologique
8INF849 Interaction 3D et réalité virtuelle
8INF850 Méthodologie de la recherche
8INF851 Génie logiciel
8INF852 Métaheuristiques en optimisation
8INF853 Architecture des applications d'entreprise
8INF854 Cryptographie
8INF855 Intelligence d'affaires: principes et méthodes
8INF856 Programmation sur architectures parallèles
8INF857 Sécurité informatique
8INF858 Systèmes intégrés de gestion d'entreprise
8INF870 Algorithmique
8INF871 Principes des moteurs jeux
8INF872 Programmation de plateformes mobiles
8INF911 Sujet spécial en informatique I
8INF912 Sujet spécial en informatique II
8INF913 Sujet spécial en informatique III
8INF914 Sujet spécial en informatique IV
8INF915 Sujet spécial en informatique V
8INF954 Forage de données
8INF955 Principes de conception et de développement de jeux vidéo
8INF956 Développement avancé de logiciels : Patrons et Modèles
8INF957 Programmation objet avancée
8INF958 Spécification, test et vérification

Cours optionnels en gestion *(de 0 à 9 crédits) dans la liste suivante:

L'étudiant doit respecter les conditions d'admission et obtenir l'approbation du directeur du programme pour s'inscrire à ces cours.

Maîtrise en gestion de projet

MGP7111 La gestion de projet et son contexte
MGP7112 Conception de projet
MGP7121 Planification et contrôle opérationnels de projet
MGP7122 Processus et systèmes de support en gestion de projet
MGP7130 Management des équipes de projet

Maîtrise en gestion des organisations

2MGO724 Communication organisationnelle ll 1.5 cr.
2MGO737 Communication organisationnelle I 1.5 cr.
2MGO739 Habiletés d'intervention organisationnelle
2MGO741 Intervention et développement organisationnel

* L'étudiant doit respecter les conditions d'admission du programme.

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

Pour terminer son programme, l'étudiant choisit une activité de 15 crédits parmi les suivantes :

8INF859 Stage 15.0 cr. (8INF847)
8INF860 Essai 15.0 cr. (8INF850)
8INF861 Projet d'intervention 15.0 cr. (8INF850)

DESCRIPTION DES COURS

2MGO724 Communication organisationnelle ll

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

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

(02/2017)

2MGO737 Communication organisationnelle I

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

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

(02/2017)

2MGO739 Habiletés d'intervention organisationnelle

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

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

(02/2017)

2MGO741 Intervention et développement organisationnel

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

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

(02/2017)

8INF802 Simulation de systèmes

Fournir à l'étudiant des connaissances avancées en simulation des systèmes discrets qui pourront lui servir dans tous genres d'applications. Présenter une approche méthodologique pour la conception d'un modèle, sa validation et l'analyse des résultats.

Principes de la simulation par ordinateur. Construction et validation de modèles : cueillette et analyse de données, génération de nombre pseudo-aléatoires, vérification et validation de modèles. Langages de simulation à évènements discrets. Prise de décision basée sur la simulation. Optimisation par simulation.

(02/2017)

8INF803 Bases de données réparties

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

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

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

(02/2017)

8INF804 Traitement numérique des images

Ce cours est une introduction aux différentes méthodes utilisées en imagerie numérique. Il vise l'apprentissage des fondements de ce domaine. Le principal objectif est la compréhension en profondeur des notions utilisées dans le traitement numérique des images, tant du point de vue algorithmique que mathématique. Après avoir suivi le cours, l'étudiant devrait être en mesure d'implémenter des algorithmes pour le rehaussement et la restauration d'images en utilisant diverses méthodes numériques telles que les transformées de Fourier, les ondelettes, etc.

Le cours porte sur l'apprentissage des techniques classiques utilisées pour le traitement d'images sur support numérique. Propriétés des images. Échantillonnage, codage, stockage et format de fichiers. Filtrage des images dans le domaine spatial et fréquentiel. Transformée de Fourier. Théorie des ondelettes. Théorie de la couleur appliquée aux images numériques. Segmentation d'images. Formats standards (JPEG, etc.). Applications (astronomie, imagerie médicale, etc.).

(02/2017)

8INF808 Informatique appliquée et optimisation

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

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

(02/2017)

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

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

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

(02/2017)

8INF843 Systèmes répartis

Permettre à l'étudiant de maîtriser les connaissances nécéssaires pour concevoir une infrastructure de systèmes répartis en considérant les nouvelles technologies et les normes associées, dont celles spécifiques à l'interopérationalité et la transparence.

Conception et implantation des systèmes répartis. Rappel sur les protocoles de communication et des concepts fondamentaux comme l'identification des objets (sérialisation, Marshaling, références d'objets distants), l'architecture, la communication, la fiabilité, le partage des ressources, l'exécution à distance et la gestion de cycle de vie des objets dans le système distribués. Architecture des systèmes répartis en termes de services et protocoles de communication et de problèmes d'interconnexion de systèmes hétérogènes, indépendamment de la plate-forme matérielle et du langage de programmation. Plate-formes standards : CORBA (Common Object Request Broker Architecture), J2EE (Java 2 Enterprise Edition) et Services Web et leurs protocoles.

(02/2017)

8INF844 Systèmes multi-agents

Introduire l'étudiant à un nouveau paragdime de résolution collective de problèmes qui est celui de l'intelligence artificielle distribuée. Comprendre l'évolution possible de l'approche orientée objet au travers de la technologie agent. S'initier à la problématique de recherche dans le domaine des systèmes multi-agents.

Résolution distribuée de problèmes et fondements des systèmes multi-agents. Concepts de base des agents. Représentation de connaissances et logiques du savoir et des croyances. Logique de description. Théorie de l'action. Communication et théorie des actes de langages. Coopération et coordination dans une société d'agents. Génie logiciel orienté agent.

(02/2017)

8INF846 Intelligence artificielle

Introduction à l'intelligence artificielle et aux systèmes à base de connaissances.

Techniques de représentation des connaissances et raisonnements : réseaux sémantiques, logiques propositionnelle et du premier ordre. Résolution de problèmes par l'exploration et la planification. Acquisition de connaissances. Conception de systèmes à base de connaissances. Méthodologie de développement, environnements de développement, langages. Nouvelle génération de systèmes d'information intégrant la composante cognitive.

(02/2017)

8INF847 Gestion de projets informatiques

Permettre à l'étudiant d'acquérir les compétences requises pour la gestion de projet. En particulier, présenter les techniques avancées qui ne sont pas vues dans le cadre d'un programme de 1er cycle. Montrer à l'étudiant la nécéssité d'améliorer la pratique de la gestion de projet et permettre d'acquérir non seulement des connaissances mais aussi des compétences en ce domaine. Enfin, le cours vise l'acquisition de compétence dans le champ élargi de la gestion de l'informatique tel que le protefeuille, le bureau de projet et l'impartition.

Les projets en technologie de l'information et les problèmes du développement de logiciel. Le référentiel de connaissance (PMBOK). Le cycle de vie du projet vs le cycle de vie du logiciel. L'analyse de rentabilité (business case). La sélection des projets. Les processus de la gestion de projet. Le mandat. Les outils de mesure et de quantification au niveau de la planification, de l'organisation et du contrôle de projet. La structure organisationnelle et l'équipe de projet. Structure de découpage (WBS). Les logiciels de gestion de projet. Les techniques de planification (méthodes CPM et PERT, allocation des ressources et diagramme de GANTT). Les techniques de nivellement et l'optimisation des ressources. La gestion des risques. L'assurance qualité. La gestion du changement, la résistance et les conflits. La gestion de la configuration. Les revues, le contrôle du projet. La mise en place, la clôture et l'évaluation. Le pilotage et les systèmes d'information de projet. Le portefeuille de projets. Le bureau de projet. Les approches agiles à la gestion de projets. L'amélioration des processus de gestion de projet (tel que CMMI, ITIL). L'impartition, l'impartition internationale et la délocalisation des emplois.

(02/2017)

8INF848 Technologie de l'information et innovation technologique

Le cours veut permettre à l'étudiant d'acquérir des connaissances dans le domaine des technologies de l'information et plus particulièrement dans le domaine des avantages concurrentiels et du soutien à la décision. De plus, il veut permettre à l'étudiant d'acquérir certaines connaissances et compétences dans le domaine de l'innovation technologique.

Conditions de succès pour le changement en technologie de l'information (TI). TI et avantage concurrentiel. La perception, la communication et la motivation. Le processus créatif. Les outils et les applications de la créativité. Processus de changement technologique et ses répercussion sur l'organisation. Étude critique de modèles d'adaptation de l'organisation et des acteurs au changement. Gestion de la connaissance appliquée aux TI et à l'innovation. La création de produits stratégiques. Politiques gouvernementales. La veille. La gestion de l'innovation. Tableaux de bord et tableaux de bord prospectifs appliqués à la gestion, à la gestion de l'innovation et à la gestion de projets informatiques.

(02/2017)

8INF849 Interaction 3D et réalité virtuelle

Ce cours entend offrir les bases nécessaires pour la compréhension, la conception et le développement de systèmes exploitant les techonologies de la réalité virtuelle. À terme, l'étudiant aura acquis un ensemble de connaissances théoriques et pratiques sur les technologies de la réalité virtuelle et les techniques d'interaction 3D en particulier.

Présentation du domaine: définition et applications. Percevoir le monde, se déplacer et naviguer dans l'espace. Les techniques d'interaction 3D, pseudohaptique, détection et collision, rendu visuel stéréoscopique, rendu haptique, multi-modalité. Exploration de données, jeux sérieux, conception assistée par ordinateur (CAO).

(02/2017)

8INF850 Méthodologie de la recherche

Initier l'étudiant à la méthodologie de recherche, à l'examen critique et à la synthèse de la littérature. Aider l'étudiant à bien situer son projet de recherche dans une problématique plus globale et le préparer à l'exécution de sa propre recherche.

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

(02/2017)

8INF851 Génie logiciel

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

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

(02/2017)

8INF852 Métaheuristiques en optimisation

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

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

(02/2017)

8INF853 Architecture des applications d'entreprise

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

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

(02/2017)

8INF854 Cryptographie

Comprendre le fonctionnement des principaux protocoles et algorithmes cryptographiques ainsi que leurs applications.

Historique: Notions élémentaires de la théorie des nombres et de la théorie de la complexité; Cryptologie à clef privée et publique; Signature électronique, fonctions de hachage à sens unique; Protocole d'échange de clefs, échange de clefs; Exemples de librairie dans des langages tels que C et Python; cryptologie quantique (si le temps le permet), Cryptosystèmes à courbes elliptiques (si le temps le permet).

(02/2017)

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

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

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

(02/2017)

8INF856 Programmation sur architectures parallèles

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

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

(02/2017)

8INF857 Sécurité informatique

Ce cours vise à comprendre les différents problèmes de la sécurité informatique (confidentialité, intégrité, disponibilité, authentification, non répudiation) et leurs solutions dans divers environnements: local et réseau. Plus spécifiquement: Connaître les mécanismes de base qui permettent de contrôler l'accès à un système et ses ressources; développer le savoir-faire nécessaire à la sécurisation des applications d'entreprise, d'un système informatique et du réseau Internet; être capable de proposer des mesures adéquates pour éviter les attaques; familiariser les étudiants avec les commerces électroniques sécurisés; gérer la sécurité d'un système et analyser les risques.

Introduction: Importance de la sécurité pour une entreprise; sécurité local et distance. Sécurité des télécommunications et d'accès: Internet, faiblesses du protocole TCP-IP, analyse de ports; Intranet, Extranet, gardes-barrière (Firewall), Proxy, VPN, IPsec. Sécurité des systèmes d'exploitation: Permissions et Log files. Confidentialité: Le cryptage; Chiffrement symétrique (DES, 3DES, AES, IDEA), Chiffrement asymétrique (clé publique-privée, RSA, ELGAMAL). Authentification: Méthodes d'authentification faibles et fortes; Mot de passe, One-Time password (S-KEY), Signature, Certificat et Biométrie. Intégrité: Chiffrement asymétrique et chiffrement symétrique, Signature numérique. Sécurité des applications et des langages de programmation: Modèle de sécurité en Java, JAAS, sécurité de code C-C++; Communications sécurisées clients-serveurs. Commerces et messageries électroniques: Messageries électroniques (SMTP, S-MIME, PGP), Commerces électroniques avec le protocole SSL, Secure Electronic Transactions (SET); transfert électronique de fonds. Méthodes de gestion de la sécurité: Déterminer l'impact de chaque actif informationnel en termes de confidentialité, d'intégrité et de disponibilité; Méthode MEHARI, Cobit, Normes ISO.

(02/2017)

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

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

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

(02/2017)

8INF859 Stage

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

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

Préalable(s): (8INF847)

(02/2017)

8INF860 Essai

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

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

Préalable(s): (8INF850)

(02/2017)

8INF861 Projet d'intervention

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

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

Préalable(s): (8INF850)

(02/2017)

8INF870 Algorithmique

Introduire l'étudiant à l'algorithmique avancée et à ses applications, en mettant l'accent sur le domaine des jeux vidéo.

Revue des notions fondamentales de l'algorithmique: Algorithmes voraces, méthode diviser-pour-régner, programmation dynamique, algorithmes probabilistes et parallèles. Théorie de la NP-complétude. Principales classes de complexité. Mesures de complexité : temps et espace mémoire.

Applications: Détection de collision en temps réel: géométrie algorithmique, volumes englobants, hiérarchies de volumes, partitionnement spatial en 2D et en 3D, arbres BSP, méthodes basées sur la convexité, optimisation par utilisation de caches, etc. Algorithme sur les graphes: recherche de chemins optimaux, A*, aide à la décision, etc.

(02/2017)

8INF871 Principes des moteurs jeux

Introduire l'étudiant aux principes fondamentaux de la programmation des moteurs de jeux.

Rappels des notions d'infographie, de physique mécanique et d'intelligence artificielle propres à la programmation des moteurs de jeux. Moteurs de rendu. Systèmes d'animation. Détection de collision. Éditeurs de niveaux. Programmation en temps réel. Analyse d'un moteur de jeux.

(02/2017)

8INF872 Programmation de plateformes mobiles

Ce cours vise l'approfondissement de l'implémentation de systèmes informatiques sur les technologies mobiles (téléphones, tablettes, etc.) et l'apprentissage des notions d'interface personne-machine et des technologies avancées propres à ces appareils.

(02/2017)

8INF911 Sujet spécial en informatique I

Ce cours a pour but de favoriser l'accès à divers domaines spécialisés ou nouveaux en informatique ainsi que d'initier à la recherche.

Le contenu est variable.

(02/2017)

8INF912 Sujet spécial en informatique II

Ce cours a pour but de favoriser l'accès à divers domaines spécialisés ou nouveaux en informatique ainsi que d'initier à la recherche.

Le contenue est variable.

(02/2017)

8INF913 Sujet spécial en informatique III

Ce cours a pour but de favoriser l'accès à divers domaines spécialisés ou nouveaux en informatique ainsi que d'initier à la recherche.

Le contenu est variable.

(02/2017)

8INF914 Sujet spécial en informatique IV

Ce cours a pour but de favoriser l'accès à divers domaines spécialisés ou nouveaux en informatique ainsi que d'initier à la recherche.

Le contenu est variable.

(02/2017)

8INF915 Sujet spécial en informatique V

Ce cours a pour but de favoriser l'accès à divers domaines spécialisés ou nouveaux en informatique ainsi que d'initier à la recherche.

Le contenu est variable.

(02/2017)

8INF954 Forage de données

Ingénierie de la connaissance. Processus et tâches du forage de données. Entrepôt de données. Méthodes descriptives et prédictives pour l'extraction de connaissances. Reconnaissances des formes. Ontologies et organisation automatique de connaissances.

(02/2017)

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

Architecture logicielle d'un jeu vidéo (gameloop, jetons, états, moteurs, etc.). Processus de développement dans l'industrie du jeu vidéo et gestion d'un projet de jeu. Approches de développement Agile et SRCUM. Outils technologiques, bibliothèques et langages utilisés en industrie (XNA, Torque, etc.). Les moteurs de jeux. Théorie des jeux. Design de jeux. Étude sur la jouabilité "Gameplay". Équilibre dans la structure des éléments d'un jeu (pointages, options, défis versus habilités, ajustement dynamique, chances, etc.). Ergonomie des interfaces de jeux. Les "serious games" et autres jeux à objectifs non ludiques. Recherche et développement dans le domaine des jeux vidéo.

(02/2017)

8INF956 Développement avancé de logiciels : Patrons et Modèles

Concepts avancés de logiciels. Réutilisation de composants logiciels (patrons, modèles, librairies, plateformes). Concept de patrons. Patrons dans les étapes de développement de logiciels : patrons d'analyse, patrons d'architecture, patrons de conception et patrons de programmation. Autres formes de patrons: patrons ressources (Réflection, Plugin, Sérialisation, etc.), les patrons à distance (Remoting patterns: pooling, leasing, Lookup, etc.), etc. Développement orienté (MDA): modèle, architecture et plateforme. Types de modèles: Computation Independent Model (CIM), Platform-Independent Model (PIM), Platform-specific model (PSM) et un modèle de composants (Platform model-PM).

(02/2017)

8INF957 Programmation objet avancée

Principes objet avancés: typage statique, héritage et méta programmation. Fondements: objets, classes, types et sous-types, interface, spécialisation, héritage, propriétés, polymorphismes, envoi de message, généricité, collections, types d'applications Java, assertions, exceptions et programmation événementielle. Héritage multiple et variations : conflits de propriétés, techniques de linéarisation et héritage d'interface. Méta-programmation : méta-modélisation, introspection, réflexivité. Programmation par contrat, aspect, objet et composant. Objets distribués, entrées/sorties, XML et Java.

(02/2017)

8INF958 Spécification, test et vérification

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

(02/2017)

MGP7111 La gestion de projet et son contexte

Permettre à l'étudiant de cerner les enjeux et les perspectives du monde de la gestion de projet et de situer la gestion de projet dans son contexte stratégique et organisationnel.

Les principaux éléments de contenu sont le domaine de la gestion, ses fondements conceptuels, son contexte stratégique et structurel ainsi que le rôle de chef de projet.

(02/2017)

MGP7112 Conception de projet

Rendre l'étudiant capable d'appliquer une démarche systématique de conception d'un projet et d'en définir la stratégie de réalisation quelle que soit la nature du projet.

Les principaux éléments du contenu sont la définition du besoin, la définition du concept incluant l'identification des options, les études de préfaisabilité et le choix du concept, et la définition du projet incluant l'analyse des risques et les stratégies de réalisation.

(02/2017)

MGP7121 Planification et contrôle opérationnels de projet

Habiliter l'étudiant à planifier, organiser et contrôler un projet de façon efficace et de l'initier à la gestion informatisée de projet.

Les principaux éléments de contenu sont la gestion de l'envergure et la structure de découpage du projet (WBS), la gestion des délais et des échéanciers, l'affectation des ressources et la gestion des coûts, l'organisation de projet et la gestion multiprojet. Le cours inclut l'utilisation d'un logiciel de gestion de projet.

(02/2017)

MGP7122 Processus et systèmes de support en gestion de projet

Familiariser l'étudiant avec les principaux processus et systèmes de support en gestion de projet.

Les principaux éléments de contenu sont la gestion de la qualité en contexte projet, la gestion des approvisionnements et des contrats, comptabilité et gestion de projet, systèmes d'information et gestion des communications en gestion de projet.

(02/2017)

MGP7130 Management des équipes de projet

Permettre aux étudiants d'acquérir les habiletés et les connaissances de base nécessaires à la gestion d'une équipe de projet. Il vise aussi à leur permettre d'analyser leur efficacité interpersonnelle et d'identifier les effets de leurs caractéristiques individuelles dans leurs relations interpersonnelles et dans leur rôle de gestionnaire de projet.

Les principaux éléments de contenu du cours sont la communication interpersonnelle, (perception, processus de communication, écoute, feed-back), les schémas de comportements sociaux, le développement, la consolidation et la gestion de l'équipe de projet (team-building) et la gestion des conflits.

La stratégie pédagogique privilégiée amènera les étudiants à analyser leurs rapports avec les autres et à développer les habiletés nécessaires à l'amélioration de leur contribution dans une équipe de projet. Le cours sera également pour les étudiants l'occasion de vérifier leur degré de maîtrise de ces habiletés dans une vaste simulation d'une organisation ayant à gérer des projets.

(02/2017)