Double baccalauréat en physique et en informatique

6925

Baccalauréat ès sciences (B. Sc. ) | 126 crédits | Version : 2023-3

Direction du programme
Daoust, Benoit
CPPC - Sciences chimiques et physiques
819 376-5011 poste 3325
Bureau du resgistraire
1 800 365-0922 ou 819 376-5045
www.uqtr.ca

Tu veux analyser des problèmes complexes et trouver des solutions innovantes?

Démarque-toi dans deux domaines d’excellence

En bref

Le double baccalauréat en physique et en informatique est unique au Québec. Tu pourras maîtriser les principes fondamentaux de la physique (de la mécanique quantique à l’astronomie) tout en étant capable de programmer, d’analyser des données, de modéliser des phénomènes physiques, et de développer des logiciels et des algorithmes. Cette combinaison de compétences te permettra de résoudre des problèmes complexes et de travailler dans des secteurs de pointe.

Ce programme de 4 ans te permet d’obtenir 2 diplômes. Tu deviendras une physicienne ou un physicien doué en informatique dans le but de répondre aux exigences du marché du travail dans le secteur des nouvelles technologies, un domaine scientifique en pleine expansion au Québec. Ce double baccalauréat répond aux demandes croissantes de ce secteur et à l’évolution de la profession de physicien.

Laboratoires et outils avancés à ta disposition

Tu pourras travailler avec les outils modernes de programmation : les langages de programmation C, C++, C#, Java, les systèmes d'exploitation Windows, UNIX et Linux et une variété d'environnements de développement intégrés (IDE).

Le Département de mathématiques et d'informatique dispose de quatre laboratoires à la fine pointe et accessibles en tout temps. Tu pourras installer des logiciels serveurs et expérimenter des sujets avancés sur la programmation réseau, sur les systèmes d'exploitation et sur plusieurs domaines d'applications.

Exemples de projets et de notions étudiés dans le double BAC :

  • Calcul de risque
  • Capacité de simuler, modéliser et simplifier une situation pour faire des prédictions
  • Création de modèles pour comprendre quelle loi intervient dans un problème rencontré par un ingénieur
  • Simulations numériques de catalyseurs moléculaires pour la production d'hydrogène.
  • Étude des émissions d’ondes THz de différents semi-conducteurs
  • Modélisation et simulation de modèles de la matière condensée, applications en électromagnétisme

Implique-toi et découvre l’univers de la recherche

L’UQTR compte de nombreux chercheurs dont plusieurs sont affiliés à l'Institut de recherche sur l'hydrogène, un des leaders au Canada. Les professeurs ayant des subventions engagent régulièrement des étudiants en physique pour travailler dans leurs laboratoires.

Les personnes étudiantes engagées peuvent travailler jusqu’à un maximum de 15 heures/semaine, et à temps complet durant la période estivale. Tu peux donc acquérir une expérience concrète pour accéder au marché du travail, tout en recevant un apport financier intéressant.

Institut de recherche sur l'hydrogène

PROFIL INTERNATIONAL

Des études à l’international t’intéresse? Tu as la possibilité de faire une session complète à l’étranger lors de ta deuxième ou troisième année. Informe-toi auprès du responsable de programme!


Les plus de l’UQTR

  • Programme unique au Québec

  • Deux stages rémunérés en entreprise

  • Laboratoires et un réseau de micro-ordinateurs performants accessibles en tout temps

  • Possibilité d’emploi dans les laboratoires de l’Institut de recherche sur l’hydrogène, un des chefs de file dans la recherche sur l'hydrogène au Canada

  • Association des Étudiants en Sciences Chimiques, Physiques et Forensique (AESCPF)

Ce programme est pour toi si :

  • Tu as une facilité en physique et en mathématiques

  • Tu aimes l’informatique et la programmation

  • Tu as un esprit logique et une rigueur scientifique

  • Tu as une capacité d’analyse et aime résoudre des problèmes complexes

  • Tu es à la recherche de défis

Les objectifs de ce programme à l’UQTR

Ce cheminement vise l'acquisition d'une formation fondamentale en physique et en informatique. Ainsi, le diplômé sera non seulement en mesure d'utiliser les outils et la rigueur de la physique en matière d'analyse, de contrôle et de simulation et de les appliquer aux problèmes rencontrés dans des domaines comme l'aérospatiale, les communications, l'instrumentation ou l'environnement, mais il possédera également les connaissances et les habiletés nécessaires à la modélisation de systèmes physiques, à la conception et à la production de logiciels (analyse des besoins, conception, réalisation, implantation, entretien et gestion).

Admission

Contingentement et capacités d'accueil
Ce programme est non contingenté.

Trimestre d'admission et rythme des études

- Admission à l'automne
- Ce programme est offert à temps complet et partiel

Conditions d'admission

Études au Québec

Base collégiale

Être titulaire d'un diplôme d'études collégiales (DEC) en sciences, lettre et arts ou l'équivalent.

OU

Être titulaire d'un diplôme d'études collégiales (DEC) en sciences de la nature ou l'équivalent.

OU

Être titulaire d'un diplôme d'études collégiales (DEC) en sciences informatiques et mathématiques (200.CO) ou l'équivalent.

OU

Être titulaire d'un diplôme d'études collégiales (DEC) en formation technique ou l'équivalent et avoir complété les cours de niveau collégial suivants ou leur équivalent :

Biologie : 101-SN1 ou 101-NYA (objectif 00UK ou 0B1)

Chimie :

  • 202-SN1 ou 202-NYA (objectif 00UL ou 0C01) et
  • 202-SN2 ou 202-NYB (objectif 00UM ou 0C02)

Mathématiques :

  • 201-SN2 ou 201- SH2 ou 201-NYA ou 201-103 (objectif 00UN ou 0M02 – 022X ou 0PU2) et
  • 201-SN3 ou 201- SH3 ou 201-NYB ou 201-203 (objectif 00UP ou 0M03)

Physique :

  • 203-SN1 ou 203-NYA (objectif 00UR ou 0P01)
  • 203-SN2 ou 203-NYB (objectif 00US ou 0P02) et
  • 203-SN3 ou 203-NYC (objectif 00UT ou 0P03)

Le titulaire d'un diplôme d'études collégiales en formation technique dont on n'aura pu établir à l'aide du dossier qu'il possède toutes les connaissances requises pourrait, selon le cas, être admis conditionnellement à la réussite de cours d'appoint ou de cours de niveau collégial, selon la recommandation du responsable du programme.

Base expérience

Avoir œuvré pendant au moins un an dans un domaine relié à la physique et posséder des connaissances équivalentes au contenu des cours de niveau collégial suivants ou leur équivalent :

Biologie : 101-SN1 ou 101-NYA (objectif 00UK ou 0B1)

Chimie :

  • 202-SN1 ou 202-NYA (objectif 00UL ou 0C01) et
  • 202-SN2 ou 202-NYB (objectif 00UM ou 0C02)

Mathématiques :

  • 201-SN2 ou 201- SH2 ou 201-NYA ou 201-103 (objectif 00UN ou 0M02 – 022X ou 0PU2) et
  • 201-SN3 ou 201- SH3 ou 201-NYB ou 201-203 (objectif 00UP ou 0M03)

Physique :

  • 203-SN1 ou 203-NYA (objectif 00UR ou 0P01)
  • 203-SN2 ou 203-NYB (objectif 00US ou 0P02) et
  • 203-SN3 ou 203-NYC (objectif 00UT ou 0P03)

Le candidat adulte doit joindre à sa demande d'admission toutes les attestations ou autres pièces pouvant établir qu'il possède les connaissances requises. Le candidat adulte admissible dont on n'aura pu établir à l'aide du dossier qu'il possède toutes les connaissances requises pourrait, selon le cas, être admis conditionnellement à la réussite d'un ou deux cours d'appoint ou de cours de niveau collégial, selon la recommandation du responsable du programme.

Note :

Tous les étudiants doivent se conformer aux conditions relatives à la maîtrise du français.

Études hors Québec

Base collégiale

Etre détenteur d'un diplôme d'études préuniversitaires totalisant 13 années;

OU

d'un diplôme d'études préuniversitaires totalisant 12 années et une année d'études universitaires (à moins d'ententes conclues avec le Gouvernement du Québec, tous les candidats, ayant 12 ans de scolarité devront compléter une année de mise à niveau).

Base universitaire

Etre détenteur d'un baccalauréat de l'enseignement secondaire français (général ou technologique)

ET

Posséder des connaissances équivalentes:

Biologie : 101-SN1 ou 101-NYA (objectif 00UK ou 0B1)

