Logo ÉTS
Session
Cours
Responsable(s) Sheldon Andrews

Se connecter
 

Sauvegarde réussie
La notification a été envoyée
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Sheldon Andrews


PLAN DE COURS

Hiver 2026
GTI320 : Programmation mathématique : Patrons et algorithmes efficaces (3 crédits)


Préalables
Pour tous profils : LOG121, MAT472



Description du cours
Ce cours présente les approches permettant de concevoir des applications orientées objet efficaces, particulièrement dans le cadre des applications qui reposent sur les calculs mathématiques.

Au terme de ce cours, l’étudiante ou l'étudiant sera en mesure de : concevoir un système efficace utilisant la programmation orientée objet; développer des applications qui utilisent les vecteurs et matrices pour résoudre des problèmes; réaliser les opérations fondamentales nécessaires à la 3D.

Programmation orientée objet efficace (pointeurs, allocation, constructeurs de copie), programmation d’algèbre vectorielle (vecteurs, matrices), calculs matriciels (creuse et dense, autovectorisation), base en 3D (transformations matricielles, caméras, projections), résolution de systèmes d'équations linéaires, résolution numérique d’équations différentielles, optimisation numérique, moindres carrés, décomposition (analyse en composante principale, vecteurs et valeurs propres, décomposition en valeurs singulière).



Stratégies pédagogiques

Les objectifs seront atteints par un enseignement magistral de trois heures par semaine ainsi que deux heures de travaux de laboratoire par semaine.




Informations concernant l’agrément du BCAPG
Ce cours compte 58,8 unités d'agrément réparties comme suit :

Catégories de UA Nombre Proportion Matière(s) traitée(s)
Science du génie 35,3 UA 60,03 %
Conception Ingénierie 23,5 UA 39,97 %






Utilisation d’appareils électroniques

Les appareils électroniques seront tolérés en classe, conditionnellement à l'approbation du professeur, et seulement s'ils sont utilisés pour des fins utiles aux apprentissage du cours magistral. Aucun enregistrement (photographie, film ou audio) ne sera toléré.




Horaire
Groupe Jour Heure Activité
01 Lundi 08:30 - 12:00 Activité de cours
Jeudi 13:30 - 15:30 Laboratoire (Groupe A)
Jeudi 15:30 - 17:30 Laboratoire (Groupe B)



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Sheldon Andrews Activité de cours sheldon.andrews@etsmtl.ca A-4459
01 Quôc-Minh Tôn-Thât Activité de cours cc-quoc-minh.ton-that@etsmtl.ca
01 Laboratoire (Groupe A)



Cours
  • Les espaces vectoriels et calculs matriciels (3 heures)
  • La langage C++ et gestion de la mémoire (3 heures)
  • Les structures de données matricielles et vectorielles en C++ (3 heures)
  • Les matrices creuses (3 heures)
  • Les transformations 3D (3 heures)
  • La déterminant et la rang des matrices (2 heures)
  • La décomposition en valeurs propres et en valeurs singulières (2 heures)
  • L'optimisation numérique et moindres carrés (3 heures)
  • L'étude de cas d'applications des moindres carrés (4 heures)
  • Les méthodes itératives pour résoudre les systèmes linéaires (3 heures)
  • La physique linéaire (2 heures)
  • Les equations différentielles et l'intégration numérique (2 heures)
  • Les calculs matriciels parallèles (3 heures)
  • Les sujets spéciaux (3 heures)

NOTE: Ces heures sont des heures approximatives d’enseignement pour chaque sujet et incluent le temps alloué à l’examen intra-trimestriel.

L'ordre et le contenu peut être modifié en cours de session en fonction de circonstances particulières.




Laboratoires et travaux pratiques

Quatre (4) laboratoires :

1. Le développement d'une librairie matricielle C++ (3 semaines)
2. La cinématique directe et les transformations 3D (3 semaines)
3. La cinématique inverse (3 semaines)
4. Le physique lineaire (3 semaines)

NOTE: Les laboratoires 2, 3, et 4 dépendent du 1er laboratoire. Le laboratoire 3 dépend du laboratoire 2.

Il est recommandé fortement aux étudiants de commencer les laboratoires tôt et de revoir leurs travaux corrigés afin d'évaluer les erreurs qu'ils ont faites. Les solutions de code source pour les laboratoires ne seront pas fournis. Il est la responsabilité des étudiants de s'assurer que leur code est fonctionnel, en consultant les charges de laboratoires ou l'enseignant du cours.

