EBSI - Plan du cours SCI6373 - Programmation documentaire (Été 2025) Passer au contenu

/ École de bibliothéconomie et des sciences de l'information

Je donne

Rechercher

Navigation secondaire

Plan du cours SCI6373 - Programmation documentaire (Été 2025)

3 crédits

Préalables : SCI6001 ou SCI6002, SCI6005

Professeur : Yves Marcoux
Courriel : yves.marcoux@umontreal.ca

Site Web du cours : https://cours.ebsi.umontreal.ca/SCI6373/E2025/


Les cours se donnent le matin (9h-12h) et/ou l'après-midi (13h30-16h30) sur quinze demi-journées entre le 26 mai et le 6 juin 2025.


Description officielle

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

Objectifs d'apprentissage

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

  1. Comprendra le concept de scriptage en général et dans le contexte du Web en particulier.  
  2. Comprendra l'articulation client-serveurs du point de vue programmatique.  
  3. Pourra développer à partir de zéro des scripts pour des traitements simples.  
  4. Pourra adapter des scripts complexes existants.

Méthodes pédagogiques

Modalités :

  • Les cours ont lieu en présentiel.
  • Les mini-quiz ont lieu pendant les périodes en classe.
  • Des activités supervisées de laboratoire ont lieu pendant les périodes en classe.

Cours de trois (3) crédits, ce qui correspond à 135 heures de travail pour l’étudiante1 : 45 heures en classe + 90 heures de travail personnel.

Lien vers la page StudiUM du cours.

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

Contenu du cours

Le cours est une introduction à la programmation dans les environnements de scriptage. Le principal langage utilisé est le JavaScript. Un projet de fin de session permet d’intégrer les connaissances acquises. Les étudiants sont appelés à 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 pour la manipulation de fichiers en lot. Une connaissance de base de HTML et de CSS est présupposée.

Le langage ou l’environnement choisi pour exploration et la nature du projet de fin de session doivent être approuvés par le professeur.Le cours est une introduction à la programmation dans les environnements de scriptage. Le principal langage utilisé est le JavaScript en environnement navigateur Web. Une progression de travaux pratiques permet d’intégrer les connaissances acquises.

Les étudiantes sont aussi appelées à explorer et à présenter devant la classe une API simple (Application Programming Interface) ou un environnement de programmation autre qu’un navigateur Web. Dans des cas particuliers, le travail d’exploration peut prendre la forme d’un projet de développement d’envergure suffisante. Il peut aussi prendre la forme d’une exploration de ressources programmables disponibles aux laboratoires d’informatique documentaire de l’EBSI : micro:bit, Raspberry Pi et Arduino (à confirmer).

Le sujet de l’exploration doit être approuvé par le professeur. Les modalités de la présentation seront discutées en classe.

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 le premier jours du cours.

En plus des activités évaluées, plusieurs exercices non évalués sont proposés. Il est important de faire tous ces exercices.

Calendrier des activités

DateActivité(s)Évaluation
2025-05-26

AM – C1

  • Logistique et ressources du cours / Ce cours et ses choix / Qu’est-ce que la programmation et pourquoi programmer / Programmation, IA et société / Programmation, écriture et esthétique / End-user programming / Environnements, scripts, énoncés, expressions / HTML et JavaScript / La console JavaScript / Votre premier script !

PM

  • Libre
 
2025-05-27

AM – C2

  • Arbres d’exécution / Éléments <script> et ordre d’exécution / Conversions automatiques / Opérations mixtes / Plus d’opérations / Interactions de base / Pensée algorithmique et patrons de conception / Commentaires JS / Notes sur les constantes et la syntaxe / Votre deuxième script !

PM 

  • Libre
 
2025-05-28

AM – C3

  • Valeurs plutôt-vraies et plutôt-fausses (truthy et falsy) / Structures if et if…else, et bonne pratique associée / Fichiers JS séparés / Aides à la programmation / Fonction console.log() / Opérateurs d’auto-réassignation et d’incrémentation / Plus d’opérations diverses

