|
École de technologie supérieure
|
Responsable(s) de cours :
|
Sheldon Andrews
|
PLAN DE COURS
Automne 2019
GTI320 : Programmation mathématique : Patrons et algorithmes efficaces (3 crédits)
Préalables
Programme(s) : 7365 | | | | | | | | | Profils(s) : Tous profils | | | | | | | | | | | LOG121 | | | | | | | | | | |  | Programme(s) : 7610 | | | | | | | | | Profils(s) : Tous profils | | | | | | | | | | | LOG121 ET MAT472 | | | | | | | | | | |  | Programme(s) : 7610 | | | | | | | | | Profils(s) : Tous profils | | | | | | | | | | | MAT472 | | | | | | | | | | |
|
Unités d'agrément
Total d'unités d'agrément : 58,8
|
Qualités de l'ingénieur
|
Qualité visée dans ce cours |
|
|
|
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; 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).
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 | Vendredi | 08:30 - 12:00 | Activité de cours |
| Vendredi | 13:30 - 15:30 | Laboratoire |
Coordonnées de l’enseignant
Groupe | Nom | Activité | Courriel | Local | Disponibilité |
01 | Sheldon Andrews | Activité de cours | Sheldon.Andrews@etsmtl.ca | A-4459 | sur rendez-vous |
Cours
- Les espaces vectoriels et calculs matriciels (3 heures)
- Les nombres en virgule flottante et analyse matricielle (3 heures)
- La langage C++ et gestion de la mémoire (3 heures)
- Les structures de données matricielles et vectorielles (3 heures)
- Les transformations 3D (3 heures)
- Les systèmes linéaires (3 heures)
- Les méthodes itératives pour les systèmes linéaires (3 heures)
- L'optimisation numérique et moindres carrés (3 heures)
- Les equations différentielles et intégration numérique (3 heures)
- La physique linéaire (3 heures)
- La géométrie algorithmique (3 heures)
- Les calculs matriciels parallèles (3 heures)
- Les sujets spéciaux (3 heures)
Laboratoires et travaux pratiques
Quatre (4) laboratoires :
1. Le développement d'une librairie matricielle C++ (3 semaines - 6 heures)
2. Les solveurs linéaires et l'optimisation numérique (3 semaines - 6 heures)
3. Les intégrales numériques et simulations physiques (3 semaines - 6 heures)
4. Les calculs matriciels parallèles (3 semaines - 6 heures)
Utilisation d'outils d'ingénierie
Les étudiants se familiariseront avec les outils de développement de logiciel C++, en particulier Visual Studio.
Évaluation
Quatre (4) laboratoires à 10% chacun : 40 %
Intra : 30 %
Final : 30 %
Travaux à remettre
- Quatre (4) laboratoires (individuels)
Dates des examens intra
Groupe(s) | Date |
1 | 11 octobre 2019 |
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.
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).
Documentation obligatoire
Ce cours n'inclut pas de manuel scolaire. Cependant, les référence ci-dessous seront très utile pour de nombreux sujets du cours.
Ouvrages de références
GOLUB, Gene H. et VAN LOAN, Charles F. (2012), “Matrix Computations” (4e edition), Johns Hopkins University Press.
LENGYEL, Eric (2011), “Mathematics for 3D Game Programming and Computer Graphics” (3e edition), Course Technology PTR.
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 de cours sera publié sur Moodle.