Il est interdit d'utiliser des outils d'IA, tels que ChatGPT ou Copilot, pour générer du code source pour les laboratoires et les travaux pratiques.




Utilisation d'outils d'ingénierie

Les étudiants se familiariseront avec les outils de développement de logiciel C++.




Évaluation


Informations additionnelles :

Quatre (4) laboratoires : 40 %
Intra : 30 %
Final : 30 %

Travaux à remettre

  1. Quatre laboratoires (individuels) 



Dates des examens intra
Groupe(s) Date
1 23 février 2026



Politique de retard des travaux
Tout travail (devoir pratique, rapport de laboratoire, rapport de projet, etc.) remis en retard sans motif valable, c’est-à-dire autre que ceux mentionnés dans le Règlement des études (1er cycle, article 7.2.5/ cycles supérieurs, article 6.5.2) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par l’enseignante ou l’enseignant dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.

Dispositions additionnelles

Un travail remis en retard subira une pénalité de 20 % à laquelle s'ajouteront 20 % de pénalité par jour complet de retard. Lorsque plusieurs éléments sont à remettre pour un même travail, le travail est considéré complet seulement lorsque tous les éléments sont remis.




Absence à une évaluation

Afin de faire valider une absence à une évaluation en vue d’obtenir un examen de compensation, l’étudiante ou l’étudiant doit utiliser le formulaire prévu à cet effet dans son portail MonÉTS pour un examen final qui se déroule durant la période des examens finaux ou pour tout autre élément d’évaluation surveillé de 15% et plus durant la session. Si l’absence concerne un élément d’évaluation de moins de 15% durant la session, l’étudiant ou l’étudiante doit soumettre une demande par écrit à son enseignante ou enseignant.

Toute demande de validation d’absence doit se faire dans les cinq (5) jours ouvrables suivant la tenue de l’évaluation, sauf dans les cas d’une absence pour participation à une activité prévue aux règlements des études où la demande doit être soumise dans les cinq (5) jours ouvrables avant le jour de départ de l’ÉTS pour se rendre à l’activité.

Toute absence non justifiée par un motif majeur (voir articles 7.2.6.1 du RÉPC et 6.5.2 du RÉCS) entraînera l’attribution de la note zéro (0).




Infractions de nature académique
Les clauses du « Règlement sur les infractions de nature académique de l’ÉTS » s’appliquent dans ce cours ainsi que dans tous les cours du département. Les étudiantes et les étudiants doivent consulter le Règlement sur les infractions de nature académique (www.etsmtl.ca/a-propos/gouvernance/secretariat-general/cadre-reglementaire/reglement-sur-les-infractions-de-nature-academique) pour identifier les actes considérés comme étant des infractions de nature académique ainsi que prendre connaissance des sanctions prévues à cet effet. À l’ÉTS, le respect de la propriété intellectuelle est une valeur essentielle et tous les membres de la communauté étudiante sont invités à consulter la page Citer, pas plagier ! (www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).

Systèmes d’intelligence artificielle générative (SIAG)
L’utilisation des systèmes d’intelligence artificielle générative (SIAG) dans les activités d’évaluation constitue une infraction de nature académique au sens du Règlement sur les infractions de nature académique, sauf si elle est explicitement autorisée par la personne enseignante du cours ou la personne coordonnatrice dans le cas des stages.



Documentation obligatoire

Le cours n'a pas de manuel scolaire obligatoire.  Cependant, les références optionnelles ci-dessous seront très utile pour de nombreux sujets du cours.

Les étudiants n'ont pas besoin d'acheter l'un de ces textes pour réussir le cours, mais cela peut vous aider. Participer aux cours et aux labos tutorat (c.-à-d. présence constante, prendre des notes et poser des questions) est beaucoup plus corrélé au succès que de compléter de manière exhaustive les lectures recommandées.




Ouvrages de références

GOLUB, Gene H. et VAN LOAN, Charles F. (2012), “Matrix Computations” (4e edition), Johns Hopkins University Press.

SOLOMON, JUSTIN (2015), "Numerical Algorithms",  AK Peters/CRC Press.

PRESS, William, TEUKOLSKY, Saul, VETTERLING, William et FLANNERY, Brian (2007), “Numerical Recipes in C++: The Art of Scientific Computing” (3e edition), Cambridge University Press.
 




Adresse internet du site de cours et autres liens utiles

Le matériel pédagogique sera mis à disposition des étudiants via la plateforme Moodle.