Logo ÉTS
Session
Cours
Responsable(s) François Morency

Se connecter
 

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

Responsable(s) de cours : François Morency


PLAN DE COURS

Été 2026
MGA802 : Sujets spéciaux I en aéronautique (3 crédits)
Programmation Python pour les projets et stage aux cycles supérieurs


Préalables
Aucun préalable requis.



Description du cours
Sujets d’intérêt majeur et à la fine pointe de la technologie. Deux sujets sont offerts en alternance (un par année).




Stratégies pédagogiques

Le cours se donne sous une forme intensive 1 à 2 demi-journées par semaine (voir calendrier exact en fonction des semaines). L’enseignement se veut interactif, ainsi les périodes magistrales de présentation de notions seront régulièrement entrecoupées de périodes permettant la mise en application des concepts. De plus, plusieurs séances seront entièrement dédiées à la résolution de problèmes du domaine du génie aérospatial pour mettre en oeuvre les notions vues dans les périodes de cours. La réalisation de solutions numériques d’envergure s’appuie sur le travail collaboratif. Ainsi un projet de session devra être réalisé par équipe de 3 à 4 étudiants. Les groupes devront développer leur solution, la valider, la documenter puis la présenter au terme de la session.

  • 8 séances d'enseignement en classe (24h)
  • 5 séances de travaux sur des projets d'applications
    • Possibilité de choisir par vous même un projet lié à un sujet scientifique



Utilisation d’appareils électroniques

Les ordinateurs portables sont autorisés et nécessaires pour ce cours, toutefois, leur utilisation pour un usage qui n'est pas lié au cours est interdite en classe. Chaque étudiante ou étudiant doit disposer d'un ordinateur portable permettant d'exécuter l'environnement de développement du cours.




Horaire
Groupe Jour Heure Activité
01 Mardi 13:30 - 17:00 Activité de cours
Mercredi 13:30 - 17:00 Deuxième activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Ilyass Tabiai Activité de cours ilyass.tabiai@etsmtl.ca A-2114
01 Ilyass Tabiai Deuxième activité de cours ilyass.tabiai@etsmtl.ca A-2114



Cours
Sem Cours Contenu Exercices

1

Introduction

1 - Qu'est-ce que Python ?

Usage de Python sur des serveurs en ligne

2 - Pourquoi Python ?
3 - Python en ligne

Notions de base
Spécificités de Python

1 - Syntaxe de base

Exercices d’application directe sur des serveurs

2 - Opérateurs
3 - Types de base
4 - Listes et tuple
5 - Manipulation de listes
6 – Dictionnaires
7 - Modes de transmission

2

Scriptage

1 – Définition d’un script Python et sa structure

Exercices de tests et recherche

2 – Conditions et boucles
3 – Utilisation de liste avancées

Environnement de travail pour Python

1 – Librairies python, installation et environnement de développement

Installation de python sur les ordinateurs des étudiants.

2 - Personalisation de l’environnement dans PyCharms
3 – La console Python, iPython et Jupyter Notebook
4 - Chaînes de caractères (substring, replace, find)

3

Utilisation de Git
Pour la gestion des sources

1 - Notions de base : copie local, dépôt

Exercices interactif en groupe sur des dépôts individuels et communs

2 – Organisation des branches et dépôt en ligne : fork, clone, branch, github
3 – Mise à jour : commit, pull, push
4 – Synchronisation : branch, pull request, merge, conflict

Programmation procédurale

1 - Fonctions

Exercices de base
Améliorer un script grace à des fonctions
Utilisation du debboguer dans PyCharm

2 – Structurer le code en fonctions
3 - Passage de paramètres, arguments optionnels
4 – Debugging: pdb dans PyCharms

4

Mini Projet A

1 – Présentation du mini-projet (intégration des LLMs et interfaces)

Période de disponibilité pour le mini-projet A

2 – Présentation des requis (fonction) du programme et du rendu avec Git avec un README
3 - Présentation des outils nécessaires (read/write, find, replace)