Chimie :

  • 202-SN1 ou 202-NYA (objectif 00UL ou 0C01) et
  • 202-SN2 ou 202-NYB (objectif 00UM ou 0C02)

Mathématiques :

  • 201-SN2 ou 201- SH2 ou 201-NYA ou 201-103 (objectif 00UN ou 0M02 – 022X ou 0PU2) et
  • 201-SN3 ou 201- SH3 ou 201-NYB ou 201-203 (objectif 00UP ou 0M03)

Physique :

  • 203-SN1 ou 203-NYA (objectif 00UR ou 0P01)
  • 203-SN2 ou 203-NYB (objectif 00US ou 0P02) et
  • 203-SN3 ou 203-NYC (objectif 00UT ou 0P03)

Note :

Pour mener à bien vos études, une bonne maîtrise de la langue française est nécessaire. Pour connaître le test de français à l'admission qui s'applique à votre situation, veuillez consulter le lien suivant : Tests de français.

Modalités de sélection des candidatures

Acquiers une expérience sur le marché du travail!

Grâce aux deux stages obligatoires et rémunérés, tu pourras mettre tes connaissances en action pendant 12 à 16 semaines.

Cette expérience professionnelle reliée au domaine de l’informatique peut se réaliser en entreprise ou dans un milieu de recherche et s’étend sur une session complète.

LA RECONNAISSANCE DES ACQUIS ET DES COMPÉTENCES - RAC

Fais reconnaître tes acquis et tes compétences provenant soit d’une autre formation ou de tes connaissances et de tes savoir-faire cumulés.

En savoir plus sur la RAC

D’autres options d’études s’offrent à toi

Double BAC en mathématiques et en informatique

Unique au Québec

Obtiens 2 diplômes en 4 ans

Deviens un expert dans des disciplines essentielles pour comprendre le monde et la révolution technologique

Science forensique (traces physiques)

Développe une expertise en investigation d’incidents à partir de traces physiques, de leur modélisation et de leur simulation

Baccalauréat unique au Québec 

Science forensique (traces numériques)

Analyse les supports numériques et électroniques aux fins d’enquête et développe une expertise en criminalité technologique

Baccalauréat unique au Québec

Avenir : Carrière et perspectives

Avenir : Carrière et perspectives

Les perspectives d’emploi sont bonnes dans les grandes villes et en région. La physicienne-informaticienne ou le physicien-informaticien s’ouvre des possibilités d’emploi dans une multitude de secteurs. L'UQTR offre aussi des programmes d'études supérieures dans les domaines de la physique, de la biophysique, du génie, des mathématiques et de l'informatique appliquées.

Exemples de professions  

  • Analyste de données : interprète les données et facilite la prise de décisions
  • Développeuse, développeur de logiciels scientifiques : conçoit et développe un robot conversationnel ou des techniques d’IA générative
  • Consultante, consultant en science de données : analyse et décortique des données complexes
  • Chercheuse, chercheur en informatique quantique : conçoit de nouveaux algorithmes

Plusieurs secteurs d'emploi t'attendent!

  • Informatique et hautes technologies
  • Aérospatiale
  • Laboratoires de recherche
  • Simulation et analyse de systèmes en industrie
  • Météorologie
  • Environnement
  • Communications
  • Instrumentation médicale

Programmes connexes offerts à l'UQTR

Baccalauréat

Structure du programme et liste des cours

À moins d'indication contraire, un cours comporte trois (3) crédits.

Cours obligatoires (120 crédits)

ASP1001 Introduction à l'astrophysique
Ce cours s'adresse aux étudiants de physique et à tous les étudiants intéressés ayant au moins un DEC en sciences de la nature. Mouvements réels et apparents de lune, des planètes et des étoiles; systèmes géocentrique et héliocentrique, lois de Kepler, systèmes de coordonnées. Télescope, défauts, limite de résolution, spectres et spectrographe. Structure du soleil, lois de radiation, propriétés, classification et évolution des étoiles, étoiles doubles et variables. Objets compacts: naines blanches, pulsars et trous noirs. Amas stellaires, galaxies et quasars. Étalons de distance et cosmologie.

GEI1002 Electricité fondamentale I
Acquérir des connaissances fondamentales sur l'électrostatique, l'électrocinétique, la magnétostatique, le formalisme mathématique et les outils informatiques appropriés. Electrostatique : Loi de Coulomb, potentiel électrique, énergie électrique, théorème de Gauss et applications, capacité électrique, les diélectriques, particules chargées dans un champ électrique. Electrocinétique : le courant électrique, densité de courant et conductivité, forme locale de la Loi d'Ohm, énergie électrocinétique. Equations des champs. Equations de Laplace et de Poisson : solutions analytiques et numériques, outils informatiques. Magnétostatique : force magnétique, champ d'induction magnétique, potentiel vecteur, théorème d'Ampère, potentiel magnétique du champ, travail des forces magnétiques, forces et flux magnétique, champ magnétique dans la matière.

GEI1040 Instrumentation et mesure
Principes généraux des mesures électriques : vocabulaire de l'électricité; système métrique; calcul d'incertitude; sécurité au laboratoire. Définition et caractérisation des signaux électriques : signal continu, signal alternatif, valeur moyenne, valeur crête, valeur efficace, période. Instrument de mesure : multimètre, voltmètre, ampèremètre, oscilloscope. Distinction entre mesure en courant continu et mesure en courant alternatif. Etude approfondie de l'oscilloscope : utilisation des curseurs d'amplitude et de temps, mesure de phase, mesure de valeurs moyenne et efficace, capture de signaux, mesures en transitoire. LabVIEW : programmation graphique (langage G), concept d'instrument virtuel : face avant, diagramme bloc, icône, création de VIs et de sous-VIs, structure, boucles et conditions, chaînes, tableaux, clusters, graphes déroulants. Acquisition de données dans LabVIEW : principes fondamentaux et contrôle d'instruments.

IAR1001 Intelligence artificielle (STT1001 ou STT1003; INF1008; INF1004)
L'objectif principal de ce cours est d'apprendre les concepts de base de l'intelligence artificielle (IA) et, en particulier, ses aspects informatiques et mathématiques. L'étudiant devra être en mesure d'identifier les problèmes qui relèvent de l'IA, de sélectionner les techniques ou approches pertinentes et de les mettre en application de façon efficiente. Les techniques de représentation des connaissances (structures de données) et de recherche (algorithmes), ainsi que leur réalisation informatique, de même que certains domaines d'application, constituent la matière fondamentale de ce cours. Plus spécifiquement, la matière sera présentée principalement dans la perspective des agents intelligents, et, de façon complémentaire, dans le contexte des systèmes multiagents et de l'intelligence artificielle distribuée. Le cours fait le tour des aspects d'actualité de l'intelligence artificielle. Les agents "intelligents" servent de vecteur pour promouvoir l'explication des autres concepts de l'IA. Parmi ces concepts, nous voyons : les méthodes et stratégies de recherches de solution, les méthodes de jeux, la connaissance et le raisonnement fondés sur la logique du premier ordre et les inférences en logique du premier ordre, la planification et l'action logique et, enfin, le raisonnement probabiliste avec des connaissances incertaines. Dans une deuxième partie, nous introduisons la notion d'apprentissage automatique au moyen des réseaux de neurones et le traitement des langues naturelles.

INF1002 Introduction à la programmation objet
Permettre à l'étudiant de se familiariser avec l'informatique comme discipline et surtout à la programmation impérative et orientée objet. Présentation des structures de commandes, des types, des objets, des structures de données élémentaires (tableau, chaîne de caractères); mécanismes de structuration d'applications : sous-programmes, notions de classe, d'objet, d'application; développement d'applications : choix des données et des algorithmes, codification, compilation, exécution, mise au point de classes et d'applications. Introduction à l'informatique; outils de construction d'application : syntaxe et sémantique d'un langage de haut niveau; variables, types, expressions, affectation; entrée-sortie élémentaire; structures de sélection et d'itération : sous-programmes et passage de paramètres : introduction au paradigme objet : notions de classe, d'objet, d'état et de méthode, d'héritage; algorithmes et résolution de problèmes (problem-solving) : stratégies de solution de problèmes, rôles de l'algorithme dans la résolution de problèmes; stratégies d'implantation; structure de données de base : tableaux, chaînes de caractères; stratégie de vérification : conception de points-tests. Ce cours utilise le langage de programmation Java sur la plate-forme Eclipse. Il comporte 18 heures d'atelier.

