Ce programme court s'adresse aux personnes inscrites dans un établissement universitaire à l'étranger qui désirent poursuivre une partie de leurs études à l'UQAC.
Ce programme court vise à offrir une structure d'accueil et d'encadrement aux étudiants qui séjournent à l'UQAC dans le cadre de programmes d'échanges.
Le programme permet de contribuer à la formation universitaire des étudiants, notamment sur le plan de l'acquisition des connaissances, du développement de l'autonomie et de l'esprit d'initiative.
Il permet également de valoriser les études faites au Québec par la délivrance d'un relevé de notes.
Être inscrit dans un programme d'informatique de niveau universitaire;
ETAvoir satisfait aux conditions d'admissibilité à un séjour à l'étranger de l'institution d'attache.
Les modalités et les règles qui régissent l'attestation de la maîtrise du
français telles que résumées ci-dessous, sont définies dans la Politique et la Procédure relative à la valorisation du français.
Règlement relatif aux exigences liées à l'admission pour les
candidats dont la langue maternelle n'est pas le français
Toute candidate ou tout candidat a un programme identifié, dont la langue maternelle n'est pas le français, est tenu de se soumettre au Test de français international (TFI) avant le début de son parcours universitaire à l'UQAC. Il est à noter que les candidates et les candidats en protocole d'échange provenant d'une université partenaire et dont la langue d'enseignement est le français, de même que les candidates et les candidats des Premières Nations sont exemptés de cette obligation.
Également, certaines candidates et certains candidats dont la langue maternelle n'est pas le français peuvent être exemptés de cette obligation lorsqu'ils répondent à l'une ou l'autre des exemptions prévues à la procédure ci-haut.
L'admission au programme se fait aux trimestres d'automne et d'hiver.
Le programme d'études est offert à temps complet.
Le choix de cours peut être limité en fonction de l'horaire et du trimestre d'admission. Certains cours peuvent être annulés si le nombre d'inscriptions est trop faible.
Les programmes d'une durée de moins de trois mois ainsi que les programmes offerts uniquement à temps partiel ne sont pas reconnus pour l'attribution de prêts et de bourses.
Ce programme comprend quinze (15) crédits répartis comme suit:
4ETH236 | Éthique et informatique |
6GEI264 | Vérification et validation des logiciels (8PRO128) |
6GEN723 | Réseaux d'ordinateurs (6GIN101 et 8INF259) |
8GIF150 | Conception de jeux vidéo |
8GIF185 | Réalisation d'un jeu vidéo (8INF259) |
8INF257 | Informatique mobile (8PRO128) |
8INF259 | Structures de données (8PRO107) |
8INF333 | Sécurité des applications (8INF259) |
8INF334 | Modélisation et développement objet (8PRO128) |
8INF342 | Systèmes d'exploitation (8INF259) |
8INF435 | Algorithmique (8INF259 et 8MAT122) |
8MAP107 | Calcul avancé I |
8MAT122 | Structures discrètes |
8PRO128 | Programmation orientée objet (8PRO107) |
8TRD151 | Introduction aux bases de données |
6GEI186 | Architecture des ordinateurs |
8ASY109 | Systèmes d'information organisationnelle |
8ASY200 | Systèmes distribués (8PRO128 et 8SIF120) |
8GIF150 | Conception de jeux vidéo |
8GIF185 | Réalisation d'un jeu vidéo (8INF259) |
8IAR125 | Intelligence artificielle pour le jeu vidéo (8INF259) |
8IFG147 | Gestion de la production dans l'industrie du numérique |
8INF138 | Sécurité des réseaux et du Web |
8INF259 | Structures de données (8PRO107) |
8MAP107 | Calcul avancé I |
8MAT122 | Structures discrètes |
8PRO128 | Programmation orientée objet (8PRO107) |
8ROP530 | Recherche opérationnelle ((8PRO107) ou (8PRO408)) |
8STT117 | Probabilité et statistique |
8TRD157 | Bases de données avancées (8TRD151) |
8WEB101 | Conception et programmation de sites Web |
8INF206 | Projet |
8INF700 | Sujet spécial en informatique |
2MAN115 | Principes de management |
2MAR120 | Principes de marketing |
DESCRIPTION DES COURS
2MAN115 Principes de management
Offrir des cadres de référence permettant d'intégrer les autres notions qui seront progressivement acquises durant le programme. Plus particulièrement, familiariser avec les principales notions de base en matière de théorie administrative et introduire aux divers principes et systèmes qui régissent l'articulation, le développement et la croissance de l'entreprise. Accroître la sensibilisation face aux problèmes de management, ainsi que l'aptitude à les résoudre.
L'évolution des théories de management du 19e siècle à nos jours. L'organisation et son environnement (local, national et international). Perspectives classique et contemporaine des éléments du processus de management: planification (processus de planification, management stratégique), organisation (structure, dotation et GRH), direction (leadership, changement organisationnel) et contrôle (types et systèmes de contrôle).
Formule pédagogique : Cours Magistral
2MAR120 Principes de marketing
Permettre la découverte, l'apprentissage et la connaissance des principaux concepts fondamentaux reliés au marketing. Permettre de comprendre les raisons d'être de la fonction marketing au sein de l'organisation et du monde des affaires.
Étude des concepts fondamentaux du marketing. Connaissance théorique et opérationnelle des variables du marketing: environnement marketing, marché et segmentation, système d'information marketing, produit-service, distribution, prix, communication, analyse de la concurrence et positionnement, comportement du consommateur, et approche orientée vers les marchés.
Formule pédagogique : Cours Magistral
4ETH236 Éthique et informatique
Initier les étudiants aux enjeux éthiques, légaux et sociaux du développement de certains usages de l'informatique dans différents domaines d'activité scientifique, technique ou industriel (nanotechnologies, domotique, télécommunications, etc.) dans les secteurs de la santé, l'éducation et la sécurité. Comprendre le système social des valeurs éthiques et les dispositifs normatifs encadrant les pratiques, notamment les lois, les règlements, les codes d'éthiques, etc. Développer la délibération éthique et le dialogue sur ces enjeux.
Les notions fondamentales de l'éthique appliquée et les principales théories éthiques contemporaines dans l'évaluation des impacts des technologies. Le droit de l'informatique, les principes moraux et les valeurs éthiques du développement des technologies. Acceptabilité sociale et acceptabilité éthique dans les études d'impact. Le processus d'analyse globale d'impacts et d'acceptabilité éthique.
Formule pédagogique : Cours Magistral
6GEI186 Architecture des ordinateurs
Familiariser avec la structure et le fonctionnement des ordinateurs modernes.
Organisation vs architecture, évolution des ordinateurs et de leur performance, rappel d'arithmétique binaire (virgule fixe, virgule flottante), jeu d'instructions d'un microprocesseur, modes d'adressage, opération d'un ordinateur (composantes et fonctions, interconnexions), fonctionnement des antémémoires («caches»), mémoires vives (DRAM), mémoires de masse (disques, RAID), entrées/sorties (périphériques, DMA), support au système d'exploitation, structure et fonction d'un CPU (registres, pipelines), ordinateurs à jeu d'instructions réduit (RISC), systèmes multi-coeurs, traitement parallèle.
Formule pédagogique : Cours Magistral
6GEI264 Vérification et validation des logiciels
Donner à l'étudiant les techniques de vérification et de validation requises pour le développement de logiciels de qualité.
Qu'est-ce que la vérification et la validation (V&V). Améliorer la qualité par la V&V. Évaluation et gestion du risque. Coût des défectuosités. Processus de développement: «waterfall», spirale, agile, . V&V selon les étapes du processus de développement: spécification, architecture, codage et test formels. Test unitaires, d'intégration, de régression et d'acceptation. Configuration d'un logiciel pour testabilité. Encapsulation, composants et interfaces. Utilisation de SVN. Règles de codage. Définir les cas de test et les critères d'acceptation. Documents de V&V: plan, procédures et rapports. Outils de V&V: «walk-throught», réunion pour revue, inspection, revue par les pairs, liste d'items, tests. Les techniques de V&V sont appliquées à la spécification, à la conception, au codage et aux tests d'un environnement de développement similaire à Visual Studio, incluant un mini-compilateur C.
Préalable(s): (8PRO128)
Formule pédagogique : Cours Magistral
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
8ASY109 Systèmes d'information organisationnelle
Comprendre l'importance de l'information dans le monde qui nous entoure et en particulier dans les organisations. Familiariser avec les concepts liés aux systèmes d'information et à leur intégration dans les organisations.
Notion de système d'information (SI). Les différentes technologies de l'information. Les systèmes et la systémique, l'information et la décision. La recherche d'information. La relation entre SI et organisation. Les types de SI. Les étapes du développement et introduction aux méthodologies de développement. Survol d'un progiciel de gestion intégré. Problèmes et stratégies de mise en place des SI. Gestion de l'informatique. SI, stratégie et avantages concurrentiels.
Formule pédagogique : Cours Magistral
8ASY200 Systèmes distribués
Se familiariser avec les stratégies utilisées dans les différents types de systèmes distribués. Revoir et approfondir les notions de protocoles. Concevoir et mettre en oeuvre des applications distribuées, notamment dans le contexte de l'Internet.
Architecture des systèmes ouverts selon ISO. Protocoles de présentation, de session et d'application. Conception d'applications distribuées: client/serveur, CORBA, DCM, WAP. Modélisation d'applications distribuées avec UML. Langages de bases du web: HTML, XML, CSS, XSL. Programmation client : JavaScript, Applet JAVA, Flash. Programmation serveur : SSI, CGI, ASP, PHP, Servlet JAVA.
Préalable(s): (8PRO128 et 8SIF120)
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
8IAR125 Intelligence artificielle pour le jeu vidéo
Introduire aux techniques d'intelligence artificielle utilisées dans la conception de jeux vidéo. Utiliser ces techniques pour parvenir à un niveau élevé de réalisme. Mise en œuvre de divers concepts à l'aide d'un langage de programmation orienté objet et leur application dans un moteur de jeu.
Comportement des agents : architecture des agents intelligents, machines à états finis, prises de décision rationnelles et arbres de comportement. Navigation d'un agent intelligent : comportements de conduite, mouvements d'équipes organisées. Algorithmes de navigation (Dijkstra, A*, ligne de visée, algorithme d'entonnoir, etc.). Algorithmes pour la génération de zones de navigation dans les moteurs de jeu (Mesh de navigation). Perception et environnement : système de perception d'un agent intelligent (vision, son, dommages, etc.), perception partielle et omnisciente (équilibrage du gameplay), analyse de l'environnement et comportement contextuel (mise à couvert, exploration, etc.). Apprentissage machine et IA générative : réseaux de neurones, apprentissage supervisé, apprentissage par renforcement. Application des réseaux de neurones dans les moteurs de jeu. Outils et algorithmes de génération pour les jeux vidéo (personnalités des personnages, génération de donjons, etc.).
Chaque concept sera illustré par des exemples tirés du domaine des jeux vidéo.
Préalable(s): (8INF259)
Formule pédagogique : Magistral et/ou formation à distance
8IFG147 Gestion de la production dans l'industrie du numérique
Comprendre l'importance d'une bonne gestion de projets dans le domaine du développement de jeu vidéo. Développer la compréhension de la méthodologie Agile et du cadre de référence Scrum. Connaître les rôles, artéfacts et rituels Scrum. Comprendre la planification, le découpage et l'estimation des coûts de projet avec la méthode Agile. S'initier à la gestion d'équipes. Parfaire ses habiletés de communication et de résolution de conflits. Se familiariser avec la gestion de risques.
La production de jeux vidéo avec l'approche Agile/Scrum. Les trois piliers de Scrum : transparence, inspection et adaptation. La notion de rituel/point de contrôle et des « timebox ». L'aspect adaptatif et empirique de l'approche. Organisation du travail. Les rôles : Scrum Master, Product Owner et équipe multidisciplinaire de développement. Les rituels de planification : Release Planning et Sprint planning. Les trois points d'inspection et d'adaptation : rencontre quotidienne, revue de jeu et rétrospective. Les cinq artéfacts. Outils informatisés pour la gestion de projets (ex. Teams, Trello, Jira). Optimisation de la boucle de production Agile/Scrum. Définir le périmètre (scope) d'un projet en Agile/Scrum. Découper les fonctionnalités et estimer en continue en approche adaptative pour une production structurée et efficace. Définir son « backlog » de produit et son « backlog » de Sprint. L'équipe de projet : optimisation du processus de coordination des ressources. La nature d'une équipe de projet : bloquants et spécificités. La communication avec l'équipe et avec les individus : les stratégies. La gestion et la répartition de son temps. La gestion de projets à grande échelle en Agile/Scrum. Problématiques liées aux grandes équipes lors de l'utilisation d'approches Agiles. Modèles de gestion Agile à grande échelle : Nexus, LeSS, Spotify, Scrum of Scrum, Safe, etc. Évolution à venir dans le futur au niveau de la gestion de projets dans le secteur du numérique.
Formule pédagogique : Magistral et/ou formation à distance
8INF138 Sécurité des réseaux et du Web
Amener à comprendre les concepts de base de la sécurité informatique et de la protection de l'environnement de travail grâce à des logiciels et des protocoles de sécurité. Faire acquérir une approche pratique de la sécurité dans l'environnement de l'Internet.
Concepts de base de la sécurité informatique. Menaces. Vulnérabilité des systèmes. Survol des technologies utilisées en sécurité informatique: cryptographie, cryptanalyse, authentification, confidentialité, codes malicieux, pare-feux, audits, détection d'intrusions, etc. Principes de base pour sécuriser un environnement réseau. La taxonomie d'attaques malicieuses sur les réseaux informatiques. Les faiblesses des protocoles réseaux. Installation et configuration des outils de sécurité réseau. Protocoles de sécurité. Sécurité du Web. Concepts de politique de sécurité pour les réseaux. Étude approfondie des technologies utilisées pour la protection des réseaux informatiques. Sécurité de commerce électronique. Modèles de sécurité des langages de programmation. Vérification des mécanismes de sécurité implantés dans une organisation donnée.
Formule pédagogique : Cours Magistral
8INF206 Projet
Concevoir, élaborer et réaliser un logiciel, ou adapter un logiciel relié au champ d'intérêt de l'étudiant.
À partir d'une problématique qu'il identifiera, l'étudiant franchira toutes les étapes de réalisation ou d'adaptation d'un logiciel. Il devra analyser le problème, le structurer et en construire une image riche. Il devra le conceptualiser sous forme modulaire et élaborer des solutions de rechange. Il devra traduire la meilleure solution dans un langage de programmation (cours terminal).
Formule pédagogique : Magistral et/ou formation à distance
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
8INF333 Sécurité des applications
Comprendre l'ensemble des pratiques, des vérifications et des prudences que devraient utiliser les informaticiens afin que leur code soit sécuritaire. Se familiariser avec les principes théoriques ainsi que les approches pratiques qui mènent à la création de codes robustes.
Enjeux liés au code de programmation en rapport à la sécurité informatique. Exemple de vulnérabilité du code. La conception sécuritaire des logiciels. Dépassements de tampon: outils et techniques de protection. Validation des entrées: injection SQL. Sécurité du système d'exploitation: accès aux ressources; protection des fichiers; authentification. Le déni de services : erreurs de programmation qui sont à leurs origines, l'attaque ReDoS et les contremesures. Le contrôle d'accès et la sécurisation des informations sensibles. Vulnérabilités dans manipulation de la mémoire et des types. Vulnérabilités introduites dans le processus de compilation. La génération des nombres aléatoires. Présentation d'études de cas réels, ainsi que des bonnes pratiques pour le développeur logiciel. Familiarisation avec les avancées scientifiques récentes dans ce domaine.
Préalable(s): (8INF259)
Formule pédagogique : Magistral et/ou formation à distance
8INF334 Modélisation et développement objet
Maîtriser les principes d'analyse et de développement logiciel suivant une méthodologie de conception des systèmes informatiques orientée objet.
Méthodes d'analyse et de conception orientées objet: modélisation avec le langage UML, procédures de factorisation de programmes orientés objet, cycle de vie du logiciel, passage de la conception à l'implantation. Concepts avancés de la méthodologie orientée objet: frameworks, métaclasses, réflexivité, introspection. Comparaison des méthodes et outils logiciels orientés objet. Utilisation et application des patrons de conception (design patterns) dans un contexte applicatif réel. Génération de code : que reste-t-il à coder? Assurance qualité et techniques de tests de logiciels. Illustration des concepts à l'aide du langage JAVA.
Préalable(s): (8PRO128)
Formule pédagogique : Magistral et/ou formation à distance
8INF342 Systèmes d'exploitation
Initier aux principaux concepts reliés aux systèmes d'exploitation des ordinateurs. Étudier les concepts fondamentaux des systèmes d'exploitation, à l'aide d'exemples pratiques et simulés. Introduction à Linux et aux commandes de base dans le terminal. Gestion des processus sous Linux.
Historique et composantes principales des systèmes d'exploitation. Gestion des processus : définition et concept, modèles de processus, états des processus, modes d'exécutions du CPU, clonage en Linux. Threads : définition et concept, multithreading, avantages, threads niveau utilisateur et niveau kernel. Synchronisation : situation de course, exclusion mutuelle, mécanismes de synchronisation, sémaphores, problèmes classiques de synchronisation. Interblocage : diagrammes de trajectoire des ressources, graphe d'allocation des ressources, gestion, prévention et détection des interblocages. Ordonnancement : long-terme, moyen-terme (swapping) et court-terme (dispatcher), priorités, politiques d'ordonnancement, ordonnancement multiprocesseur et multicœur. Mémoire : concepts-clés, partitionnement simple et dynamique, mémoire virtuelle, pagination, segmentation, traduction des adresses, tables de page. Gestion de la mémoire : algorithmes de remplacement des pages. Systèmes de fichiers et entrées/sorties : gestion de la mémoire secondaire, DMA, accès aux disques. Illustration pratique et application des notions en C++.
Préalable(s): (8INF259)
Formule pédagogique : Magistral et/ou formation à distance
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
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
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
8ROP530 Recherche opérationnelle
Initier les personnes étudiantes aux concepts, problèmes, méthodes de résolution et applications de la recherche opérationnelle et d'aide à la décision. L'accent est mis sur la manière de traduire les problèmes du monde réel en modèles appropriés, la compréhension des algorithmes pour résoudre ces problèmes, l'utilisation de logiciels spécialisés et l'analyse des résultats.
Problèmes d'optimisation et applications : nature des variables, problèmes contraints, problèmes uniobjectif et multiobjectifs, incertitude, combinatoire. Optimisation exacte: programmation linéaire, programmation linéaire en nombres entiers et mixtes, Algorithmes spécifiques à certains problèmes: transport, affectation, sélection, ordonnancement, graphes (plus court chemin, arbre couvrant, flot maximal, flot à coût minimal, projet), etc. Optimisation approchée: heuristiques et métaheuristiques. Optimisation de problèmes avec objectifs multiples, simulation, satisfaction de contraintes. Utilisation de logiciels.
Préalable(s): ((8PRO107) ou (8PRO408))
Formule pédagogique : Magistral et/ou formation à distance
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
8TRD151 Introduction aux bases de données
Connaître les différentes composantes des bases de données, leurs niveaux d'abstraction et les techniques d'organisation des données en mémoire secondaire. Introduire aux principaux concepts des systèmes de gestion de bases de données relationnelles.
Historique des types de SGBD (Hiérarchique, Réseau, Relationnel et Relationnel/Objet), Les grands fabricants de SGBD et les produits du logiciel libre, processus de conception de BD relationnelle: analyse, modélisation conceptuelle et introduction à la théorie de la normalisation. Les bases du langage SQL pour la définition des données (LDD), la manipulation des données (LMD) et le contrôle des données (LCD). Extensions procédurales de SQL pour l'interface entre les bases de données et les programmes d'application Java (SQLJ, JBDC et PL/SQL). Gestion des données en mémoire secondaire et organisation unidimensionnelle des données. Étude et expérimentation d'un SGBD réel. Utilisation d'un système de gestion de bases de données d'entreprise (Oracle). Réalisation d'un travail de conception et d'exploitation d'une base de données.
Formule pédagogique : Magistral et/ou formation à distance
8TRD157 Bases de données avancées
Faire connaître les composants avancés des bases de données: bases de données multimédia (Textes, Images et XML) et bases de données pour le commerce électronique (centralisées et/ou client/serveur). Introduire aux concepts avancés des systèmes de gestion de bases de données relationnelles. Initier aux architectures de bases de données impliquées dans le commerce électronique. Approfondir les concepts de modélisation, de conception, d'implantation et d'administration de bases de données hétérogènes centralisées ou réparties auxquelles on peut accéder par des applications conventionnelles ou en mode client/serveur (intranet ou Internet).
Introduction aux bases de données multimédia: 1) base de données de gestion documentaire: types de données multimédia, modèle relationnel-objet, requêtes multimédia (ABR, CBR et CBIR), méthodes de classification, d'indexation et de segmentation des données multimédia. Particularités des techniques de requêtes, présentation et conception des BDMM texte, image et XML. Méthodes d'interrogation et de manipulation des bases de données multimédia (SQL3). Réalisation d'un système d'applications multimédia dans un environnement multi-analystes et multi-usagers selon une approche centralisée et client-serveur en passant par toutes les étapes de conception. Problèmes d'intégrité des données. Problématique des bases de données pour le commerce électronique et stratégies d'accès par intranet ou Internet aux bases de données de production. Particularités des méthodes d'accès et techniques de protection de l'intégrité des données. Liaison de tables locales clientes avec des tables externes par un protocole normalisé (ex. odbc, ...) ou propriétaire (ex. Net8). Concepts d'importation, d'exportation et d'attache de tables. Stratégies de réplication synchrone et asynchrone. Configuration d'un environnement répliqué et le concept maître - esclave. Gestion des collisions et les mécanismes de solution. Règles de répartition des données et des fonctions dans un environnement client/serveur. Solutions propriétaires et publiques pour la compatibilité http-html-sql-dbms (ex. PHP, JSS,...).
Préalable(s): (8TRD151)
Formule pédagogique : Cours Magistral
8WEB101 Conception et programmation de sites Web
Se familiariser avec la méthodologie, la conception et la gestion d'un site Web. Comprendre les notions de base du Web et de l'approche client-serveur.
Origines et évolution des technologies du Web. Notions de base du réseau Internet: adressage, protocole TCP/IP, fonctionnement du protocole HTTP. Architecture client-serveur. Structure d'un document avec le langage HTML. Présentation et mise en page des diverses composantes d'un site Web avec le langage CSS. Éléments dynamiques côté client: animations, utilisation élémentaire du langage JavaScript. Notions de design: formats et traitement d'images, ergonomie, accessibilité, support des standards par les navigateurs, optimisation du temps de chargement. Fonctionnement des moteurs de recherche. Configuration et gestion de base d'un serveur web; compilation de statistiques à partir des logs d'un serveur. Mise en place d'un système de gestion de contenu (CMS). Enjeux de sécurité informatique pour un utilisateur du web: cookies, hameçonnage.
Formule pédagogique : Magistral et/ou formation à distance