Enseignant: |
Jérôme Collin, responsable (local M-4013, poste 5060) |
|
Support technique supplémentaire: | Laurent Tremblay (local M-4011, poste 7181) | |
Chargés de laboratoire: | Section 1: |
Kais Fallouh (Lundi AM) Romain Lebbadi-Breteau (Mercredi PM) |
Section 2: |
Tristan Rioux (Mardi PM) Gaëtan Florio (Jeudi AM) |
|
Section 3: |
Luciano Garin-Iriarte (Lundi PM) Ely-Cheikh Abass (Jeudi PM) |
|
Section 4: |
Dorine Dantrun (Mardi AM) Meriam Ben Rabia (Vendredi AM) |
|
Section 5: |
Amélie Simard (Mercredi AM) Abdul-Wahab Chaarani (Vendredi PM) |
|
Section 6: |
Marc-Antoine Manningham (Mardi soir) Laurent Bourgon (Jeudi soir) |
Ce document est disponible en format PDF.
Plan
de cours
INF1900
- Projet initial de
système embarqué
Département génie
informatique et de génie logiciel
Hiver
2025
3 Crédits
1,5 / 6 / 1,5
https://cours.polymtl.ca/inf1900/
principalement et
https://moodle.polymtl.ca/course/view.php?id=366.
Aussi sur Discord (laboratoires) et Zoom (cours).
Enseignants
responsables et
personnes-ressources
Nom et courriel |
Fonction |
Bureau / Atelier |
Poste télép. |
Jérôme Collin |
Coordonnateur et enseignant, toutes les sections |
M-4013 |
5060 |
Laurent Tremblay |
Analyste au département de génie informatique et génie logiciel. Aide technique supplémentaire |
M-4011 |
7181 |
Maude St-Cyr Bouchard |
Coordonnatrice pour le travail en équipe en génie informatique – personne- ressource dans ce cours |
C-314.39 |
5983 |
Kais Fallouh |
Chargé de laboratoire, Lundi AM, section 1 |
|
|
Romain Lebbadi-Breteau |
Chargé de laboratoire, Mercredi, PM, section 1 |
|
|
Tristan Rioux |
Chargé de laboratoire, Mardi, PM, section 2 |
|
|
Gaëtan Florio |
Chargée de laboratoire, Jeudi AM, section 2 |
|
|
Luciano Garin-Iriarte |
Chargé de laboratoire, Lundi PM, section 3 |
|
|
Ely-Cheikh Abass |
Chargé de laboratoire, Jeudi PM, section 3 |
|
|
Dorine Dantrun |
Chargée de laboratoire, Mardi AM, section 4 |
|
|
Meriam Ben Rabia |
Chargée de laboratoire, Vendredi AM, section 4 |
|
|
Amélie Simard |
Chargée de laboratoire, Mercredi AM, section 5 |
|
|
Abdul-Wahab Chaarani |
Chargé de laboratoire, Vendredi PM, section 5 |
|
|
Marc-Antoine Manningham |
Chargé de laboratoire, Mardi soir, section 6 |
|
|
Laurent Bourgon |
Chargé de laboratoire, Jeudi soir, section 6 |
|
|
Renato Rezende |
Répétiteur, Sect. 1, Lundi AM |
|
|
Christ Bouka |
Répétiteur, Sect. 1, Mercredi PM |
|
|
Aymane Bourchich |
Répétiteur, Sect. 2, Mardi PM |
|
|
Loic Nguemegne Temena |
Répétiteur, Sect. 2, Jeudi AM |
|
|
Nathan Bougie |
Répétiteur, Sect. 3, Lundi PM |
|
|
Romaine Brand |
Répétiteur, Sect. 3, Jeudi PM |
|
|
Mathieu Lambert |
Répétiteur, Sect. 4, Mardi AM |
|
|
Marie Chadid |
Répétiteur, Sect. 4, Vendredi AM |
|
|
Chaïmaa Mesbah |
Répétiteur, Sect. 5, Mercredi AM |
|
|
Arnaud Grandisson |
Répétiteur, Sect. 5, Vendredi PM |
|
|
Ghadi Falouh |
Répétiteur, Sect. 6, Mardi soir |
|
|
Beaurel Fohom Takala |
Répétiteur, Sect. 6, Jeudi soir |
|
|
Description du cours
Construction
en équipe d'un système matériel et logiciel basé sur une carte à
microcontrôleur. Les concepts techniques abordés couvrent la
familiarisation avec les éléments matériels et logiciels et les
interactions requises pour la réalisation et la compréhension d'un
système informatique simple, mais complet avec ses entrées/sorties
et périphériques. La programmation à différents niveaux, la
gestion de configuration, les inspections de code et les tests et les
pratiques de base en programmation sont introduits graduellement.
Qualités du Bureau Canadien d’Agrément des Programmes en Génie (BCAPG)
Dans le cadre de ce cours, les étudiants développeront les qualités précisées dans le tableau ci-dessous (voir https://etudiant.polymtl.ca/etudes/programmes-detudes#qualites-developper-pour-les-etudiants-en-ingenierie et https://www.youtube.com/watch?v=wvIar3GCC14&feature=youtu.be).
Numéro |
Description |
Dans ce cours |
1 |
Connaissances en génie |
Contribution à l’évaluation globale de la qualité par la note du cours |
2 |
Analyse de problème |
Qualité évaluée (CA-N1) |
3 |
Investigation |
Qualité évaluée (CA-N1) |
4 |
Conception |
Qualité évaluée (CA-N1) |
5 |
Utilisation d’outils d’ingénierie |
Qualité évaluée (CA-N1) |
6 |
Travail en équipe |
Qualité évaluée (CA-N1) |
7 |
Communication |
Introduction |
8 |
Professionnalisme |
Introduction |
9 |
Impacts environnementaux |
Introduction |
10 |
Déontologie |
Informel |
11 |
Économie et gestion de projet |
Informel |
12 |
Apprentissage en continu |
Qualité évaluée (CA-N1) |
Lorsqu’une qualité sera évaluée, il sera possible de trouver la grille d’évaluation correspondante dans la section évaluation (https://cours.polymtl.ca/inf1900/evaluation/) du site web du cours (vers le bas de la page).
Dans le cheminement en génie informatique et génie logiciel
Cours préalables |
Cours corequis |
Cours subséquents |
INF1040 |
INF1015 – INF1600 – INF1205 (ou INF2205) |
LOG2990 |
Objectifs d’apprentissage
À
la fin du cours, l'étudiant(e) sera en mesure de:
Concevoir en prenant en compte les concepts techniques de base des disciplines du génie informatique et du génie logiciel;
Appliquer les méthodes de réalisation de systèmes informatiques généralement acceptées;
Identifier quelques concepts de base de développement durable, particulièrement ceux en rapport avec l'utilisation de substances rares dans les pièces électroniques;
Démontrer une capacité à fonctionner efficacement en tant que membre ou chef d'une équipe de travail;
Utiliser régulièrement des outils de développement logiciel de base: Makefile, bibliothèques logicielles et d'entrepôt (Git);
Communiquer
efficacement les réalisations du travail du projet de session;
Utilité du cours
Ce
cours permettra à l'étudiant de mettre en contexte différents
concepts abordés dans les cours des deux premières sessions. Le
projet proposé entraînera une réalisation concrète. Il permettra
à l’étudiant d’apprendre à travailler efficacement en équipe,
de maîtriser les étapes de la réalisation d’un système
matériel-logiciel, et de comprendre les interrelations entre les
composants d’un système matériel-logiciel de base. De façon
plus spécifique, l’étudiant réalisera l’importance d’un
développement systématique s’appuyant sur un processus reconnu.
Méthodes
d'enseignement et
d’apprentissage
La
méthode d’enseignement prônée dans ce cours s’appuie sur la
pédagogie de projet en permettant à l’étudiant d’être le
principal artisan de son apprentissage.
Le principal
objectif de notre projet est qu’il soit mobilisateur pour les
étudiants en les orientant vers une réalisation concrète. Il
sollicite les ressources cognitives et favorise leur intégration de
manière à produire un contexte d’action nécessaire au
développement des compétences. Le projet permet de justifier les
apprentissages en sollicitant des pratiques et des compétences qui
utilisent des savoirs.
Dans le cadre de ce projet, nous
offrons à l’étudiant un environnement de résolution de problèmes
basé sur la règle des trois C: Contexte, Construction et
Collaboration. Le premier C, le contexte, précise que le problème
soumis à l’étudiant se situe dans un contexte authentique et
accessible. Cette préoccupation mise sur la motivation personnelle
de l’étudiant. Le deuxième C, la construction, indique que
l’étudiant construira sa connaissance à partir d’activités
signifiantes. Finalement, le troisième C, la collaboration, tente de
tirer avantage de la collaboration avec les pairs. La collaboration
aidera le processus de construction de la connaissance puisque
l’étudiant pourra examiner des perspectives alternatives à sa
solution, ce qui pourrait l’amener à reconstruire ses propres
perspectives et conséquemment ses solutions.
Formation
des équipes
La
formation des équipes de deux se fera obligatoirement durant la
première semaine du cours. Dès que deux étudiants sont d'accord
pour former une équipe, le responsable du cours en prend note selon
la procédure qu’il aura communiquée précédemment.
La formation d'équipes de quatre, par réunion de deux équipes de
deux, sera réalisée après
quelques semaines de cours.
Évaluation
Nature |
Nombre |
Pondération |
Semaine visée |
QRD* |
Examen sur Moodle |
1 |
30% |
6 |
2.3 et 12.1 |
Entrevue de laboratoire |
1 |
10% |
9 |
3.6 |
Programmes à remettre |
3 |
15% |
2 – 6 – 14 |
|
Rapport et code de librairie |
1 |
10% |
7-8 |
5.3 |
Épreuve de parcours |
1 |
35% |
14 |
4.3 |
* Qualité Requise des Diplômé.es
Évaluation
par les pairs
La
note finale de chaque étudiant est multipliée par un facteur
d’implication ou de contribution. Ce facteur est déterminé à
l’aide d’un formulaire que chaque membre de l’équipe doit
compléter appelé évaluation par les pairs. La valeur du facteur
est comprise dans l’intervalle ] 0 , 1 ].
Détails des évaluations de la partie technique
- Examen sur Moodle:
Lors
de l'évaluation sur MoodleExamen, l’étudiant doit répondre à
une série de questions de façon individuelle et visant à vérifier
sa compréhension de concepts théoriques et des activités réalisées
en laboratoire.
- Entrevue de laboratoire:
Lors
de l’entrevue de laboratoire, l’équipe doit répondre à une
série de questions visant à vérifier sa capacité à effectuer des
liens entre les notions théoriques, l’activité réalisée et le
travail en équipe.
- Programme:
Tout
au long de la session, les étudiants rédigeront des programmes.
L’étudiant pourra vérifier l’exactitude de son programme par
l’observation du résultat ou du fonctionnement attendu du robot.
Le correcteur vérifiera, pour sa part, que la rédaction du
programme respecte et exploite adéquatement les concepts
fondamentaux de la programmation.
- Rapport et code de
librairie :
Un
rapport d’équipe devra être rédigé. Ce rapport présentera les
résultats lors de l’union du code de deux équipes pour en former
qu’une seule de quatre étudiants. Le travail sera la réalisation
d'un exercice sur les «Makefiles». Le rapport expliquant la
réalisation du système de compilation développé. Le code est
également corrigé. Cette évaluation inclut le travail de deux
semaines de travaux pratiques en laboratoire lors des semaines 7 et
8.
-
Épreuve parcours:
Le robot doit, à la fin de la session,
pouvoir compléter un parcours en respectant certaines règles.
Critères d’évaluation
Les critères de corrections seront introduits avec chaque travail à effectuer. Les critères varieront selon la nature du travail demandé. Beaucoup de grilles d’évaluation sont disponibles et regroupées dans la section évaluation du site web du cours.
Retard lors des remises de travaux
Aucun retard n’est permis pour les remises. Un retard, aussi minime soit-il, entraîne la note zéro pour ce travail directement. L’utilisation de l’outil de développement logiciel Git devrait permettre de travailler de façon incrémentale pour arriver à soumettre une solution au moins partielle avant même la date limite et d’espérer récolter une bonne portion des points sans soumettre l’entièreté du code à la dernière minute. Rien n’empêche d’améliorer le résultat jusqu’à la date et l’heure limite pour autant avec Git. Cette façon de procéder par étapes et continuellement correspond également à une méthode de développement logiciel attendue dans le cadre du cours. Aucune remise de travaux par courriel, par clef USB, par Moodle, par Discord ou autres systèmes de messages n’est acceptée.
Personnes-ressources
Toutes les personnes mentionnées au haut du plan de cours peuvent servir de personnes-ressources à divers moments et pour diverses situations. L’accompagnement dans un projet intégrateur de première année est important et le personnel enseignant y accorde une attention particulière. Il est toujours possible de les contacter pour une rencontre pour de l’aide dans une situation particulière.
Documentation
L’information
principale pour la réalisation des travaux se trouve dans les sites
électroniques du cours à l’adresse:
site web du cours: https://cours.polymtl.ca/inf1900/
site Moodle et https://moodle.polymtl.ca/course/view.php?id=366
Les livres restent facultatifs. En voici deux contenant l’information théorique répondant aux besoins:
John F. Wakerly, Digital Design Principles and Practices, Prentice-Hall, 4ème édition, Upper Saddle River, New Jersey, 2005, 895 p.
Yves Boudreault et Wacef Guerfali, C++ Résoluation de problèmes et programmation, 3ème édition, Presses Internationales Polytechnique, Montréal, Québec , 2009, 691 p.
Par
contre, vous devrez consulter régulièrement les documents suivants
concernant le microcontrôleur ATmega324PA que nous utilisons dans ce
projet:
Microchip Technology, 8-bit Atmel Microcontroller with16/32/64/128K Bytes In-System Programmable Flash – ATmega164A/PA/324A/PA/644A/PA/1284/P, http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8272-8-bit-AVR-microcontroller-ATmega164A_PA-324A_PA-644A_PA-1284_P_datasheet.pdf 659 p.
AVR Lib C, description de l'interface de programmation de la librairie C adaptée aux microcontrôleur RISC 8 bits AVR de Atmel, http://www.nongnu.org/avr-libc/user-manual/index.html
Vous
trouverez dans le site web du cours une liste complémentaire de
documents d’intérêt.
Programme
du cours et
calendrier
Ce
cours est constitué uniquement de séances de laboratoire. Le but
ultime est d'arriver à faire fonctionner un robot de façon
autonome. Cet objectif sera atteint par étapes et de façon
progressive durant la session.
Sem. |
Sujet (laboratoire et cours) |
Activité |
Évaluation |
Activités par équipe de deux étudiants uniquement |
|||
1 |
Introduction à la carte mère au simulateur SimulIDE, au microcontrôleur et à l'environnement de développement logiciel Aperçu du montage |
Écriture des premiers programmes. Établissement de matériel dans le simulateur. |
|
2 |
Machines à états finis de façon logicielle |
Deux exercices exploitant le microcontrôleur |
Correction des programmes |
3 |
Le PWM logiciel permettant le contrôle des moteurs |
Deux exercices dont un doit permettre de faire tourner un moteur dans le simulateur |
|
4 |
Introduction aux ressources internes du microcontrôleur. Scrutation et interruptions |
Exercices par code à compléter |
|
5 |
Accès à une mémoire externe et communication RS232 |
Exercices de communication avec un PC et une mémoire |
Vérification des opérations sur la mémoire et quiz la semaine suivante (à revoir) |
6 |
Conversion analogique/numérique et capteurs |
Exercice avec une photorésistance et un interrupteur |
Correction des programmes |
Activités par équipes de quatre uniquement |
|||
7 |
Makefile et bibliothèques logicielles |
Construction d’une bibliothèque. |
|
8 |
Stratégies de débogage |
Ajout à la bibliothèque de la semaine précédente |
Correction de la bibliothèque et du rapport qui devra l’accompagner |
9 |
Trajectoire préprogrammée |
Lire, interpréter et exécuter des instructions en mémoire correspondant à un parcours à suivre |
Vérification du comportement du système et entrevues de laboratoire la semaine suivante |
10-13 |
Système autonome complet en mode projet |
Le robot doit effectuer des épreuves en détectant des objets dans son environnement immédiat |
Suivi des équipes par le responsable |
14 |
Remise du code et du système complet |
|
Évaluation du système complet Remise du code final |
Charge de travail
La charge de travail peut varier quelque peu de semaine en semaine dans ce cours. Tout de même, comme dans tout projet intégrateur, un travail constant et régulier est attendu de tous les membres d’une équipe. Le but étant d’éviter un déséquilibre dans la compréhension des concepts importants du projet parmi les membres de l’équipe et de s’assurer d’une implication de tous à l’effort d’équipe et à l’atteinte des objectifs du cours. Dans cette perspective, un respect des heures imposées par le triplet-horaire du cours est attendu de chaque étudiant. De façon plus précise, environ 9 heures de travail par semaine sont attendues en moyenne pour la réalisation de ce cours-projet.
Approche pédagogique
J’entends
et j’oublie.
Je vois et je me souviens.
Je fais et je
comprends.
- Confucius
Les
travaux pratiques sont privilégiés dans le développement de
compétences en travail d’équipe, car ses apprentissages
impliquent une modification du comportement, des perceptions, des
valeurs et des attitudes. Le principe privilégié est l’expérience
vécue considérée comme le principal moteur de changement chez une
personne. Puisque l’action sans réflexion n’est que répétition
des mêmes erreurs, une analyse personnelle doit suivre l’action
pour permettre une réorganisation des façons de penser et ouvrir
sur des pistes de changement. Une grille des retours oriente cette
réflexion.
L’approche orientée vers les solutions
s’avère un moyen pédagogique stratégique, car elle vise à ce
que l’étudiant effectue «une prise en charge de ses
apprentissages». Ainsi, l’étudiant(e) est amené à se mobiliser
vers le changement de façon graduelle et concrète. Il apprend à se
visualiser avec des habiletés de communications efficaces et à
identifier les premiers gestes concrets à mettre en pratique pour
atteindre les comportements souhaités. Une grille de l’approche
orientée vers les solutions dirige l’étudiant(e) en ce
sens.
Enfin, à l’aide de ses compétences et outils de
travail en équipe, l’étudiant sera appelé à les intégrer dans
le cadre du génie informatique et logiciel. Ainsi, au cours de la
session, l’étudiant aura un premier contact avec son domaine
d’étude et sera amené à analyser un projet de conception et à
établir les liens entre les principes de base impliqués. Cet
objectif sera atteint par la présentation les livrables. Le projet
intégrateur permettra ainsi à l’étudiant d’intégrer ses
compétences de travail en équipe et celles de chacun de son groupe
afin de créer une synergie permettent au bout du compte une
expérience intéressante, enrichissante et en ressortir grandi.
Les
diverses méthodes d’enseignement utilisées dans ce cours:
l'enseignement magistral
l'enseignement par les pairs
le travail en équipe
le travail personnel
Fraude: infractions et sanctions
En tant que futur ingénieur, l’étudiant doit adopter une attitude professionnelle exemplaire. L’article 8 des règlements des études au baccalauréat présente la position de Polytechnique Montréal à l’égard de la fraude sur la base du principe de tolérance zéro. Voici quelques éléments de cet article tirés de l’annuaire.
Par fraude, on entend toute forme de plagiat, de tricherie ou tout autre moyen illicite utilisé par l'étudiant pour obtenir un résultat d’évaluation non mérité ou pour influencer une décision relative à un dossier académique.
À titre d’exemple, constituent une fraude :
l’utilisation totale ou partielle, littérale ou déguisée, d’une œuvre d’autrui, y compris tout extrait provenant d’un support électronique, en le faisant passer pour sien ou sans indication de référence à l’occasion d’un examen, d’un travail ou de toute autre activité faisant l’objet d’une évaluation;
le non-respect des consignes lors d’un contrôle, d’un examen, d’un travail ou de toute autre activité faisant l’objet d’une évaluation;
la sollicitation, l’offre ou l’échange d’information pendant un contrôle ou un examen;
la falsification de résultats d’une évaluation ou de tout document en faisant partie;
la possession ou l’utilisation pendant un contrôle ou un examen de tout document, matériel ou équipement non autorisé y compris la copie d’examen d’un autre étudiant;
Selon la gravité de l’infraction et l’existence de circonstances atténuantes ou aggravantes, l’étudiant peut se voir imposer une sanction correspondant à, entre autres, l’attribution de la cote 0 pour l’examen, le travail ou toute autre activité faisant l’objet d’une évaluation qui est en cause, l’attribution de la note F pour le cours en cause, l’attribution de la note F à tous les cours suivis au trimestre.
Dans le cas d’un travail en équipe, les étudiants d’une même équipe de travail tel que reconnu par l’enseignant sont solidaires du matériel produit au nom de l’équipe. Si un membre de l’équipe produit et remet un travail au nom de l’équipe et qu’il s’avère que ce travail est frauduleux, tous les membres de l’équipe sont susceptibles de recevoir une sanction à moins qu’il soit démontré sans ambiguïté que l’infraction est le fait d’un ou de quelques membres de l’équipe en particulier.
Laboratoires sur la plate-forme Discord
La plate-forme Discord (https://discord.com/) sera utilisée durant les laboratoires. Comme le cours sera en présentiel, son utilisation sera moins importante que pour une cours à distances. Tout de même, pour regrouper un ensemble de réponses à des questions et regrouper des informations utiles, elle est utile en présentiel. La plate-forme pourrait prendre de l’importance si la majorité de l’enseignement devait revenir à distance en cours de session pour des raisons d’urgence.
Un accès vous sera transmis lors de la première séance de cours. Il y a des règlements visant à préserver l’harmonie dans cet endroit de discussions et de rencontres:
On doit impérativement changer son nom pour lui donner une forme précise de façon à pouvoir être bien identifiable sur le site: <no-d’équipe>-<PrénomNom>. Donc, par example, 34-JérômeCollin;
Avoir un langage correct et un respect dans les commentaires, questions et explications placées sur le site;
Respecter le sujet pour lequel chaque section du site est prévu. Le sujet d’un salon s’affiche en haut au centre lorsqu’on le sélectionne avec la souri;
Le non respect des règles pourra amené une exclusion du site, et même une exclusion du cours directement. Le nombre élevé d’inscrits fait en sorte que la discipline doit être conservée pour favoriser l’apprentissage et le travail efficace. Vous remarquerez aussi que le nom des chargés et répétiteurs est en rouge pour marquer leurs rôles.
Remarques complémentaires
Une
équipe ne fonctionne bien que si tous ses membres épaulent le
travail de l’équipe. En effet, chacun des membres,
individuellement, est responsable du succès de l’équipe,
collectivement. L’approche pédagogique et les évaluations de ce
cours nécessitent donc la participation active de tous les membres
d’une équipe. Un étudiant dont la participation sera jugée
insuffisante par ses co-équipiers et par l’enseignant, suite aux
tentatives du groupe pour améliorer la situation, se verra exclu de
son équipe et pourra obtenir la note F (échec).
Aussi, les règlements sur les restrictions pour une inscription tardive (6.5) ou pour un abandon après inscription (6.6) seront surveillés de très près suivant la modalité d'application M13 prévue pour les cours projets, dont INF1900.