INF1004 Structures de données et algorithmes (INF1002)
Permettre à l'étudiant de se familiariser avec les structures de données classiques et les algorithmes qui leur sont associés; réaliser des implantations statiques et dynamiques de ces structures : faire l'évaluation de la complexité spatiale et temporelle dans les cas simples; étudier la récursion et la comparer avec l'itération. Revue des concepts élémentaires de programmation; bases de la programmation Objet: encapsulation, dissimulation de l'information; séparation du comportement et de l'implantation; héritage et polymorphisme; conception par héritage et par composition; utilisation de fichiers; les principales structures de données: liste, pile, file, table d'adressage dispersé, arbre, graphe; implantation statique et dynamique; les algorithmes de fouille, de tri, les fonctions de hachage et les stratégies de traitement des collisions, parcours d'arbres et de graphes; le concept de récursion : les fonctions mathématiques récursives; comparaison avec les fonctions itératives correspondantes; implantation de récursion à l'aide de piles; analyse élémentaire de la complexité des algorithmes: complexité spatiale et complexité temporelle; notation "grand O", comportement du meilleur cas, du cas moyen et du pire cas; principales classes de complexité d'algorithmes; stratégies de test pour les classes et les applications. Ce cours utilise le langage de programmation Java et la plateforme Eclipse.

INF1006 Analyse et modélisation (INF1004)
Familiariser l'étudiant avec le processus de développement de systèmes informatiques, et plus particulièrement avec les phases initiales. L'initier à l'exercice de l'analyse des besoins, à la spécification et à la modélisation des systèmes ainsi qu'à l'évaluation de ces étapes. Explorer les fondements et l'évolution des méthodes d'analyse. Processus de développement et activités initiales: analyse des besoins et spécifications; importance de l'analyse dans le processus de développement; étude détaillée et application d'une méthode (UML); différentes étapes du processus: analyse des besoins, formalisation et validation; analyse et modélisation orientées objet; outils GLAO (CASE) de modélisation; dossier des spécifications et des exigences d'un logiciel; normes, critères de qualité de la spécification; revue technique; réalisation d'un dossier de spécifications. Le cours comporte 12 heures d'atelier.

INF1007 Conception de logiciels (INF1006)
Initier l'étudiant au processus de conception et le sensibiliser à ses difficultés et à son importance. Procéder à l'étude détaillée et à l'application d'une méthode. Permettre à l'étudiant d'élaborer des solutions de qualité. Problématique du processus de conception. Importance de la conception dans le processus de développement. Processus de conception : principes, méthode et notation. Étude détaillée et application d'une méthode. Différentes étapes du processus. Conception et styles d'architectures logicielles. Patrons de conception (GRASP). Qualité de la conception : élaboration de solutions réutilisables, maintenables, extensibles, etc. Conception orientée objet. Caractéristiques d'une bonne conception détaillée (modularité, abstraction, cohésion, couplage, etc.). Outils d'aide à la conception. Documentation de la conception. Revue de la conception. Réalisation d'un projet.

INF1008 Analyse et conception d'algorithmes (ALG1001 ou PIF1005; INF1004)
L'étudiant développera son habileté à produire des algorithmes corrects et efficaces. Il pourra analyser la complexité spatiale et temporelle d'un algorithme. Il entrera en contact avec différentes classes d'algorithmes et s'habituera à choisir le type d'algorithme qui convient le mieux à un problème donné. Définition d'un algorithme et de sa complexité. Notations asymptotiques. Résolution de récurrence. Étude d'efficacité et de complexité d'algorithmes de tri. Stratégies de conception d'algorithmes : algorithmes voraces, diviser-pour-régner, programmation dynamique, algorithmes probabilistes, exploration de graphes. Études de cas.

INF1009 Réseaux d'ordinateurs I (SIF1015)
Le but du cours est de fournir les bases indispensables à la compréhension des architectures des réseaux informatiques qui permettent l'échange des données entre ordinateurs. Il précise le fonctionnement des réseaux : architecture en couches, protocoles. Étant donné que la connaissance du domaine est compliquée par la richesse du vocabulaire, on présente progressivement les notions et le vocabulaire à l'aide d'exemples simples. Une première partie présente les aspects liés à la transmission des informations : circuits de données, protocoles de liaison, réseaux à circuits virtuels. Une fois les principes présentés, on détaille le formalisme des sept couches OSI : concepts, description du modèle. Une troisième partie est consacrée aux réseaux locaux (Ethernet, Token Ring, Sans fil). Finalement, on explique les principes des réseaux IP.

INF1010 Réseaux d'ordinateurs II (INF1009)
Ce cours permet aux étudiants de se familiariser avec les concepts et les contraintes des nouvelles technologies de l'information et des communications. Présentation des spécificités du réseau Internet : services, protocoles, applications, administration; introduction à la gestion sécurisée de l'information et aux techniques et mécanismes de sécurité informatique. Ce cours offre la possibilité aux étudiants de définir, de spécifier et de réaliser des applications clients serveurs sur le réseau Internet et de faire de l'administration de quelques services TCP/IP (DHCP, DNS,…) et des outils réseaux (Switch, routeur,..).

INF1011 Génie logiciel (INF1007)
Familiariser l'étudiant avec les concepts et principes fondamentaux du génie logiciel et le sensibiliser à leur importance dans la production de logiciels de qualité. Amener l'étudiant à une compréhension des principes de base de l'assurance qualité. Principes et concepts fondamentaux du Génie Logiciel. Produit logiciel: caractéristiques. Processus de génie logiciel. Modèles de cycle de vie. Prototypage. Normes. Maturité des processus. Processus léger. Méthodes Agiles. Réutilisation de logiciel. Concepts favorisant la réutilisation - Pattern, COO, paradigme aspect. Entités réutilisable - lignes de produits logiciels, composants, produits COTS. Assurance qualité logiciel : Principes et Techniques. Processus de validation et de vérification : définition, rôles, techniques, impact sur la qualité, etc. Processus de test : techniques et stratégies. Planification, conception et réalisation des tests. Techniques de revues, Preuves, etc. Concepts et principes de la qualité. Contrôle de la qualité : qualité et métriques. Gestion de projets. Maintenance. Réingénierie. Documentation technique.

INF1012 Élaboration et gestion de projets scientifiques (INF1011)
Identifier et analyser les conséquences de l'innovation technologique et de la recherche et développement en sciences. Acquérir des connaissances et des techniques de travail en situation de projets informatiques. Développer l'aptitude à planifier de tels projets, à y participer et, éventuellement, à les gérer. Développer l'habileté à gérer son temps et celui de ses collaborateurs. Se familiariser à la dimension internationale de la gestion des projets. Les différentes formes d'innovation technologique. Évaluation des impacts positifs et négatifs de l'innovation technologique et de la recherche et développement en sciences : étude coût/bénéfice, impact sur les individus, la communauté scientifique et la société. Gestion de projets informatiques : identification des objectifs et définition du projet, élaboration de solutions à caractère scientifique, planification des activités, échéanciers; choix de l'équipe, attribution des responsabilités; importance de la coordination en environnement de projet; suivi des activités et gestion du temps; progiciels de gestion de projets.

INF1013 Environnement de développement et composantes logicielles (INF1005 ou INF1035; SIF1015)
Compléter la formation des étudiants en lien avec les méthodologies et technologies de développement des applications Frame/Web d'envergure. Apprendre à construire des composants réutilisables en s'appuyant sur des bibliothèques existantes. Réaliser les applications Web et Frame selon les modèles MVC/MVP ainsi que des Application Serveur sous forme d'APE RESTFUL. Utiliser et configurer des environnements de développement pour de grands projets logiciels. Maîtriser les gestionnaires de dépendances de projets. Open Source/Propriétaires. Quelques-unes des technologies importantes seront utilisées : C# - ASP.Net, Java-JSP, Python-DJANGO, Ruby-Rails, GWT, ANGULAR, REACT, Maven, Gradle, etc.

INF1014 Aspects juridiques de l'informatique (1 crédit)
L'étudiant se familiarise avec les aspects juridiques de l'informatique. Il apprend à connaître les principales lois touchant la pratique de l'informatique. Il développe l'habileté à analyser des situations de travail de façon à éviter les problèmes juridiques. Notions juridiques : juridiction et territorialité, droit civil et droit pénal. Principales lois touchant la pratique de l'informatique : le droit d'auteur, le respect de la vie privée dans les secteurs public et privé, l'accès à l'information, le cadre juridique des technologies de l'information. Les aspects légaux des licences de produits informatiques. Les aspects légaux particuliers à l'Internet. Règlements pédagogiques particuliers : Pour s'inscrire aux cours TIN1003 Science, technologie et société et INF1014 Aspects juridiques de l'informatique, l'étudiant en informatique doit avoir complété 60 crédits dans le programme. Pour s'inscrire à ce cours, l'étudiant inscrit au double baccalauréat en mathématiques et en informatique ou au double baccalauréat en physique et en informatique doit avoir complété 90 crédits dans le programme.

