Historique des mises à jour :
2022-01-18 :
Mise en ligne initiale.
2022-02-12 … 2022-04-06 : Modifié le calendrier des activités pour refléter les contenus réels des
cours.
Les éléments modifiés sont présentés avec cette
couleur de fond.
Copyright © 2022 Yves MARCOUX; dernière modification de cette page: 2022-04-06.
Plan de cours Hiver 2022
Yves MARCOUX - EBSI - Université de Montréal
Horaire et locaux : Mardi de 13h à 15h50 au C-2043 Pavillon Lionel-Groulx. Certains travaux de laboratoire s’effectuent à l’intérieur de la même plage horaire et au même endroit.
Cours de trois crédits, ce qui correspond à 135 heures de travail pour l’étudiante1.
Description officielle du cours :
Introduction à la programmation procédurale et orientée-objet. Développement d’applications documentaires dans un langage de scriptage orienté-objet. Aperçu d’autres langages. Notions d’algorithmique et de complexité. Préalables: (SCI6001 ou SCI6002) et SCI6005.
Professeur : Yves MARCOUX <ymarcoux@gmail.com>.
Modalités :
1: Vous remarquerez que, dans ce cours, la question des épicènes est habituellement réglée par l’utilisation du féminin.
À la fin du cours, l’étudiante possédera les rudiments de la programmation procédurale et orientée-objet moderne. Plus spécifiquement, l’étudiante:
Le cours est une introduction à la programmation dans les environnements de scriptage. Le principal langage utilisé est le JavaScript. Une progression de travaux pratiques permet d’intégrer les connaissances acquises. Les étudiantes sont aussi appelées à explorer un autre langage ou environnement de programmation (de type scriptage ou non).
L’accent est mis sur le scriptage de pages Web pour exécution en navigateur côté client, mais l’exécution côté serveur sera aussi touchée (si possible avec accès à une base de données), de même que le scriptage au niveau du système d’exploitation.
Le cours SCI6005 Information numérique et informatique documentaire est préalable. Ce préalable est précisé plus avant dans la lecture Introduction au cours, à faire la première semaine de cours.
Plusieurs exercices non évalués sont donnés au cours de la session, en plus de travaux pratiques. Il est essentiel de faire tous les exercices proposés au fur et à mesure de façon à ne pas « décrocher ».
Le langage ou environnement choisi pour exploration doit être approuvé par le
professeur suivant un protocole qui sera présenté en classe. Ce peut être une
occasion d’explorer dans des projets amusants les ressources programmables des
laboratoires d’informatique documentaire de l’EBSI, comme le micro:bit,
le Raspberry Pi et le Arduino.
| Activité | Pondération |
|---|---|
| 🛠 TP 1 : Rallye de bienvenue* | 5% |
| ❔ Trois « mini-quiz » sur StudiUM (3 × 10%)* | 30% |
| 🛠 TP 2-6 : Projets de programmation (5 × 10%) | 50% |
| 🛠 Exploration et présentation devant la classe d’un langage ou environnement | 15% |
*Les évaluations marquées d’un astérisque sont individuelles. Les autres sont réalisées en équipes de deux personnes, mais celles qui le souhaitent peuvent aussi travailler individuellement (SVP, en aviser le professeur le plus tôt possible).
Il n’y a pas de rapport à rendre pour le travail d’exploration d’un langage ou environnement. L’évaluation est basée sur la prestation de la présentation et sur le matériel présenté, que vous devez déposer dans StudiUM.
Le respect des directives données dans les protocoles de travaux est un critère d’évaluation.
Voir ici la méthode de calcul de la note finale du cours.
Pour vous aider à suivre l’évolution des vos résultats au cours du trimestre, et notamment connaître les notes requises dans les évaluations à venir pour atteindre une cote donnée, un Évaluateur de réussite est disponible. N’hésitez pas à l’utiliser.
Notes : Les contenus et leur répartition entre les cours seront ajustés en cours de session.
| Date – Cours | Contenu |
|---|---|
| 2022-01-11 – C1 | Logistique/ressources du cours / Prérequis / Qu’est-ce que la programmation / Pourquoi programmer ? / Programmation et société / End-user programming / Programmation et écriture/esthétique / Ce cours et ses choix / Votre premier script ! |
| 2022-01-18 – C2 | Éléments HTML <script> / Conversions
automatiques / Opérations mixtes / Arbres d’exécution simples / Interactions
de base / Votre deuxième script.
|
| 2022-01-19 mercredi 23:55 | 🛠 5% Remise : TP 1 Rallye de bienvenue (travail individuel) |
| 2022-01-25 – C3 | Arbres d’exécution – suite / Opérateurs booléens, opérations sur les chaînes, if-else, auto-réassignations, conversions explicites, comparaisons mixtes. |
| 2022-01-26 semaine | ❔ 10% Mini-quiz 1 |
| 2022-02-01 – C4 | Bonne pratique pour if et if-else / Fichiers JS séparés / Aides à la programmation / Patrons de conception (PC) / Méthode de travail / Fonctions définies par la programmeuse (FDP) / Valeurs JS quelconques comme booléens / Retour sur OU et ET booléens. |
| 2022-02-02 mercredi 23:55 | 🛠 10% Remise : TP 2 |
| 2022-02-08 – C5 | Incrémentations, décrémentations / Boucles while,
organigrammes / PC « balayage d’une structure » sur une chaîne de
caractères. |
| 2022-02-15 – C6 | Déclarations de variable, variables locales / Objets document et éléments HTML / Dynamisme par propriétés et classes CSS / Entrées par formulaire. |
| 2022-02-16 mercredi 23:55 | 🛠 10% Remise : TP 3 |
| 2022-02-22 – C7 | Bibliothèque bib-6373.js / Bonne pratique avec
while / Propriétés innerText et
innerHTML / Comparaison de chaînes / Tableaux. |
| 2022-02-23 semaine | ❔ 10% Mini-quiz 2 |
| 2022-03-01 | Semaine d’activités libres — Pas de cours |
| 2022-03-08 – C8 | Tableaux complexes / Tri d’un tableau. |
| 2022-03-15 – C9 | Outils de débogage en navigateur / Structure de contrôle
for / Travail sur les textes.
|
| 2022-03-16 mercredi journée | 🛠 10% Remise : TP 4 |
| 2022-03-22 – C10 | Cours annulé (grève). |
| 2022-03-29 – C11 | Affichage par nouvel onglet (pop-up), Gestion d’événement, Désaccentuation, Objets non typés, JSON |
| 2022-03-31 semaine | ❔ 10% Mini-quiz 3 |
| 2022-04-05 – C12 | Graphisme avec l’API canvas. |
| 2022-04-06 mercredi 23:55 | 🛠 10% Remise : TP 5 |
| 2022-04-12 – C13 | Traitements côté serveur et accès à une base de données.
Scriptage au niveau du système d’exploitation, accès aux fichiers
locaux. Si le temps le permet, choix de thèmes parmi les suivants :
|
| 2022-04-19 – C14 | 🛠 15% Exploration d’un langage ou environnement : Présentations
étudiantes Si le temps le permet, choix parmi les thèmes mentionnés sous C13. |
| 2022-04-21 jeudi 23:55 | 🛠 10% Remise : TP 6 |
| 2022-04-26 – C15 | Retour sur le TP 6. |
| 2022-04-29 vendredi 23:55 Dernier jour de la session |
🛠 Remise : Exploration d’un langage ou environnement (matériel de présentation) |
Le mode de communication privilégié du professeur vers vous est la section Messages du professeur de la page StudiUM du cours.
Le professeur peut également vous joindre par courriel. L’adresse utilisée sera celle enregistrée dans Mon accès UdeM; assurez-vous qu’elle soit valide et fonctionnelle en tout temps. SVP, lire votre courriel tous les jours.
Le mode de communication privilégié pour joindre professeur est le courriel. L’adresse courriel du professeur est <ymarcoux@gmail.com>. SVP, inscrire la mention [SCI6373] (incluant les crochets) au début de la ligne sujet de votre message.
Vous êtes aussi encouragée à poser des questions dans le forum Vos questions-réponses sur la page StudiUM du cours.
Tous les règlements, politiques et directives énoncés dans le Guide étudiant de la MSI s’appliquent, incluant le Code d’honneur de l’EBSI. Une attention particulière est à porter aux éléments suivants :
Travaux en équipe
Pour les travaux réalisés en équipe, le professeur
se réserve le droit d’évaluer séparément chaque membre d’une équipe.
Règlement disciplinaire sur le plagiat ou la fraude concernant les
étudiants
Toute infraction au règlement sur le plagiat ou la fraude sera
traitée suivant la procédure indiquée dans le règlement.
Retard dans la remise des travaux
Tout retard non justifié dans la
remise d’un travail sera sanctionné : 5% de la note est retranché par jour de
calendrier de retard jusqu’à un maximum de 35%; à la 8ième journée de calendrier, la
note F ou zéro (0) est attribuée.
Qualité de la langue
Un maximum de 10% de la note globale d’un
travail pourra être retranché pour mauvaise qualité de la langue dans les travaux
(ne s’applique pas aux quiz).
freeCodeCamp, 2020-04-04.C’est la spécification ultime du JavaScript, mise à jour pratiquement à chaque année. Malheureusement, illisible pour les non spécialistes.