Logo ÉTS
Session
Cours
Responsable(s) Sheldon Andrews

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement
École de technologie supérieure

Responsable(s) de cours : Sheldon Andrews


PLAN DE COURS

Automne 2021
GTI320 : Programmation mathématique : Patrons et algorithmes efficaces (3 crédits)





Préalables
Programme(s) : 7065, 7365
             
  Profils(s) : Tous profils  
             
    LOG121    
             
Programme(s) : 7610
             
  Profils(s) : Tous profils  
             
    LOG121 ET MAT472    
             
Programme(s) : 7070, 7610
             
  Profils(s) : Tous profils  
             
    MAT472    
             
Programme(s) : 7070, 7610
             
  Profils(s) : Tous profils  
             
    MAT472    
             
Unités d'agrément
Total d'unités d'agrément : 58,8 60,0 % 40,0 %




Qualités de l'ingénieur

Qn
Qualité visée dans ce cours  
Qn
  Qualité visée dans un autre cours  
  Indicateur enseigné
  Indicateur évalué
  Indicateur enseigné et évalué



Descriptif 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’étudiant sera en mesure :

  • de concevoir un système efficace utilisant la programmation orientée objet;
  • de développer des applications qui utilisent les vecteurs et matrices pour résoudre des problèmes;
  • de 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).




Objectifs du cours

1. Maîtriser les principes fondamentaux des calculs matriciels et vectoriels avec un accent particulier sur les mathématiques 3D.
2. Utiliser des algorithmes numériques pour résoudre des équations différentielles et des problèmes d'optimisation numérique.
3. Implémenter des algorithmes efficaces en apprenant la gestion de la mémoire et la parallélisation d'opérations mathématiques.
4. Analyser les compromis entre la performance et la précision en fonction de la méthode numérique.




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.




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 Mercredi 08:30 - 12:00 Activité de cours
Vendredi 08:30 - 10:30 Laboratoire (Groupe A)
Vendredi 10:30 - 12:30 Laboratoire (Groupe B)
02 Mercredi 08:30 - 10:30 Laboratoire
Vendredi 08:30 - 12:00 Activité de cours



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Simon Drouin Activité de cours Simon.Drouin@etsmtl.ca A-4494
01 Joël Pelletier-Guénette Laboratoire (Groupe A) joel.pelletier-guenette.1@ens.etsmtl.ca
02 Simon Drouin Activité de cours Simon.Drouin@etsmtl.ca A-4494
02 Marwen Kraiem Laboratoire marwen.kraiem.1@ens.etsmtl.ca



Cours
  1. Les espaces vectoriels et calculs matriciels (3 heures)
  2. La langage C++ et gestion de la mémoire (3 heures)
  3. Les structures de données matricielles et vectorielles (3 heures)
  4. Les transformations 3D (3 heures)
  5. Déterminant et rang des matrices (3 heures)
  6. La décomposition en valeurs propres et la décomposition en valeurs singulières (3 heures)
  7. L'algorithme ICP (3 heures)
  8. L'optimisation numérique et moindres carrés (3 heures)
  9. Systèmes linéaires d'équations(3 heures)
  10. Les méthodes itératives pour résoudre les systèmes linéaires (3 heures)
  11. La physique linéaire (3 heures)
  12. Les equations différentielles et intégration numérique (3 heures)
  13. Les matrices creuses (3 heures)
  14. Les calculs matriciels parallèles (3 heures)
  15. 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




Laboratoires et travaux pratiques

Trois (3) laboratoires :

1. Développement d'une librairie matricielle C++ (4 semaines - 8 heures)
2. Alignement des nuages de points par l'optimisation des moindres carrés (4 semaines - 8 heures)
3. Intégration numérique et les solveurs linéaires pour les systèmes de particules (4 semaines - 8 heures)

NOTE: Les laboratoires 2 et 3 dépendent de la solution du 1er laboratoire.

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 correct, en consultant les charges de laboratoires ou l'enseignant du cours




Utilisation d'outils d'ingénierie

Les étudiants se familiariseront avec les outils de développement de logiciel C++, en particulier Visual Studio.




Évaluation

Trois (3) laboratoires : 40 %
Intra : 30 %
Final : 30 %

Travaux à remettre

  1. Trois laboratoires (individuels)



Dates des examens intra
Groupe(s) Date
1 13 octobre 2021
2 15 octobre 2021



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : http://etsmtl.ca/Etudiants-actuels/Baccalaureat/Examens-finaux


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.7 b / cycles supérieurs, article 6.5.4 b) se verra attribuer la note zéro, à moins que d’autres dispositions ne soient communiquées par écrit par 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 à un examen
Dans les cinq (5) jours ouvrables suivants, la tenue de son examen, l’étudiant devra justifier son absence d’un examen durant le trimestre auprès de la coordonnatrice – Affaires départementales qui en référera au directeur du département ou du SEG. Pour un examen final, l’étudiant devra justifier son absence auprès du Bureau du registraire. Dans tous les cas, l’étudiant doit effectuer sa demande en complétant le formulaire prévu à cet effet qui se trouve dans son portail Mon ÉTS/Formulaires. Toute absence non justifiée par un motif majeur (maladie certifiée par un billet de médecin, décès d’un parent immédiat, Activité compétitive d’un étudiant appartenant à un club scientifique ou un club sportif d’élite de l’ÉTS ou au programme « Alliance sport étude » ou autre) à un examen 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 étudiants doivent consulter le Règlement sur les infractions de nature académique (https://www.etsmtl.ca/docs/ETS/Gouvernance/Secretariat-general/Cadre-reglementaire/Documents/Infractions-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 les étudiants sont invités à consulter la page Citer, pas plagier ! (https://www.etsmtl.ca/Etudiants-actuels/Baccalaureat/Citer-pas-plagier).



Documentation obligatoire

Ce 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.

MARSCHNER, Steve and SHIRLEY, Peter. "Fundamentals of Computer Graphics" (4e edition), A K Peters, 2015. [1]

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.

[1] ou un ouvrage similaire qui couvre les fondamentaux des transformations 3D




Adresse internet du site de cours et autres liens utiles

Le matériel de cours sera publié sur Moodle.