Logo ÉTS
Session
Cours
Responsable(s) Pierre Bélisle, Anis Boubaker

Se connecter
 

École de technologie supérieure
Service des enseignements généraux
Responsable(s) de cours : Pierre Bélisle, Anis Boubaker


PLAN DE COURS

Été 2019
INF135 : Introduction à la programmation en génie mécanique (4 crédits)



Préalables
Aucun préalable requis
Unités d'agrément
Total d'unités d'agrément : 64,8 100,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
Cours destiné aux étudiants n’ayant jamais programmé et possédant des notions de base en algèbre matricielle et en calcul. Initier au fonctionnement d’un ordinateur et acquérir des connaissances permettant de résoudre des problèmes concrets reliés aux projets d’ingénierie.

Présentation de la structure et du fonctionnement d’un ordinateur : matériel, logiciel. Initiation à l’algorithmie et à la programmation structurée : étapes de résolution d’un problème, méthodes de conception. Introduction à Matlab® et à son langage : structure d’un programme, mémoire et variables, instructions de base, instructions de décision et de contrôle, procédures et fonctions, passage de paramètres, vecteurs, matrices (sous-matrices, creuses et logiques), chaînes de caractères, graphiques, enregistrements et manipulation de fichiers. Résolution de problèmes à l’aide des matrices : méthodes de résolution numérique et optimisation.

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



Objectifs du cours

Ce cours a pour objectif de procurer à l’étudiant les notions de base de la programmation moderne afin qu’il puisse solutionner des problèmes reliés à sa discipline.

 

L’outil de programmation employé est Matlab®.  Le cours met l'accent sur la résolution de problèmes à représentations matricielles, ce qui nécessite une connaissance de base de l’algèbre linéaire et du calcul.

 

De façon plus spécifique, ce cours permet à l'étudiant de :

  • concevoir des algorithmes pour résoudre des problèmes de nature scientifique;
  • bien connaître le langage de programmation venant avec Matlab®;
  • faire quelques expériences en simulation numérique;
  • connaître de façon générale l’environnement Matlab®.



Stratégies pédagogiques

Le cours se compose de :

 

3 heures et demie de cours par semaine

3 heures de laboratoire par semaine

 

Les laboratoires visent :

  • l’assimilation par l’expérience des notions vues aux cours;
  • le développement de programmes spécifiés en travaux pratiques.



Utilisation d’appareils électroniques

Micro-ordinateur.




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



Coordonnées de l’enseignant
Groupe Nom Activité Courriel Local Disponibilité
01 Pierre Bélisle Activité de cours Pierre.Belisle@etsmtl.ca B-2524
01 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca B-2326
01 Simon Pichette Laboratoire simon.pichette@etsmtl.ca A-2608
02 Frédéric Simard Activité de cours Frederic.Simard@etsmtl.ca B-2568
02 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca B-2326
03 Julien Le Roux Activité de cours julien.leroux@etsmtl.ca B-2568
03 Francis Bourdeau Laboratoire Francis.Bourdeau@etsmtl.ca B-2326



Cours

Ce tableau est donné à titre indicatif. Pour des raisons pédagogiques, votre enseignant peut modifier l’ordre de présentation des notions.

 

Notions

Description du fonctionnement du cours et des différentes ressources disponibles à l’étudiant (enseignants, site web, livres).

 

Environnement Matlab® : Espace de travail, ensemble des fenêtres, aide et débogueur, présentation des fichiers de script.

 

Présentation des notions élémentaires de programmation : types, opérateurs, variables, entrées/sorties de base : input au clavier et disp/fprintf à l’écran,  validation minimale de données, définition d’un langage faiblement typé. Instructions conditionnelles et itératives.

 

Description de la qualité de programmation attendue : commentaires, indentation, utilisation de constantes symboliques et nomenclature des identificateurs. Étapes de conception d’un programme.

 

Fonctions : Déclaration, définition et standardisation du commentaire, Réutilisation, l’importance de la factorisation.

 

Passage de paramètres par valeur, portée et durée de vie des variables.

 

Variation possible du nombre de paramètres effectifs et de valeurs de retour (nargin et nargout).

 

Chaînes de caractères : Création, accès, modification de taille, sous-chaînes et fonctions prédéfinies.

 

Tableaux : Création, accès, modification de taille, sous-tableaux et fonctions prédéfinies (numel, size, …).

 

Algorithmes sur tableaux : recherche, dénombrement, tri,  etc. Un exemple, la représentation des polynômes : Programmation des opérations de base, calcul de racines, dérivation et intégration.

 

