Logo ÉTS
Session
Cours
Responsable(s) Iannick Gagnon

Se connecter
 

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

Responsable(s) de cours : Iannick Gagnon


PLAN DE COURS

Automne 2025
INF136 : Introduction à la programmation en Python (4 crédits)





Préalables
Aucun préalable requis
Unités d'agrément




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
Au terme de ce cours, l’étudiante ou l'étudiant sera en mesure de : expliquer le fonctionnement d’un programme informatique et décrire l’architecture de base d’un micro-ordinateur; résoudre des problèmes de nature scientifique et liés au génie en décomposant le problème en sous-problèmes et en proposant des algorithmes de résolution; implémenter des opérations matricielles et vectorielles; développer et implémenter des algorithmes simples.

Structure d’un programme, types de base, variables et constantes, entrées/sorties, expressions et opérateurs, contrôle du flux d’exécution d’un programme, sous-programmes, passage de paramètres, structures de données de bases du langage, encapsulation, modules de représentation graphique des données et manipulation de fichiers.

Séances de laboratoire axées sur l’application des notions de programmation



Objectifs du cours

Ce a pour objectif de développer chez les étudiant(e)s les compétences de base en programmation nécessaires à la résolution de problèmes scientifiques typiquement rencontrés en génie mécanique.

Au terme de ce cours, l’étudiant(e) sera en mesure de:

  • Décrire les concepts fondamentaux de la programmation, notamment les structures de contrôle, les types de données et la moduralisation des programmes informatiques;
  • Analyser un problème scientifique afin d’identifier les étapes clés de sa résolution algorithmique?;
  • Implémenter des algorithmes dans un langage de programmation en respectant les bonnes pratiques de développement logiciel;
  • Implémenter des algorithmes connus, tels que le tri et la fouille;
  • Traiter des fichiers de différents formats en vue de leur analyse;
  • Concevoir des visualisations graphiques à partir des bibliothèques spécialisées.



Stratégies pédagogiques

Organisation des séances:

  • 3 heures de cours par semaine;
  • 3 heures de laboratoire par semaine.

Le matériel disponible sur la page Moodle du cours est accessible à l'adresse suivante : https://ena.etsmtl.ca. Des ressources complémentaires pourront également être fournies par l’enseignant(e) au besoin.

Les laboratoires ont pour principaux objectifs de:

  • Renforcer l’appropriation des concepts à travers des activités pratiques guidées?;
  • Développer des compétences techniques en programmation en réalisant des exercices et projets dans le cadre des travaux pratiques.



Utilisation d’appareils électroniques

Chaque étudiant(e) doit disposer d'un ordinateur portable permettant d'exécuter l'environnement de développement utilisé dans le cadre du cours.




Horaire
Groupe Jour Heure Activité
01 Mardi 09:00 - 12:30 Activité de cours
Jeudi 09:00 - 12:00 Laboratoire
02 Mardi 13:30 - 17:00 Activité de cours
Jeudi 13:30 - 16:30 Laboratoire
03 Mardi 18:00 - 21:00 Laboratoire
Jeudi 18:00 - 21:30 Activité de cours



Coordonnées du personnel enseignant le cours
Groupe Nom Activité Courriel Local Disponibilité
01 Francis Bourdeau Activité de cours Francis.Bourdeau@etsmtl.ca
01 Francis Bourdeau Activité de cours Francis.Bourdeau@etsmtl.ca B-2566
01 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca
01 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca B-2566
02 Francis Bourdeau Activité de cours Francis.Bourdeau@etsmtl.ca
02 Francis Bourdeau Activité de cours Francis.Bourdeau@etsmtl.ca B-2566
02 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca
02 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca B-2566
03 Francis Bourdeau Activité de cours Francis.Bourdeau@etsmtl.ca
03 Francis Bourdeau Activité de cours Francis.Bourdeau@etsmtl.ca B-2566
03 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca
03 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca B-2566



Cours
BLOCS MATIÈRE

 

 

 

 

 

 

 

 

 

 

 

1


NORMES DE PROGRAMMATION

Choix et syntaxe des identificateurs de variables et de constantes, indentation, commentaires et en-têtes de sous-programmes, annotations de types.
 

NOTIONS DE BASE

Notions générales liées à la programmation, notion d'algorithme, pseudo-code, architecture du micro-ordinateur, notion de variable et de type, types primitifs, conversions de types, notions d'opérateurs et d'expressions, opérateurs mathématiques, relationnels et logiques, règles de priorité des opérateurs, entrées et sorties de base.
 

CONTRÔLE DU FLUX D'EXÉCUTION

Notion d'expression booléenne, instructions de choix, instructions de répétition et instructions imbriquées.
 

SOUS-PROGRAMMES

Découpage en sous-programmes accessibles par des interfaces de modules, notions de fonction et de procédure, paramètres formels et effectifs, paramètres optionnels, portée des variables et des sous-programmes, modes de passage.
 

DÉBOGAGE ET TESTS

Introduction aux techniques de base en débogage, analyse statique et dynamique, points d'arrêt, traçage d'algorithmes, tests unitaires.
 

COLLECTIONS

Utilisation des collections natives, introduction aux listes, aux tuples et aux dictionnaires, opérations courantes (accès, découpage, mutation, suppression et parcours), tests d'appartenance, tests d'identité, introduction aux notions d'objet et de méthode.
 

 

 

 

 

 


2

TYPES DÉFINIS PAR L'UTILISATEUR