INF1015 Stage d'informatique I
L'objectif du cours Stage d'informatique I est de permettre à l'étudiant d'appliquer ses connaissances en informatique en milieu de travail. La durée normale du stage est de 12 à 16 semaines à temps plein. Règlement pédagogique particulier : Pour s'inscrire au cours INF1015 Stage d'informatique I, l'étudiant doit avoir réussi obligatoirement 45 crédits du programme.

INF1016 Stage d'informatique II
Les objectifs du cours Stage d'informatique II sont de permettre à l'étudiant d'appliquer ses connaissances en informatique en milieu de travail et de parfaire l'acquisition des méthodes de travail propres à l'informatique. La durée normale du stage est de 12 à 16 semaines à temps plein. Règlement pédagogique particulier : Pour s'inscrire au cours INF1016 Stage d'informatique II, l'étudiant en informatique doit avoir réussi obligatoirement 60 crédits du programme et le cours INF1015 Stage d'informatique I. Pour s'inscrire au cours INF1016 Stage d'informatique II, l'étudiant inscrit au double baccalauréat en mathématiques et en informatique doit avoir réussi obligatoirement 90 crédits du programme et le cours GMA1001 Stages. Pour s'inscrire au cours INF1016 Stage d'informatique II, l'étudiant inscrit au double baccalauréat en physique et en informatique doit avoir réussi obligatoirement 90 crédits du programme et le cours INF1015 Stage d'informatique I.

INF1034 Introduction aux interfaces utilisateur (INF1002)
Amener l'étudiant à comprendre le comportement humain dans son interaction avec un environnement logiciel interactif, à développer une interface utilisateur simple et à évaluer l'ergonomie d'un logiciel interactif. Concepts de base de l'ergonomie du logiciel et des interactions personne-machine : modèles, principes et lignes directrices; introduction à la conception d'interfaces utilisateur : processus, outils, méthodologie et normes; outils de développement d'interfaces graphiques : utilisation des contrôles et des objets prédéfinis, propriétés, méthodes et gestion des événements; évaluation des interfaces : test, enquête et expérimentation. Ce cours comporte des exercices en Java.

INF1035 Concepts avancés en objet (INF1004)
Amener l'étudiant à comprendre les mécanismes du développement orienté-objet. Maîtriser les concepts relatifs au paradigme objet. Utiliser un environnement de développement (IDE). Utiliser le paradigme de programmation événementielle. Utiliser les principes (et mécanismes) de la programmation par contrat. Intégrer la programmation aspect. Etude des notions importantes de la programmation orientée-objet : héritage simple et multiple, hiérarchie des classes, polymorphisme, notion de liaison statique et de liaison dynamique, etc. Notion d'interface et de classe abstraite. Notion d'extension de classes. Généricité. Pattern de conception (GoF). Refactoring. Notions de robustesse et de sécurité dans les applications. Programmation événementielle : événements, messages, gestion des exceptions. Programmation par contrats. Programmation aspect : notions d'aspect, de poincut, de point de jointure et d'advice. Les langages utilisés dans ce cours sont C#, Java et AspectJ (à titre comparatif). Les environnements de développement sont les plateformes Eclipse et Visuel C#. Le cours comporte 18 heures d'atelier.

ING1057 Thermodynamique appliquée I
Comprendre les transformations de l'énergie dans des systèmes en équilibre. Enoncer, expliquer et appliquer les quatre principes de la thermodynamique aux substances, aux machines et aux systèmes en général. Température. Pression. Energie. Travail. Concept d'énergie interne. Procédés sans écoulement et avec écoulement. Première loi de la thermodynamique. Concept du procédé réversible. Le procédé irréversible. Propriétés thermiques des gaz. Concept d'enthalpie. Chaleur spécifique. Deuxième principe de la thermodynamique. Cycle de Carnot. Entropie. Fonctions thermodynamiques des substances pures. Applications de la thermodynamique à divers systèmes. Détente Joule-Thompson. Compresseurs. Machines thermiques. Réfrigération.

MAP1006 Mathématiques appliquées I
Transmettre à l'étudiant les bases de l'algèbre matricielle, l'introduire aux méthodes numériques, lui donner les outils nécessaires à la résolution des équations différentielles ordinaires et lui montrer certaines applications des équations différentielles. Algèbre matricielle : matrices, définitions et opérations, matrice triangulaire, diagonale, transposée d'une matrice, matrice régulière et rang, déterminants, inverse d'une matrice, solution d'équations linéaires, valeurs et vecteurs propres. Nombres complexe. Équations différentielles : classification, solution d'une équation différentielle avec interprétation géométrique; équations différentielles du premier ordre, équations exactes et facteur intégrant, équations à variables séparables, homogènes, linéaires, de Bernouilli; applications (trajectoires orthogonales, problèmes de taux, etc.). Équations différentielles d'ordre supérieur : système fondamental de solutions, équations linéaires, homogènes à coefficients constants, réduction d'ordre, équations linéaires non-homogènes, équations d'Euler-Cauchy; résolution en séries de puissances; applications. Systèmes d'équations différentielles homogènes et non homogènes.

MAP1007 Mathématiques appliquées II
Acquisition de notions fondamentales sur les fonctions à plusieurs variables, les courbes et les surfaces dans le plan et l'espace. Applications du calcul différentiel et intégral à plusieurs variables ainsi que le calcul vectoriel. Eléments de géométrie analytique. Courbes planes, tangentes et longueur d'arc, coordonnées polaires, intégrales en coordonnées polaires, équations polaires des coniques. Vecteurs de dimension deux et trois, produit scalaire, produit vectoriel, droites et plans, surfaces. Fonctions vectorielles et courbes dans l'espace, limites, dérivées et intégrales, cinématique, courbure, composantes tangentielle et normale de l'accélération, lois de Kepler. Fonctions de plusieurs variables, limites et continuité, dérivées partielles, accroissement et différentielle, dérivation de fonctions composées, dérivées directionnelles, normales et plans tangents, valeurs extrêmes de fonctions à plusieurs variables, multiplicateurs de Lagrange. Intégrales doubles, aire et volume, intégrales doubles en coordonnées polaires, aires de surfaces, intégrales triples, moment d'inertie et centre de masse, coordonnées cylindriques, coordonnées sphériques, changement de variables et jacobiens. Champs vectoriels, intégrales curvilignes, indépendance du chemin, théorème de Green-Riemann, intégrales de surface, théorème de flux-divergence, théorème de Stokes.

MAP1008 Mathématiques appliquées III (MAP1007)
Application du calcul des transformées, des nombres complexes et des variables complexes. Séries de Fourier : applications aux problèmes, aux limites des équations aux dérivées partielles. Fonction d'une variable complexe : théorèmes de Cauchy. Calcul des résidus. Transformation de Laplace : calcul des transformées de Laplace. Applications aux équations différentielles ordinaires.

PHQ1005 Mécanique classique I
Se familiariser avec les concepts de base de la mécanique classique, et faire l'apprentissage de l'utilisation et de la solution d'équations différentielles dans le contexte d'un problème physique. Introduction générale et situation de la mécanique à l'intérieur de la physique. Cinématique et dynamique d'une particule : calcul vectoriel, première et seconde lois de Newton, oscillateur harmonique; énergie, torque et moment cinétique. Système de plusieurs particules : troisième loi de Newton, contraintes. Force gravitationnelle. Formulation lagrangienne de la mécanique et principe de Hamilton.

PHQ1014 Physique statistique (CPH1015 ou ING1057 ou PHQ1015)
Appliquer la théorie moléculaire à l'étude des systèmes thermodynamiques. Théorie cinétique des gaz; distribution des vitesses moléculaires; l'ordinateur appliqué à la dynamique moléculaire. Statistique de Maxwell-Boltzmann et applications. Statistique de Bose-Einstein et de Fermi-Dirac; applications. Ensembles de Gibbs; méthode Monte-Carlo. Fluctuations, mouvement brownien. Chaleur spécifique : théories d'Einstein et Debye.

PHQ1019 Physique mathématique (MAP1008 ou MPU1027)
Compléter l'acquisition des outils mathématiques indispensables et les utiliser pour la solution de problèmes physiques. Compléments de variables complexes: théorème de Cauchy, série de Taylor, série de Laurent, calcul de résidus; applications. Espaces vectoriels de dimension infinie: produit scalaire, convergence, espace de Hilbert, opérateurs, décomposition spectrale; applications en mécanique quantique. Équations aux dérivées partielles: conditions aux limites, variables séparables; quelques problèmes classiques de la physique mathématique.