5

Programmation scientifique

1 – Notions de performance

Exercices d’utilisation de numpy, vectorisation de code
Notions d'introduction (tracé de courbe) avec matplotlib

2 – Introduction à Numpy : création de tableaux, indexation
3 - Introduction à Matplotlib pour le tracé de courbes
4 – Numpy : calculs mathématiques
5 – Numpy : recherche, filtrage, sélection de données

6

Analyses de données

1 - Introduction à Matplotlib

Exercices de tracé de courbes, chargement de données, statistiques et fouille dans les fichiers

2 - Traitement de fichiers
3 - Introduction à Pandas
4 - RegEx

7

Analyses de données

1 – Introduction à Scipy

Résolution de problèmes non-linéaires, représentations de solutions

2 - Résolution d'équations
3 - Optimisation
4 - Interpolation
5 - Intégration

8

Mini Projet B

1 – Présentation du mini-projet et des données

Période de disponibilité pour le mini-projet B

2 – Présentation des requis (fonctions+classes) du programme et du rendu avec Git avec un README
3- Période dédiée à l'avancement du projet

9

Projet de session Présentation des projets, requis, rapports … Création des équipes et brainstorming

Programmation orientée object

1 - Introduction à la programmation objet : concept et intérêt

Exercice d’application directe pour transformer un script en classe

2 – Classes et Objects
3 – Interfaces
4 – IO d’instance avec Pickle

10

Documentation de code

1 – Recommendations pour commentaires

Documentation du mini-projet B, convertir son projet B en module et mise en ligne (partage)

2 – Sphinx, Doxygen

Modules

1 – Qu’est qu’un module
2 – Comment créer un module et diffuser son module
3 – Utilisation de pypi and pip
4 – Environnements virtuels
Projet de session Suivi projets Vérification de l'avancement des équipes
11 Projet de session

Période dédiée à l'avancement du projet

Introduction à l'utilisation des LLMs

Période de disponibilité pour les projets spéciaux
12 Projet de session

Période dédiée à l'avancement du projet

Introduction au développement d'interfaces webs basiques pour supporter votre application

Période de disponibilité pour les projets spéciaux
13 Projet de session Présentations finales Remise des rapports



Laboratoires et travaux pratiques

Les séances de laboratoires (mini-projets et projet de session) ont lieu pendant la période régulière du cours.




Évaluation


Informations additionnelles :
Quiz 10%
Mini projet A 20%
Mini projet B 20%
Projet final 50%

 




Politique de retard des travaux
Conformément au Règlement des études de premier cycle (article 7.5.6) et au Règlement des études de cycles supérieurs (article 6.5.6), 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 à l’article 7.5.5.1 dans le Règlement des études de premier cycle et l’article 6.5.2 dans le Règlement des études de cycles supérieurs, se verra attribuer la note zéro, à moins que d’autres dispositions soient communiquées par écrit par la personne enseignante dans les consignes de chaque travail à remettre ou dans le plan de cours pour l’ensemble des travaux.



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.

Dispositions additionnelles

La programmation est l'une des activités qui est la plus fortement affectée par les SIAG, la programmation est un domaine qui change rapidement dû à cela. Toutefois, l'objectif de ce cours est de permettre aux étudiants de saisir les bases de la programmation dans le but de pouvoir mieux utiliser les outils de SIAG. L'utilisation des SIAG sera possible dans le cadre du cours mais les étudiants sont fortement encouragés à ne pas l'utiliser pour l'écriture du code lui même. Il est critique d'avoir des bases solides en programmation pour pouvoir tirer profit le mieux possible des SIAG à l'avenir.




Documentation obligatoire

Notes de cours disponibles sur Moodle (fichiers de présentation en classe)




Ouvrages de références

Plusieurs ouvrages, site web, seront fournis comme référence additionnelle pour compléter le support des cours.




Adresse internet du site de cours et autres liens utiles

ENA