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.

SCI6373 Programmation documentaire

Plan de cours Hiver 2022

Yves MARCOUX - EBSI - Université de Montréal


Table des matières

Informations générales

Objectifs

Description

Évaluation

Calendrier des activités

Règlements, politiques

Modes de communication

Autres règlements et politiques

Bibliographie

Lectures obligatoires (par ordre de lecture dans le cours)

Ressources utiles et/ou amusantes

Références diverses


Informations générales

1: Vous remarquerez que, dans ce cours, la question des épicènes est habituellement réglée par l’utilisation du féminin.


Objectifs

À 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:


Description

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.


Évaluation

Évaluation
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.


Calendrier des activités

Notes : Les contenus et leur répartition entre les cours seront ajustés en cours de session.

Calendrier des activités
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 :
  • AJAX (Asynchronous JavaScript and XML).
  • Principe Model-view-controller (MVC).
  • SaaS (Software as a Service).
  • Modèles de calcul, machines de Turing, concepts d’algorithmique et de complexité.
  • API, bibliothèques logicielles, « frameworks » JavaScript : JQuery, AngularJS, etc.
  • Compilation versus interprétation.
  • Intelligence artificielle, réseaux de neurones artificiels, apprentissage profond.
  • Informatique et cryptographie quantiques.
  • Bitcoin, Blockchains et grands livres distribués (distributed ledgers).
  • Art numérique et NFT (Non-Fungible Tokens).
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)

Règlements, politiques

Modes de communication

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.

Autres règlements et politiques

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


Bibliographie

Réserve du cours à la BLSH

Lectures obligatoires (par ordre de lecture dans le cours)

Ressources utiles et/ou amusantes

Références diverses