Notions de classe, d'objet, d'attribut et de méthode. Instanciation et encapsulation par accessibilité privée.
 

TABLEAUX

Notion de tableau informatique, tableaux à une et deux dimensions, opérations courantes (accès, découpage et mutation), parcours, librairie NumPy. 
 

APPLICATIONS

Mise en oeuvre des tableaux par l'application : polynômes, vecteurs et matrices. Notions d'algorithmique : tri par sélection, recherche séquentielle et recherche dichotomique.
 

 

 

 

 



3


CHAÎNES DE CARACTÈRES

Notions d'encodage et de décodage (ASCII), opérations courantes (accès, découpage, parcours), formatage et méthodes spécifiques aux chaînes de caractères.
 

LECTURE ET ÉCRITURE DE FICHIERS

Ouverture, lecture, écriture et fermeture de fichiers texte, modes d'ouverture et gestionnaires de contexte,  chemins relatifs et absolus. Introduction aux expressions régulières.
 

GRAPHIQUES

Introduction à l'interface Pyplot de la librairie Matplotlib, graphiques (x,y), nuages de points, histogrammes, superpositions de graphes, manipulations courantes (axes, titre, grille, légende, etc.).
 

 




Laboratoires et travaux pratiques

Trois heures de laboratoire par semaine pour un total de 36 heures.




Utilisation d'outils d'ingénierie

S.O.




Évaluation

Les dates de tenue des laboratoires notés indiquées dans ce tableau sont fournies à titre indicatif. En cours de session, votre enseignante ou enseignant vous informera à l’avance de tout changement apporté à l’horaire d’évaluation des laboratoires notés.

 

Évaluation Pondération Groupe 1 Groupe 2 Groupe 3
Labo 1 5 % 2 octobre 2 octobre 2 octobre
Intra 1 20 % 7 octobre 7 octobre 7 octobre
Labo 2 5 % 28 octobre 28 octobre 28 octobre
Intra 2 20 % 6 novembre 6 novembre 6 novembre
Labo 3 7,5 % 20 novembre 20 novembre 20 novembre
Labo 4 7,5 % 4 décembre 4 décembre 4 décembre

Final

35 %

Période des examens finaux


À propos des laboratoires notés :

  • Ils se font en équipe de deux dans la mesure du possible.
  • Ils se font sur l'ordinateur de l'étudiante ou de l'étudiant :
    • L'usage d'un environnement contrôlé (SafeExamBrowser) est obligatoire.
    • L'étudiante ou l'étudiant est responsable d’installer et de vérifier le bon fonctionnement de l’environnement d’examen avant le jour de l’évaluation. Tout problème doit être signalé à l’enseignant(e) au moins 5 jours ouvrables avant l’examen.
  • Aucune documentation n'est permise sauf une copie imprimée de l'aide-mémoire du cours.

À propos des examens intra-trimestriels :

  • Ils se font sur papier.
  • Ils ont une durée de 2 heures.
  • Ils se tiennent durant une séance de cours ou de laboratoire.
  • S'il y a des dispositions supplémentaires, l'enseignante ou l'enseignant vous en informera.
  • Aucune documentation n'est permise sauf l'aide-mémoire qui est fourni en annexe.

À propos de l'examen final :

  • Il se fait sur papier.
  • Il a une durée de 3 heures.
  • Il se tient durant la période des examens finaux.
  • Aucune documentation n'est permise sauf l'aide-mémoire qui est fourni en annexe.

À propos du double seuil :

  • Une note moyenne pondérée de 50 % est exigée pour l’ensemble des évaluations à caractère individuel. Ce seuil est une condition nécessaire à la réussite du cours, mais ne la garantit pas.



Double seuil
Note minimale : 50



Dates des examens intra
# Intra Groupe(s) Date
1 1, 2, 3 7 octobre 2025
2 1, 2, 3 6 novembre 2025



Date de l'examen final
Votre examen final aura lieu pendant la période des examens finaux, veuillez consulter l'horaire à l'adresse suivante : https://www.etsmtl.ca/programmes-et-formations/horaire-des-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.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.



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 l’enseignante ou l’enseignant du cours.



Documentation obligatoire

Aucune.




Ouvrages de références

RÉFÉRENCES UTILES

  • Guttag, John V. Introduction to Computation and Programming Using Python: With Application to Computational Modeling and Understanding Data. MIT Press, 2021.
  • Langtangen, Hans Petter, and Hans Petter Langtangen. A primer on scientific programming with Python. 5th ed., Berlin/Heidelberg: Springer, 2016.
  • Lutz, Mark. Learning python: Powerful object-oriented programming. O'Reilly Media, Inc., 2013.
  • Lutz, Mark. Python Pocket Reference: Python In Your Pocket. O'Reilly Media, Inc., 2014.



Adresse internet du site de cours et autres liens utiles

LIENS INTERNET
 

Les liens proposés ci-dessous sont des versions web de deux références qui, en plus d'être excellentes, sont gratuites :

  • Livre web sur les bases de la programmation en Python intitulé Foundations of Python Programming : cliquez ici
  • Livre web plus avancé qui met l'emphase sur la résolution de problèmes concrets intitulé Problem Solving with Algorithms and Data Structures using Python : cliquez ici



Autres informations

Les séances de cours et de travaux pratiques des cours-groupes dont le mode d'enseignement est hybride sont offertes entièrement à distance. L'étudiante ou l'étudiant inscrit à un tel cours-groupe n'a donc pas besoin de se déplacer à l'école durant la session, sauf lors des évaluations en présence identifiées à la section "Évaluation".