PHQ1023 Mécanique classique II (MAP1006; PHQ1005)
Résoudre par des méthodes numériques et formelles, des problèmes typiques de dynamique. Solution à l'aide d'ordinateur des équations de Newton et des équations de Lagrange. Dynamique du corps rigide. Petites oscillations. Équations de Hamilton et formalisme de Hamilton-Jacobi. Problèmes élémentaires de chaos.

PHQ1026 Physique expérimentale II (GEI1040 ou PHQ1025)
Approfondir les concepts et techniques abordés dans le cours PHQ1025 Physique expérimentale I. Développer des techniques expérimentales plus avancées, plus particulièrement celles qui utilisent l'ordinateur pour obtenir et traiter des données, et pour contrôler le déroulement d'une expérience. Applications tirées des domaines de la mécanique, de l'optique, de l'électromagnétisme, de la thermodynamique et de la physique moderne.

PHQ1027 Physique expérimentale III (GEI1040 ou PHQ1025)
Se familiariser avec certaines des techniques expérimentales et méthodes de traitement de données avancées de la physique, utilisées couramment en recherche et développement. Évaluer les limites de précision d'un montage complexe dans lequel on retrouve plusieurs appareils. Expériences choisies dans les domaines de l'optique physique et non linéaire, de la physique atomique et moléculaire, de la physique de l'état solide et de la physique nucléaire.

PHQ1044 Électromagnétisme (MAP1007; PHQ1036)
Acquérir les concepts physiques nécessaires à la compréhension des phénomènes temporels en électromagnétisme et se familiariser avec le formalisme mathématique requis. Solution des équations de Maxwell. Champ électromagnétique dépendant du temps : relations constitutives; puissance et énergie. L'équation d'onde et ses solutions. Propagation des ondes dans les milieux infinis. Réflexion et transmission à une interface. Propagation des ondes dans certaines structures : ligne de transmission, guide d'ondes et fibre optique. Résonance et cavité micro-onde. Introduction à la théorie des antennes.

PHQ1047 Programmation scientifique en Python
Ce cours vise à intégrer les notions de base de la programmation orientée objet à l’aide du langage Python dans la résolution de problèmes en sciences pures. L’objectif est, d’une part, d’apprendre à manipuler des données et produire des graphiques scientifiques, et d’autre part, d’apprendre la structure d’un programme scientifique dans le but de solutionner des problèmes posés en sciences pures.

PHQ1048 Ondes et vibrations (PHQ1005)
Oscillateur harmonique libre, amorti et forcé. Résonance. Phaseurs. Ondes stationnaires. Oscillateurs couplés et modes propres d'un système à plusieurs degrés de liberté. Ondes progressives, relation de dispersion, paquet d’ondes, vitesse de phase et de groupe. Impédance, réflexion, transmission et réfraction des ondes. Battement, interférence et diffraction. Transformées de Fourier. Solutions à l'équation d'onde en deux et trois dimensions.

PMO1008 Mécanique quantique II (PMO1010)
Approfondir les méthodes numériques et formelles de la mécanique quantique. Spin et addition de moments cinétiques. Solution, à l'aide de l'ordinateur, de l'équation aux valeurs propres pour l'hamiltonien. Modèle atomique du champ central, champ self-consistent. Méthodes d'approximation: perturbations stationnaires, perturbations dépendant du temps, méthode variationnelle. États stationnaires de diffusion.

PMO1010 Mécanique quantique I (MAP1006; PMO1017)
Se familiariser avec le formalisme et les problèmes élémentaires de la mécanique quantique. Espaces vectoriels de dimension finie. Systèmes quantiques dont l'espace d'état a une dimension finie : vecteur d'état, grandeurs physiques, opérateurs, équation de Schrödinger et équation aux valeurs propres pour l'hamiltonien. Particule en une dimension spatiale : spectre discret et spectre continu; puits et barrières carrés, oscillateur harmonique. Particule en trois dimensions spatiales : moment cinétique, potentiel sphériquement symétrique, potentiel en 1/r. Principe d'incertitude et interprétation de la mécanique quantique.

PMO1013 Physique de l'état solide (PHQ1014; PMO1010)
Comprendre les concepts fondamentaux et les méthodes de base de la physique de l'état solide. Théorie classique des propriétés métalliques: modèle de Drude. Gaz d'électrons libres de Fermi. Structure cristalline. Diffraction cristalline et réseau réciproque: équations de Laue. Bandes d'énergie: théorème de Bloch. La liaison cristalline. Phonons et vibrations du réseau. Propriétés thermiques des isolants: modèle de Debye.

PMO1017 Relativité et physique moderne (MAP1007)
Théorie de la relativité restreinte. L'expérience de Michelson-Morley. Les transformations de Lorentz et leurs conséquences. Bases expérimentales de la physique quantique. Dualité onde-particule de la matière et de la lumière. Principe d'incertitude d'Heisenberg. Structure de l'atome. Équation de Schrödinger. Solutions pour des potentiels simples. Quantification de l'énergie. Particules élémentaires et physique nucléaire.

SIF1015 Systèmes d'exploitation
L'étudiant se familiarise avec les concepts fondamentaux des systèmes d'exploitation : structure générale d'un système d'exploitation, gestion des différents sous-systèmes : processus/thread, communication inter-processus/thread, systèmes de fichiers, accès réseau, gestion de la mémoire. Gestion des processus et des threads; gestion des entrées/sorties tels que les dispositifs Windows; communication inter-processus : tubes anonymes et nommés, files de messages, sockets, signaux; introduction aux principes de fonctionnement d'un système de fichiers; introduction aux concepts de la gestion de la mémoire; introduction à la communication réseau par sockets. Les étudiants expérimentent les concepts théoriques par des projets de développement d'utilitaires dans un environnement de développement ouvert sous une plateforme telle que UNIX/LINUX/ANDROID. Règlement pédagogique particulier : Pour les étudiants du baccalauréat en génie électrique (concentration génie informatique) (7144) le préalable est GEI1072 Résolution de problèmes d'ingénierie en C. Pour les étudiants du baccalauréat en informatique (7833) les préalables sont INF1004 Structures de données et algorithmes et SIF1053 Architecture des ordinateurs.

SIF1053 Architecture des ordinateurs
L'étudiant prendra connaissance des éléments fondamentaux des architectures et des composantes des ordinateurs modernes tant statiques que mobiles (ex : architectures ARM, X86, x86-64), des organes périphériques. Etude des composantes des ordinateurs modernes: mémoire, circuits et représentation de l'information. Unité de commande, représentation des instructions machine, notions d'adressage, notions de microprogrammation et machine virtuelle. Unité arithmétique et logiques. Introduction des notions de communication série et parallèle.

SMI1001 Bases de données I
Le cours vise à donner une solide introduction tant théorique que pratique aux concepts informatiques fondamentaux ayant trait aux bases de données, particulièrement aux bases de données relationnelles. Outre la modélisation des données qui constitue une partie importante de ce cours, l'apprentissage du langage SQL et d'un SGBD (Système de Gestion de Bases de Données) moderne seront également des objectifs importants de ce cours. Introduction aux bases de données : modèles et langages, les différents utilisateurs et leurs besoins, structure et architecture des SGBD. Le modèle Entité-Relation, modélisation UML. Le modèle relationnel : aperçu de l'algèbre et du calcul relationnel, notion de vue. Le langage SQL, aperçu d'autres langages relationnels. Les contraintes d'intégrité, les données manquantes et les valeurs nulles. La conception des bases de données relationnelles, dépendances fonctionnelles, dépendances multivaluées, dépendances de jointure, normalisation, formes normales 1FN, 2FN, 3FN, FNBC, 4FN et 5FN. Autres types de bases de données : relationnelles-objets et multidimensionnelles. Introduction aux données multimédias et XML. Ce cours utilise le système de gestion de bases de données Oracle, le langage PL/SQL et l'utilitaire TOAD. Le cours comporte 18 heures d'atelier.

SMI1002 Bases de données II (SMI1001)
Le cours porte principalement sur des considérations techniques sous-jacentes à l'utilisation ou à la conception des SGBD, toujours dans le contexte du SGBD Oracle qui sert d'illustration et de contexte de mise en pratique des concepts. L'étudiant aura donc l'opportunité d'approfondir sa compréhension du fonctionnement interne d'un SGBD, notamment de Oracle, et d'autres aspects complémentaires associés à l'exploitation des données. Stockage et structures de fichiers, indexation et fonctions de hachage. Traitement et optimisation des requêtes. Traitement des transactions. Contrôle de la concurrence. Systèmes de recouvrement. Sécurité, contrôle des accès et encryptage. Bases de données et applications Web, modèles client-serveur et multitiers. Architectures des SGBD, bases de données parallèles et distribuées. Analyses des données, OLAP (on-line analytical processing), entreposage (warehousing) et forage (mining) de données. Ce cours utilise le système de gestion de bases de données Oracle, le langage PL/SQL et l'interface JSP (Java Sever Page).

