Contacts
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: Stefan Cotargasanu (Lundi AM)
Raphaël Tremblay (Mercredi PM)
Section 2: Ely Cheikh Abass (Mardi PM)
Manel Keddam (Jeudi AM)
Section 3: Tristan Rioux (Lundi PM)
Charles De Lafontaine (Jeudi PM)
Section 4: Paul Petibon (Mardi AM)
Julien Bourque (Vendredi AM)
Section 5: Sunnee Chevalier (Mercredi AM)
Meriam Ben Rabia (Vendredi PM)
Section 6: Ghali Chraibi (Mardi soir)
Xavier Caron (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 2024
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/Webex à l’occasion (cours).



Enseignants responsables et personnes-ressources


Nom et courriel

Fonction

Bureau / Atelier

Poste télép.

Jérôme Collin

jerome.collin@polymtl.ca

Coordonnateur et enseignant, toutes les sections

M-4013

5060

Laurent Tremblay

laurent.tremblay@polymtl.ca

Analyste au département de génie informatique et génie logiciel. Aide technique supplémentaire

M-4011

7181

Maude St-Cyr Bouchard

maude.st-cyr-bouchard@polymtl.ca

Coordonnatrice pour le travail en équipe en génie informatique – personne- ressource dans ce cours

C-314.39

5983

Stefan Cotargasanu

stefan.cotargasanu@polymtl.ca

Chargé de laboratoire,

Lundi AM, section 1



Raphaël Tremblay

raphael-1.tremblay@polymtl.ca

Chargé de laboratoire,

Mercredi, PM, section 1



Ely Cheikh Abass

ely-cheikh.abass@polymtl.ca

Chargé de laboratoire,

Mardi, PM, section 2



Manel Keddam

manel.keddam@polymtl.ca

Chargée de laboratoire,

Jeudi AM, section 2



Tristan Rioux

tristan.rioux@polymtl.ca

Chargé de laboratoire,

Lundi PM, section 3



Charles De Lafontaine

charles.de-lafontaine@polymtl.ca

Chargé de laboratoire,

Jeudi PM, section 3



Paul Petibon

paul.petibon@polymtl.ca

Chargé de laboratoire,

Mardi AM, section 4



Julien Bourque

julien.bourque@polymtl.ca

Chargé de laboratoire,

Vendredi AM, section 4



Sunnee Chevalier

sunnee.chevalier@polymtl.ca

Chargé de laboratoire,

Mercredi AM, section 5



Meriam Ben Rabia

meriam.ben-rabia@polymtl.ca

Chargée de laboratoire,

Vendredi PM, section 5



Ghali Chraibi

ghali.chraibi@polymtl.ca

Chargé de laboratoire,

Mardi M, section 6



Xavier Caron

xavier.caron@polymtl.ca

Chargé de laboratoire,

Jeudi M, section 6



Isabella Santacruz

Répétitrice, Sect. 1, Lundi AM



Amélie Simard

Répétitrice, Sect. 1, Mardi AM



Zakarya Khnissi

Répétiteur, Sect. 2, Mardi PM



Abdul-Wahab Chaarani

Répétiteur, Sect. 2, Jeudi PM



Gaëtan Florio

Répétiteur, Sect. 3, Lundi PM



Kais Fallouh

Répétiteur, Sect. 3, Jeudi PM



Julie Malosse

Répétitrice, Sect. 4, Mardi AM



Faneva Rakotoarivony

Répétiteur, Sect. 4, Vendredi AM



Kevin Habchy

Répétiteur, Sect. 5, Mercredi AM



Marc-Antoine Manningham

Répétiteur, Sect. 5, Vendredi PM



Laurent Bourgon

Répétiteur, Sect. 6, Mardi Soir



Zachary Ouellet

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

INF1600 – INF2205

LOG2990


Objectifs d’apprentissage


À la fin du cours, l'étudiant(e) sera en mesure de:


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.


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:



Les livres restent facultatifs. En voici deux contenant l’information théorique répondant aux besoins:



Par contre, vous devrez consulter régulièrement les documents suivants concernant le microcontrôleur ATmega324PA que nous utilisons dans ce projet:



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.


*** Cette information est donnée à titre indicatif seulement. Certains étudiants peuvent avoir besoin d’investir plus ou moins de temps.


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:


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 :


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:

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.