Logo ÉTS
Session
Cours
Responsable(s) Florent Hernandez

Se connecter
 

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

Responsable(s) de cours : Florent Hernandez


PLAN DE COURS

Hiver 2026
INF136 : Introduction à la programmation en Python (4 crédits)


Préalables
Aucun préalable requis.



Description du cours
Ce cours vise à doter la personne étudiante de compétences fondamentales en algorithmique et en programmation, afin dêtre en mesure de résoudre des problèmes scientifiques liés à leur discipline.

Au terme de ce cours, la personne étudiante 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 les étapes nécessaires à la résolution d un problème scientifique;
  • 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 appropriées.


Éléments de contenu : normes de programmation. Structure de base d'un programme.Modules et programmation modulaire.Variables, constantes et types. Entrées/sorties.Expressions et opérateurs. Sous-programmes et paramètres. Structures de contrôle. Collections et structures de données imbriquées. Tableaux à une et deux dimensions.Programmation orientée objet. Encapsulation. Analyse de problèmes et de solutions algorithmiques associées. Algorithmes sur tableaux (tris et fouilles). Chaînes de caractères et expressions régulières. Lecture et écriture de fichiers textes.Visualisation et graphiques. Tests unitaires et débogage.




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.



Informations concernant l’agrément du BCAPG
Ce cours compte 64,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 64,8 UA 100,00 %



Les objectifs de ce cours sont liés aux indicateurs de qualités requises des diplômés de la manière suivante :

Objectif spécifique Qualité Indicateur Niveau d'enseignement
test Q1 . Connaissances en génie i3 . Appliquer les concepts fondamentaux de l’ingénieri Appliqué
analyser les étapes nécessaires à la résolution d’un problème scientifique; Q1 . Connaissances en génie i3 . Appliquer les concepts fondamentaux de l’ingénieri Appliqué
implémenter des algorithmes dans un langage de programmation en respectant les bonnes pratiques de développement logiciel; Q1 . Connaissances en génie i3 . Appliquer les concepts fondamentaux de l’ingénieri Appliqué
implémenter des algorithmes connus, tels que le tri et la fouille; Q1 . Connaissances en génie i3 . Appliquer les concepts fondamentaux de l’ingénieri Appliqué
traiter des fichiers de différents formats en vue de leur analyse; Q1 . Connaissances en génie i3 . Appliquer les concepts fondamentaux de l’ingénieri Appliqué
concevoir des visualisations graphiques à partir des bibliothèques appropriées. Q1 . Connaissances en génie i3 . Appliquer les concepts fondamentaux de l’ingénieri Appliqué



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
Mercredi 13:30 - 16:30 Laboratoire
02 Mardi 13:30 - 17:00 Activité de cours
Vendredi 09:00 - 12:00 Laboratoire
03 Lundi 18:00 - 21:30 Activité de cours
Mercredi 18:00 - 21:00 Laboratoire
04 Mardi 09:00 - 12:00 Laboratoire
Mercredi 13:30 - 17:00 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
04 Stéphane Duval Activité de cours Stephane.Duval@etsmtl.ca B-2520
04 Amal Ben Abdellah Laboratoire Amal.Ben-Abdellah@etsmtl.ca B-2568



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


Informations additionnelles :

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 Gr 1 Gr 2 Gr 3 Gr 4
Labo 1 5 % 28 janvier 30 janvier 28 janvier 27 janvier
Intra 1 20 % 11 fevrier 13 fevrier 11 fevrier 11 fevrier
Labo 2 5 % 18 fevrier 20 fevrier 18 fevrier 24 février
Intra 2 20 % 11 mars 13 mars 11 mars 11 mars
Labo 3 7,5 % 25 mars 27 mars 25 mars 24 mars
Labo 4 7,5 % 15 avril 14 avril 15 avril 14 avril

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’enseignante ou à l'enseignant 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. Seuls les examens intras et final sont utilisés dans le calcul du double seuil. Ce seuil est une condition nécessaire à la réussite du cours, mais ne la garantit pas.



Seuil de passage pour les éléments à caractère individuel

Note minimale : 50



Dates des examens intra
Groupe(s) Date
1 11 mars 2025
1, 3, 4 11 février 2026
2 13 février 2026
2 13 mars 2026
3, 4 11 mars 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.



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

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