TIN1003 Science, technologie et société (2 crédits)
Identifier les effets inducteurs et destructeurs des innovations scientifiques et technologiques sur la société contemporaine; provoquer une réflexion critique sur la viabilité sociale des technologies nouvelles; préparer les étudiants à accepter la responsabilité sociale qui incombe à la future « intelligence technique supérieure ». Introduire aux thèmes principaux de la philosophie de la technique en étudiant les visages multiples de la technologie moderne et en examinant ses rapports avec les différentes dimensions impliquées dans le concept « qualité de vie ». Présenter une méthodologie pour l'analyse de risque : formes de risque (physiques, personnels, sociaux), méthodes d'évaluation de choix technologiques et de détermination de la viabilité sociale de ces technologies. Proposer et discuter des modèles de prises de décision dans l'allocation de ressources technologiques et l'implantation de technologies nouvelles (avec applications particulières à l'informatique, la robotique, etc.). Identifier les principes fondamentaux devant être respectés dans l'implantation de ces technologies. Circonscrire la fonction nouvelle et la responsabilité sociales de l'ingénieur. Règlement pédagogique particulier : Pour s'inscrire à ce cours, l'étudiant en informatique doit avoir réussi 60 crédits du programme. Pour s'inscrire à ce cours, l'étudiant inscrit au double baccalauréat en mathématiques et en informatique ou au double baccalauréat en physique et en informatique doit avoir complété 90 crédits dans le programme.

Cours optionnels (0 à 6 crédits)
L'étudiant peut choisir jusqu'à deux cours parmi les suivants (0 à 6 crédits):
ALG1001 Logiques et Ensembles
S'initier aux concepts de base des mathématiques actuelles à travers l'étude de concepts de la logique et de la théorie des ensembles. Développer la capacité de faire des preuves. Logique propositionnelle : formes propositionnelles et connecteurs logiques, dérivations et méthodes de preuves. Logique des prédicats : quantificateurs et raisonnements avec ceux-ci. Concepts ensemblistes : approche intuitive et approche axiomatique des ensembles, axiome des naturels et preuve par induction mathématique. Relations, relations d'ordre, relations d'équivalence. Fonctions et applications.

ASP1002 Astrophysique (PHQ1005; PHQ1014)
Approfondir l'étude de la structure et des conditions de stabilité et d'évolution des étoiles. Faire le lien entre ce que les outils d'observation peuvent mesurer et ce dont les modèles mathématiques, basés sur la physique contemporaine, ont besoin pour pouvoir décrire adéquatement les phénomènes. Survol des connaissances et des problèmes principaux de l'astrophysique contemporaine. Les étoiles et leur rayonnement: description et classification, valeur des paramètres physiques (masse, rayon, densité, classe spectrale, etc.). Structure et évolution des étoiles: atmosphères et intérieurs, sources d'énergie, équilibres hydrodynamique et thermodynamique; équations pertinentes. Étoiles variables: genre d'instabilités, conditions temporaires. Autres sources irrégulières: quasars, sources X, etc. Structure de l'univers: théories, paramètres mesurables, genre de matière et particules fondamentales, modèles d'évolution; situation actuelle des connaissances.

CHM1009 Stage en milieu de travail
Acquérir une expérience professionnelle reliée à sa formation en effectuant un stage de travail de nature professionnelle en milieu industriel ou dans un lieu de recherche universitaire ou autre. Avec l'aide du responsable de stage, l'étudiant se trouve un lieu de stage pertinent à sa formation dans les domaines soit de la chimie, de la biochimie, des biotechnologies ou de la physique. Le stage se déroule sous la supervision académique du professeur responsable du cours et, en milieu de travail, sous celle d'un tuteur désigné. Le stage est préférablement réalisé à plein temps au cours d'une session d'été. Règlement pédagogique particulier : pour s'inscrire au cours CHM1009 Stage en milieu de travail, l'étudiant doit avoir complété cinquante-sept crédits de son programme et avoir maintenu une moyenne cumulative d'au moins 2,5/4,3. Exceptionnellement, pour des raisons dûment justifiées et sous réserve de l'approbation du Comité de programme, une dérogation à ces conditions pourrait être accordée.

ENG6004 L'hydrogène comme vecteur énergétique
Objectifs : Se familiariser avec certains aspects de l'hydrogène comme vecteur énergétique. Prendre connaissance des divers modes de production, de distribution et de stockage de l'hydrogène. S'initier à divers aspects liés à la sécurité de l'hydrogène. Contenu : Propriétés physiques et chimiques de l’hydrogène. Introduction aux divers modes de production de l'hydrogène : reformage, extraction de la biomasse, électrolyse. Initiation aux principaux modes de stockage de l'hydrogène : compression, liquéfaction, stockage sur matériaux. Méthodes de distribution de l’hydrogène. Rôles de l’hydrogène. L’hydrogène et le système énergétique. Hydrogènes et batteries. Utilisation sécuritaire de l'hydrogène.

GEI1009 Circuits électriques
Acquérir les connaissances de base et les concepts relatifs à l'analyse de variables caractéristiques de diverses associations d'éléments de circuits électriques. Concepts et conventions de circuits actifs, passifs et couplés. Eléments actifs : sources indépendantes et commandées. Elements passifs : résistance, capacité, inductance. Topologie. Les lois de Kirchhoff. Théorème de Thévenin, théorème de Norton, principe de superposition, dualité. Application des quantités complexes. Méthode des mailles. Méthode des noeuds. Les fonctions d'excitation. Régimes transitoire et permanent. Réponse en régime transitoire de circuits du premier et deuxième ordre. Transformation de Laplace, résolution des équations différentielles linéaires par la transformation de Laplace, analyse transformationnelle des circuits.

INF1017 Gestion de parcs d'ordinateurs (SIF1015)
Familiariser l'étudiant aux méthodes de gestion de parcs d'ordinateurs et à la gestion courante d'un système informatique : installation et gestion des serveurs, des périphériques, des comptes usagers. Gestion de réseaux, gestion de la mémoire. Gestion des incidents, des licences, de la sécurité. Gestion du câblage. Optimisation des performances. Installation de systèmes d'exploitation courants (LINUX, Windows); gestion courante d'un parc informatique : comptes, partage d'imprimante, etc.; installation de passerelles matérielles et logicielles entre différents systèmes d'exploitation, partage de fichiers, archivage, sauvegarde. Les étudiants font l'installation et la gestion de serveurs et la gestion de systèmes informatiques.

INF1018 Analyse de programmes (INF1035)
Présenter à l'étudiant les principes et les techniques de base de l'implantation des langages de programmation. L'initier à l'évaluation des langages de programmation et à l'analyse de programmes. Familiariser l'étudiant avec certains outils de description et d'analyse des langages de programmation. Étude des langages de programmation dans l'optique de construction d'outils d'environnement de programmation. Concepts fondamentaux des langages de programmation modernes. Classification et évaluation des langages de programmation. Concepts et critères de qualité. Syntaxe et sémantique des langages de programmation. Méthodes de description formelles. Grammaire et Langages. Méthodes d'analyse lexicale et syntaxique : principes, approches et applications. Outils pour le traitement des langages. Analyse sémantique. Introduction à la génération et à l'optimisation de code. Éléments d'analyse de programmes en langages évolués : statique, dynamique, dépendances, etc.

INF1019 Programmation en temps réel (SIF1015)
L'étudiant se familiarise avec les concepts de la programmation en temps réel. Concepts fondamentaux des systèmes d'exploitation en temps réel : séquencement et synchronisation des processus, communication entre les processus, gestion des interruptions matérielles et logicielles; procédures de recouvrement; protection des informations et des utilisateurs; qualités des systèmes temps-réels : efficacité, fiabilité, sécurité; gestion d'environnement par l'utilisation de capteurs branchés en réseau; notion d'architecture Client/Serveur dans un contexte de temps réel; introduction à la domotique domestique et industrielle. Des travaux pratiques codés en langage C ou en langage C++ favorisent la compréhension des concepts de temps réel.

INF1020 Commerce électronique
Ce cours a comme objectif principal l'initiation aux concepts de base des affaires et du commerce électronique et leur mise en pratique dans la réalisation d'un projet de commerce électronique. Le cours a aussi comme objectifs secondaires : d'apprendre à gérer un projet d'équipe en informatique. Aperçu du commerce électronique; la "digitalisation" des affaires; les processus et stratégies B2B (business-to-business); le rôle des intermédiaires indépendants (third parties); l'environnement régulateur; EDI, e-commerce et Internet; risques des systèmes non-sécuritaires; risques de gestion; normes, protocoles et langages Internet; cryptographie et authentification; murs coupe-feu (firewalls); mécanismes de paiement en ligne pour le e-commerce; agents intelligents; le marketing sur le Web; autres sujets d'actualité en affaires et en commerce électronique. Règlement pédagogique particulier : Pour s'inscrire au cours INF1020 Commerce électronique, les étudiants inscrits au cheminement DEC-BAC (7533) doivent avoir réussi les cours obligatoires de la première session. Les étudiants inscrits au double baccalauréat : mathématiques et informatique (6833) ou inscrits au double baccalauréat en physique et en informatique (6925) doivent avoir réussi les cours obligatoires des cinq (5) premières sessions.

INF1021 Les architectures réparties (INF1009)
Ce cours permet d'acquérir des connaissances sur les systèmes répartis. Il permet aux étudiants de s'initier aux méthodes de conception et de réalisation des applications informatiques réparties. À la fin du cours, les étudiants seront capables de comparer plusieurs méthodes de réalisation de systèmes répartis. Utilisation des SOCKETS : rappel sur le protocole TCP; interface Java de manipulation des sockets (Java.net); réalisation d'applications clients serveurs. Utilisation de Java RMI : introduction à RMI (Remote Method Invocation); implémentation des objets, côté client et côté serveur. Introduction à CORBA : évolution vers les applications distribuées; protocole RPC (Remote Procedure Calls); norme CORBA; implémentation du client et de l'objet distribué CORBA. Agents intelligents : concept d'agent; agents coopératifs, rationnels, adaptatifs, mobiles; agents informationnels intelligents; agents pour le Web; sécurité, mobilité, aspects algorithmiques. XML (eXtensible Markup Language) : SGML, HTML, XML et le Web; EDI et XML pour les applications d'affaires électroniques; définitions de nouveaux langages basés sur XML; technologies et applications XML; protocoles de communication basés sur le XML.

INF1022 Projet de synthèse en informatique
Mettre en application ses connaissances et utiliser les méthodes de travail acquises pour la réalisation d'un projet. Avoir à approfondir certaines connaissances théoriques ou à expérimenter de nouvelles méthodes de travail. Développer ses habiletés à la communication et au travail d'équipe. Sous la supervision d'un professeur, l'étudiant réalise un projet dans un des secteurs de l'informatique ou de ses applications : ce projet peut se faire dans une entreprise (commerce ou industrie) ou dans un laboratoire de l'Université. L'étudiant présente ses réalisations sous forme orale et écrite. Règlements pédagogiques particuliers : Pour s'inscrire au cours INF1022 Projet de synthèse en informatique, l'étudiant en informatique doit avoir réussi 60 crédits du programme. Pour s'inscrire à ce cours, l'étudiant inscrit au double baccalauréat en mathématiques et en informatique ou au double baccalauréat en physique et en informatique doit avoir réussi 90 crédits du programme.

MPU1015 Algèbre (ALG1001)
Développer l'habileté à généraliser à travers l'étude des structures algébriques. Développer la capacité de démontrer et d'appliquer dans un contexte abstrait. Connaître les concepts et les méthodes de base de l'algèbre moderne. Comprendre les liens entre l'algèbre classique (du secondaire) et l'algèbre moderne. Les structures de demi-groupe et de monoïde. La structure de groupe et les concepts connexes : sous-groupe, groupe cyclique, groupe-produit, groupe-quotient, homomorphisme de groupes et les théorèmes fondamentaux. La structure d'anneau et les concepts connexes : sous-anneau, anneau-produit, anneau-quotient, domaine d'intégrité, corps, anneau des polynômes sur un corps, corps des complexes.

NRG6000 Science des matériaux
Présenter une vue d'ensemble de la physique et la chimie des matériaux. Structure atomique. Défauts et diffusion. Solidification. Propriétés mécaniques. Diagrammes de phase. Transformation de phases et modification des propriétés mécaniques. Modification des propriétés de surface.

NRG9213 Structure et propriétés des matériaux
Présenter une vue d'ensemble des matériaux et particulièrement de l'influence des formes variées de structures sur leurs propriétés. Types de liaisons. Structure cristalline. Défauts et diffusion. Elasticité, plasticité et ténacité. Phases et diagramme d'équilibre. Transformation de phases et modification des propriétés mécaniques. Théorie des bandes. Métaux, semi-conducteurs et isolants. Polymères. Céramiques. Matériaux composites. Elaboration des films minces. Modification des propriétés de surface. Visite d'installations de mise en forme des diverses classes de matériaux.

PHQ1012 Relativité générale (PMO1017; GEI1002)
Se familiariser avec le formalisme et quelques applications de la relativité générale. Transformation de Lorentz et équations de Maxwell en notation quadrivectorielle. Analyse tensorielle, dérivée covariante, courbure. Principe d'équivalence. Équation d'Einstein. Métrique de Schwarzschild. Approximation postnewtonienne et test de la relativité générale. Ondes gravitationnelles. Univers homogène et isotrope.

PHQ1013 Optique
Comprendre les notions de base de l'optique géométrique et de l'optique physique. Formation d'images. La transformation colinéaire réduite pour un système à symétrie de révolution : dioptre et miroir sphériques. Combinaison de systèmes : lentilles minces et épaisses, instruments. Diaphragmes et pupilles. Prismes et dispersion, aberrations. Optique ondulatoire. Représentation mathématique. Interférence. Diffraction proche et éloignée. Cohérence. Le réseau. Films minces et interféromètres. Polarisation, biréfringence et dispersion. Laser : principe de fonctionnement et applications.

PHQ1030 Physique des particules élémentaires (PMO1010)
Se familiariser avec le formalisme des théories de jauge et le modèle standard des particules élémentaires. Les particules et leur classification. Notation relativiste et formalisme lagrangien. Théories de jauge, mécanisme de Higgs. Sections efficaces. Accélérateurs et détecteurs. Particules W et Z, quarks. Diffusion inélastique profonde. Frontières de la théorie.

PHQ6003 Physique statistique avancée
Approfondir la compréhension de la physique statistique et l'utiliser dans des applications modernes. Les sujets traités seront choisis parmi les suivants : fondements de la physique statistique : ensembles et fluctuations. Transitions de phase : transitions du premier et du deuxième ordre, approche du champ moyen, notion d'universalité et groupe de renormalisation. Modèles de Ising et de Potts. Physique statistique hors d'équilibre. Théorie cinétique des gaz. Hiérarchie BBGKY. Équation de Boltzmann. Diffusion. Propriétés de transport. Méthode de théorie des champs en physique statistique.

PMO1012 Physique nucléaire (PMO1010)
Décrire la structure du noyau atomique et examiner la nature des réactions nucléaires. Rappel de structure atomique. Structure des noyaux: isotopes, isotones, isobares; condition de stabilité, énergie de liaison. Rayonnement alpha et bêta, interaction avec la matière. Réactions nucléaires: équation en Q, section efficace. Modèles des noyaux.

PMO1014 Mécanique des fluides (PHQ1005; MAP1006)
Résoudre des problèmes de mécanique des fluides au moyen de différentes techniques : équations aux dérivées partielles, méthodes numériques, analyse dimensionnelle. Obtention des équations de conservation (formes différentielle et intégrale), approches lagrangienne et eulérienne. Fluide idéal. Équations d'Euler et de Bernoulli, écoulements potentiel et incompressible, ondes. Fluides visqueux, fluides newtoniens et équation de Navier-Stokes, écoulements laminaires et turbulence. Différences finies et volumes finis, utilisation de logiciels courants.

PMO1016 Projet de fin d'étude en physique (6 crédits)
Ce cours de dernière année veut donner la possibilité à l'étudiant d'explorer par lui-même, sous la forme d'un projet de recherche restreint, un problème particulier en physique. L'étudiant devra faire preuve d'un certain degré d'initiative et d'autonomie. Après avoir choisi un professeur qui le supervise, l’étudiant définit un projet de recherche avec le professeur, puis effectue sous sa direction une étude bibliographique et/ou des travaux de recherche. Une synthèse de ces travaux est présentée par écrit et implique, de plus, une communication orale devant un groupe d'étudiants et de professeurs.

PMO6002 Mécanique quantique avancée
Approfondir la compréhension du formalisme de la mécanique quantique et l'utiliser dans des applications modernes. Les sujets traités seront typiquement choisis parmi les suivants: équation de Dirac, intégrale fonctionnelle, seconde quantification, symétrie des atomes, des molécules et des cristaux; méthode de Hartree-Fock et fonctionnelle de densité, optique quantique, informatique quantique et décohérence.

PMO6009 Synthèse et caractérisation des matériaux
Approfondir les connaissances en matière de caractérisation et de synthèse de matériaux, particulièrement les nanomatériaux. Effet de la nanostructure sur les propriétés des matériaux. Concepts de phase cristalline, abondance de phases, grosseur de cristallites, orientation préférentielle. Méthodes de synthèse et de contrôle de la microstructure. Caractérisation des matériaux (cristallographique, chimique et morphologique). Préparation d'échantillons et analyse de résultats.

PMO6011 Méthodes de simulation numérique en sciences des matériaux
Initier les étudiant(es) à l'utilisation de méthodes de simulations avancées dans le cadre de la science des matériaux. Probabilités et statistiques, Physique statistique. Analyse d'erreur. Méthodes numériques de base. Simulations Monte Carlo. Simulations de dynamique moléculaire. Corrections quantiques. Monte Carlo quantique. Simulations de chimie quantique. DFT quantique et dynamique moléculaire quantique.

PMO6014 Introduction aux piles à combustibles et électrolyseurs
Ce cours porte sur l'étude des piles à combustible et des électrolyseurs. Après un survol des principes chimiques et physiques de base nécessaires au cours, Il s’intéressera à leurs principes de base, à leur fonctionnement et à leurs performances.

PRO1027 Programmation scientifique en C (INF1002 ou PRO1026)
Approfondir les concepts fondamentaux de la conception et de la production de logiciel. Développer l'habileté à réaliser des logiciels de qualité. Réaliser des applications pratiques dans le domaine des méthodes numériques. Étude des langages C et C++. Qualité des programmes : clarté, lisibilité, modifiabilité, efficacité, facilité d'usage, robustesse. Programmation modulaire. Programmation en langage C ou C++. A titre indicatif, les applications sont choisies parmi les suivantes : statistiques, manipulation de matrices, résolution de systèmes d'équations linéaires, interpolation, approximation, dérivation et intégration numériques.

SCP1001 Projet de fin d'études
Ce cours de dernière année veut donner la possibilité à l'étudiant d'explorer par lui-même, sous la forme d'un projet de recherche restreint, un problème particulier en chimie, en biochimie, et physique. L'étudiant devra faire preuve d'un certain degré d'initiative et d'autonomie. Après avoir choisi un projet de recherche parmi ceux proposés par le responsable du cours, l'étudiant consulte le professeur responsable du projet et, après entente, effectue sous sa direction une étude bibliographique et/ou expérimentale. Une synthèse de ces travaux est présentée par écrit et implique, de plus, une communication orale devant un groupe d'étudiants et de professeurs. Règlement pédagogique particulier : pour s'inscrire au cours SCP1001 Projet de fin d'études, l'étudiant doit avoir complété cinquante-sept crédits de son programme et avoir maintenu une moyenne cumulative d'au moins 2,5/4,3. Exceptionnellement, pour des raisons dûment justifiées et sous réserve de l'approbation du Comité de programme, une dérogation à ces conditions pourrait être accordée.

SFC1001 Sciences forensiques et criminalistique
Cours d’introduction à la science forensique ou traçologie. Comprendre l’ontologie de la trace physique, chimique, biologique et numérique. Connaître les principes, l’histoire, les concepts, la méthodologie propres à cette discipline de la scène d’investigation à son exploitation en cour de justice, dans l’enquête et dans l’élaboration du renseignement. Maîtriser sa sémantique. A partir de différentes traces à la disposition du praticien, reconnaître les inférences mises en œuvre, les différents niveaux d'interprétation et leur formalisation. État des lieux de la forensique au XXIe siècle, éthique, définition du corpus et épistémologie forensique ; l’ontologie de la trace ; la Déclaration de Sydney ; la cueillette des traces à leur exploitation : la méthode scientifique. Introduction à l'interprétation : hiérarchie des propositions, biais cognitifs, probabilité épistémique et approche prescriptive. Le spectre de traces : biologiques et d’impression humaine, les traces de transfert, d'objets, d’armes, les microtraces, les traces chimiques, les traces numériques, thanatologiques.

SFC1005 Probabilité appliquée à la criminalistique (SFC1001)
Initier l'étudiant aux principales méthodes statistiques et aux principaux modèles de probabilité utilisés en criminalistique. Probabilités : axiomes de Kolmogorov, probabilités conditionnelles, indépendance d'événements, applications à la génétique des populations et aux preuves d'ADN. Théorème de Bayes : probabilités a priori et a posteriori. Statistique descriptive. Variables aléatoires discrètes et continues. Echantillonnage et intervalles de confiance. Test d'hypothèses. Analyse de la variance. Régression et corrélation linéaire. Modèles d'interprétation de différents types d'indice en justice. Argumentation probabiliste, erreurs d'interprétation et fallacies.

SFC1008 Incendies et explosions (SFC1001; SFC1026; SFC1028)
Comprendre et reconstruire la dynamique d'un incendie et d'une explosion. Identifier le point origine et procéder à la collecte des traces pertinentes. Assurer le traitement analytique et l'interprétation des accélérants et des explosifs utilisés. Inférer l'engin incendiaire ou explosif. Thermodynamique, physique, électricité, chimie des incendies et explosions. Types d'explosifs. Collecte des traces lors d'incendies et d'explosions. Processus d'assurance-qualité en analyse d'incendies et explosions. Laboratoires : tests présomptifs; prélèvements sur scène d'incendie et d'explosion; analyse et identification d'accélérants; analyse et identification d'explosifs; reconstruction de l'engin.

SFC1043 Simulation : balistique et collision (PHQ1023; PHQ1047)
Introduction à la simulation numérique en mécanique classique. Représentation d'une scène par des formes géométriques simples et convexes. Contraintes et collisions. Discrétisation du temps et évolution temporelle d'une trajectoire balistique. Introduction à une librairie physique libre de droit avec python. Calibration à partir de modèles simples. Reconstruction de scénarios d’accident à partir d'une scène finale. Discrimination d'hypothèses.

SIF1032 Graphisme par ordinateur (MAP1006 ou PIF1006; INF1004)
L'étudiant se familiarise avec les algorithmes fondamentaux du graphisme : représentation des objets 2D et 3D. Il est amené à comprendre les concepts de transformation linéaire en coordonnées homogènes, la composition des transformations et le calcul matriciel, la transformation en perspective, les modèles de réflexion de la lumière, la couleur, l'illumination et le rendu, l'ajout de texture. Création de modèles d'objets simples, formes polygonales; création de modèles plus complexes à l'aide de moteurs de formes; application de transformations 3D pour la visualisation et les déplacements d'objets 3D; introduction aux notions de réalisme d'une scène : illumination, couleur, propriétés des objets : texture, transparence. Le cours comporte des projets pratiques d'animation réalisés en langage C, en langage C++ à l'aide des libraires graphiques OpenGl et DirectX

SIF1033 Traitement d'image (INF1004; STT1001 ou STT1042)
Amener l'étudiant à pouvoir utiliser l'ordinateur pour traiter une image de façon à en améliorer la perception visuelle et à permettre la détection d'objets significatifs. Présentation des notions de base du traitement de l'image : correction géométrique et radiométrique des images, amélioration du contraste, amélioration des images par filtrage spatial isotropique et anisotropique, spectral et morphologique; segmentation des images par seuillage; détection des arêtes et des contours, détection des droites et des formes circulaires, détection des objets par corrélation spatiale; génération d'images tomographiques; applications Client/Serveur permettant le traitement d'image à distance; protocoles de transfert d'images. Les étudiants expérimentent les concepts du traitement des images par des projets pratiques codés en langage C ou en langage C++.

STT1001 Probabilités et statistiques
Statistiques de base en vue des applications. Séries statistiques : histogramme et polygone. Mesures de tendance centrale. Mesures de dispersion. Moments. Eléments de probabilités : variables aléatoires, distributions binomiales, hypergéométriques, normales. Poisson. Introduction à l'échantillonnage. Tests d'hypothèses simples.


Cours complémentaires (0 à 6 crédits)

Selon le nombre de cours optionnels suivis, l'étudiant choisit jusqu'à 6 crédits parmi les cours complémentaires suggérés.