Programmation de tableaux à deux dimensions, matrices, sous-matrices, matrices et scalaires, inversion et transposition, matrices creuses, ...

 

Opérateurs matriciels et fonctions équivalentes en Matlab® Chaînes de caractères : saisie, concaténation, fonctions de conversion, de comparaison, de recherche et de remplacement.

 

Types définis par le programmeur: Les enregistrements de Matlab®  (struct).

 

Les classes obtenues du mot réservé classdef (Matlab®2008).

 

Fichiers : présentation des fonctions de gestion, de lecture et d’écriture dans les fichiers texte ou binaire. Graphiques : à deux dimensions, à plusieurs courbes, à trois dimensions.




Laboratoires et travaux pratiques

Trois heures de laboratoire par semaine (36 heures).

Laboratoires :

  • Chaque semaine des exercices sont proposés pour comprendre la théorie de la semaine en vu de la réalisation des travaux pratiques.  Les laboratoires ne sont pas à remettre mais nous supposons que l'étudiant les réalise.  Nous pouvons les utiliser en référence dans les cours, les examens et/ou dans les travaux pratiques.



Utilisation d'outils d'ingénierie

S.O.




Évaluation

Ce tableau est donné à titre indicatif. En cours de session, votre enseignant vous fera part à l’avance de tout changement à l’horaire d’évaluation.

 

Évaluation

Pondérations

Semaine

Gr. 1

Gr. 2

Gr. 3

Examen intra 1

10%

5

 30 mai

27 mai

28 mai

Travail pratique 1

10%

5

28 mai

30 mai

28 mai

Examen intra 2

15%

9

27 juin

26 juin

21 juin

Travail pratique 2

15%

9

25 juin

27 juin

25 juin

Travail pratique 3

15%

13

30 juillet

31 juillet

30 juillet

Examen final

35%

Période des examens finaux

 

À propos des travaux pratiques :

  • Les travaux pratiques visent à mettre en application, dans le cadre d'un problème réaliste, les concepts et les méthodes de programmation enseignés pendant les cours théoriques. Il est attendu des étudiant-e-s de produire des travaux qui permettent de résoudre le problème de l'énoncé MAIS SURTOUT de les réaliser selon les standards de qualité et les bonnes pratiques enseignés (respect des normes, décomposition en sous-programme/modules, etc.). La cohérence et l'optimalité des algorithmes implémentés constituent également des critères importants qui seront considérés. En tout état de cause, la note attribuée à l'exécution correcte du programme ne pourra excéder 40% de la note globale d'un travail pratique.
  • Pour chaque travail pratique, l’enseignant indiquera sur l’énoncé s’il doit être réalisé en équipe et, si tel est le cas, la taille de l’équipe. Une équipe ne doit remettre qu’un seul rapport.
  • Il est à noter que pour les travaux en équipe, chaque membre recevra une note inférieure ou égale à la note obtenue par l'équipe. Cette note individuelle est directement proportionnelle à l'implication de l'individu. La méthode d’évaluation de l’implication de chaque individu est laissée à la discrétion de l’enseignant.

 

À propos de l'examen final :

  • L'examen final est d'une durée de 3 heures.
  • Aucune documentation n'est permise, outre une même feuille de référence fournie en annexe, pour tous les groupes du cours.
  • Aucun appareil électronique n’est permis.

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.



Dates des examens intra
# Intra Groupe(s) Date
1 1 30 mai 2019
1 2 27 mai 2019
1 3 28 mai 2019
2 1 27 juin 2019
2 2 26 juin 2019
2 3 21 juin 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).



Plagiat et fraude
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/A-propos/Direction/Politiques-reglements/Infractions_nature_academique.pdf ) 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

Aucune documentation obligatoire.




Ouvrages de références

CHAPMAN, Stephen J., Matlab® Programming for Engineers 2nd edition, Brooks/Cole, 2002, 478 pages.(en vente à la COOP)

L’auteur a écrit ce livre de façon à ce que les 6 premiers chapitres du livre forment un cours de neuf semaines sur l’introduction à la programmation et la résolution de problèmes. Il met constamment l’accent sur la qualité du code et l’approche descendante. Il renferme plusieurs exercices accompagnés de leur solution.

 

HANSELMAN, Duane et Bruce LITTLEFIELD, Mastering Matlab 6 A Comprehensive Tutorial and Reference, Prentice Hall, 2001, 814 pages.

L’absence d’exercices en fait davantage une référence qu’un outil d’apprentissage. Malgré tout, il couvre l’ensemble des notions présentées en classe et même plus.




Adresse internet du site de cours et autres liens utiles

https://ena.etsmtl.ca/course/view.php?id=539