PM – C4

  • Fonctions définies par la programmeuse (FDP) / Déclarations de variable, variables locales : const, let, var / "use strict" et son usage

AM

  • Remise ex. court 5%*
2025-05-29

AM - C5

  • Structure while et bonne pratique associée, organigrammes / PC « balayage d’une structure » sur une chaîne de caractères / Caractères alphanumériques

PM – C6

  • Retour sur OU et ET booléens / L’objet document et les éléments HTML / Chemins d’accès à un membre / Dynamisme par propriétés et classes CSS / Extrants par propriétés innerText et innerHTML / Entrées par formulaire / Chaînes et diacritiques : comparaison localisée, structure switch…case et désaccentuation / Bibliothèque bib-6373.js

AM

  • Remise ex. court 5%*

PM

  • Remise TP1 10%
2025-05-30

AM – C7

  • Tableaux et notations associées (constantes et indexation) / Fonctions .split() et .join() / Structure for / Manipulations simples de textes

PM – C8

  • Tri d’un tableau, notion de callback / Tableaux complexes
AM
 
  • mini-quiz 15%* en classe
2025-06-02

AM – C9

  • Outils de débogage en navigateur / Affichage par nouvel onglet (pop-up), la fonction document.write() / Gestion d’événement / Objets non typés / JSON / Aperçu des classes en JS

PM – C10

  • Les API. Exemple : graphisme avec l’API canvas.

AM

  • Remise TP2 10%*
2025-06-03

AM – C11

  • Discussion : autres API, travaux d’exploration

PM

  • Libre

 

AM

  • mini-quiz 15%* en classe
2025-06-04

AM – C12

  • Scriptage dans d’autres environnements : côté serveur, accès à une base de données, systèmes d’exploitation, accès aux fichiers locaux. NodeJS.

PM

  • Libre

AM

  • Remise ex. court 5%*

PM

  • Remise TP3 15%
2025-06-05

AM – C13

  • Contenus complémentaires, selon les besoins

PM

  • Libre
 
2025-06-06

AM – C14

  • Présentations des travaux d’exploration.

PM – C15

  • Retour sur les travaux et le cours.

AM – C14

  • Présentation exploration 20%

Les contenus et leur répartition sont sujets à ajustement. Les moments des évaluations sont des cibles qui pourraient bouger légèrement.

Évaluation

Activité Pondération
Trois exercices courts à remettre le lendemain (3 × 5%)* 15%
Deux « mini-quiz » en classe (2 × 15%)* 30%
TP1 à 3 : Projets de programmation (10% + 10%* + 15%) 35%
Présentation en classe du travail d’exploration 20%

* Les évaluations marquées d’un * sont individuelles. Les autres peuvent être soit individuelles, soit en équipes de deux personnes.

Les heures de remise seront précisées dans StudiUM.

Voir ici la méthode de calcul de la note finale du cours (notez que l’évaluation avec seuil ne s’applique pas à ce 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.

Politiques, règlements et directives

1. 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 en présence, en classe. Le courriel est également acceptable. Souvent, je demande confirmation par courriel d’un échange verbal, afin de ne pas oublier.

L’adresse courriel du professeur est <yves.marcoux@umontreal.ca>. SVP, inscrire la mention [SCI6373] (incluant les crochets) au début de la ligne sujet de votre message.

Vous pouvez aussi poser des questions dans le forum Vos questions-réponses sur la page StudiUM du cours.

2. Autres règlements et politiques

L’utilisation d’outils d’intelligence artificielle pour réaliser les activités évaluées est interdite et constitue une infraction au règlement disciplinaire.

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

Ressources

Bibliographie

Réserve du cours à la BLSH

1. Lectures obligatoires

2. Lecture très utile

3. Lectures recommandées

4. Ressources utiles et/ou amusantes

5. Références diverses