Historique des mises à jour :
2020-01-09 Mise en ligne initiale.
2020-01-11 Correction de trois pondérations à la section Évaluation.
2020-01-17 Certaines dates de la section Calendrier des activités étaient en erreur et ont été corrigées.
2020-01-24 L’emplacement du Quiz 2 dans la colonne centrale du Calendrier des activités a été corrigé.
2020-03-11 La colonne centrale du Calendrier des activités a été modifiée pour mieux refléter la progression réelle.
Les modifications sont présentées sur cette couleur de fond.

Copyright © 2020 Yves MARCOUX; dernière modification de cette page: 2020-03-11.

SCI6373 Programmation documentaire

Plan de cours Hiver 2020

Yves MARCOUX - EBSI - Université de Montréal


Table des matières

Informations générales

Objectifs

Description

Calendrier des activités

Évaluation

Règlements, politiques

Remise des travaux à évaluer

Modes de communication

Autres règlements et politiques

Bibliographie

Lectures obligatoires

Ressources utiles et/ou amusantes

Références diverses


Informations générales


Objectifs

À la fin du cours, l’étudiant(e) possédera les rudiments de la programmation procédurale et orientée-objet moderne. Plus spécifiquement, l’étudiant(e):


Description

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

Plusieurs exercices sont donnés au cours de la session, en plus de devoirs évalués. Il est essentiel de faire 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.

Le projet de fin de session est un devoir évalué d’un peu plus grande envergure que les autres.


Calendrier des activités

Notes:

Calendrier des activités
Date – Cours Contenu et lectures Évaluations
2020-01-09 – C1 Bienvenue. Concepts de scriptage et de « programmation documentaire ». Programmation et société. « End-user programming » et « end-user development ». Programmation et écriture.

Notions d’environnement et d’objet. Les environnements touchés dans le cours. JavaScript et navigateurs web : console JavaScript, pseudo-protocole « javascript: », « bookmarklets » et scripts imbriqués. Un premier script.
 
2020-01-16 – C2 Lectures préalables: Une brève introduction au JavaScript; texte de Kolawole; Goodman, chap. 1 et 8.

Facultatif : Suggestion pour rafraîchir vos connaissances sur HTML et CSS : Introduction à XHTML et CSS.

Retour sur la lecture Une brève introduction au JavaScript, arbres d’exécution.
 
2020-01-23 – C3 Lectures préalables: Goodman, chap. 9, 10, 15 et 16.

Entrées-sorties de base. Enchaînement d’instructions, construction d’un script, méthode de travail, commentaires. Notion d’« approche algorithmique ». Présentation du Devoir 0.
 
2020-01-30 – C4 Lectures préalables: Goodman, chap. 18, 21 (jusqu’à p. 396) et 22.

Quiz 1 (en classe).

Conversions, opérations sur les chaînes de caractères. Rappels HTML et CSS. Dynamisme dans une page HTML par stylage. Entrées-sorties par formulaire.
13h : Quiz 1 (10%)
2020-02-06 – C5 Traitement conditionnel (IF) et structures de contrôle. Organigrammes.

Présentation du Devoir 1.
Lundi 2020-02-10 23h55 : Devoir 0 à rendre sur StudiUM (10%)
2020-02-13 – C6 Débogage avec les outils de développement en navigateurs.  
2020-02-20 – C7 Fonctions définies par le programmeur. Dynamisme par propriétés CSS.  
2020-02-27 – C8 Tableaux. Lundi 2020-03-02 23h55 : Devoir 1 à rendre sur StudiUM (10%)
2020-03-05 Semaine de lecture (pas de cours)  
2020-03-12 – C9 Quiz 2 (en classe).

Comparaisons de chaînes et tri d’un tableau. Propriété innerHTML. Présentation du Devoir 2. Approche algorithmique et exercices pour le Devoir 2. Structures de données complexes. Objets arbitraires. JSON. La fonction document.write revisitée; fenêtres surgissantes (pop-up).
13h : Quiz 2 (10%)
2020-03-19 – C10 Dates. Désaccentuation. Lundi 2020-03-23 23h55 : Devoir 2 à rendre sur StudiUM (10%)
2020-03-26 – C11 Présentation du Devoir 3.

Approche algorithmique pour le Devoir 3 (suite).

Discussion du projet de fin de session.
 
2020-04-02 – C12 Conférencier invité (à confirmer, date sujette à changement)

Approche algorithmique pour le projet de fin de session.

Lectures préalables: Les (3) articles de Morgan, Colford et Breeding; les (2) articles de Wikipedia.
Lundi 2020-04-06 23h55 : Devoir 3 à rendre sur StudiUM (15%)
2020-04-09 – C13 Approche algorithmique pour le projet de fin de session (suite).

Si le temps le permet, choix parmi les thèmes suivants :
  • 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.
  • AJAX (Asynchronous JavaScript and XML).
  • Principe Model-view-controller (MVC).
  • Logiciel libre.
  • 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.
  • Analyse versus programmation.
  • Méthodologies: découpage, modularité, documentation. Design patterns.
  • Intelligence artificielle, réseaux de neurones artificiels, apprentissage profond.
  • Informatique et cryptographie quantiques.
  • Bitcoin, Blockchains et grands livres distribués (distributed ledgers).
 
2020-04-16 – C14 Présentations (en classe) des langages ou environnements explorés par certaines équipes.

Si le temps le permet, choix parmi les thèmes mentionnés sous C13.
13h : Présentation en classe

(Prestation de la présentation + matériel déposé sur StudiUM : 15%)
2020-04-23 – C15 Présentations (en classe) des langages ou environnements explorés par certaines équipes.

Si le temps le permet, choix parmi les thèmes mentionnés sous C13.
13h : Présentation en classe

(Prestation de la présentation + matériel déposé sur StudiUM : 15%)
2020-04-30
(dernier jour de la session)
  Jeudi 2020-04-30 23h55 : Matériel de présentation à déposer sur StudiUM

Jeudi 2020-04-30 23h55 : Projet de fin de session à rendre sur StudiUM (20%)

Évaluation

Activité Pondération
Deux quiz individuels à livres fermés en classe (2 x 10%) 20%
Quatre devoirs (10% + 10% + 10% + 15%) 45%
Projet de fin de session 20%
Exploration et présentation en classe d’un langage ou environnement
de programmation: prestation et matériel présenté
15%

Toutes les activités évaluées se font en équipe de deux, sauf les quiz. Les devoirs sont décrits dans des protocoles rendus disponibles en temps opportun.

Il n’y a pas de rapport à rendre pour le travail d’exploration d’un langage ou environnement de programmation, mais vous devez remettre sur StudiUM une copie des diapositives et de tout autre matériel utilisé pour la présentation.

Les directives données dans les différents protocoles de travaux doivent être suivies et, pour les travaux évalués, leur respect est un critère d’évaluation.

La méthode de calcul de la note finale du cours est présentée au <http://marcoux.ebsi.umontreal.ca/enseign/calculs-NG.html>.

Pour vous aider à suivre l’évolution des résultats de vos évaluations au cours du trimestre, et notamment connaître les notes requises dans les évaluations à venir pour atteindre une cote donnée (en tenant compte ou non du seuil), un Évaluateur de réussite sera disponible peu après le début du trimestre. N’hésitez pas à l’utiliser.


Règlements, politiques

Remise des travaux à évaluer

Les artefacts à évaluer (fichiers, rapports, etc.) doivent être remis en format numérique. Sauf exception (mentionnée le cas échéant dans le protocole du travail) ils doivent être déposés à l’emplacement prévu sur StudiUM en un seul fichier (compressé si nécessaire), au plus tard à l’heure prévue pour la remise. Ce fichier unique doit être conforme aux directives données dans le protocole du travail concerné; en particulier, il doit être nommé conformément à ces directives.

Si la remise comporte un rapport (le cas échéant, cela est spécifié dans le protocole du travail), ce rapport doit être en format PDF, OpenOffice ou Word, et doit être formaté pour du papier 8,5 x 11 po. Les rapports doivent impérativement être structurés en sections numérotées et paginés.

Exceptionnellement, après entente avec le professeur, certains artefacts peuvent être remis en format papier.

Si vous ne respectez pas les directives ci-dessus, vous êtes considéré comme n’ayant pas remis le travail.

Vous devez impérativement conserver une copie de sécurité intégrale des artefacts remis, au moins jusqu’à réception de leur correction. Vous devez être prêt à transmettre rapidement sur demande au correcteur (par courriel ou autrement) une copie du matériel remis originellement, en cas de problème de lecture ou autre; c’est votre responsabilité.

Modes de communication

Le mode de communication privilégié du professeur vers les étudiant(e)s est la section Nouvelles concernant le cours de la page d’accueil du cours. Vous pouvez, si désiré, vous abonner à ces nouvelles par le truchement du fil RSS associé; sinon, vous devez consulter la section Nouvelles très régulièrement (au moins une fois par jour).

Le professeur peut également utiliser le courriel pour joindre les étudiant(e)s. L’adresse utilisée pour vous joindre sera celle enregistrée dans votre profil TI; assurez-vous que cette adresse soit valide et fonctionnelle en tout temps (voyez notamment à ne pas laisser votre boîte aux lettres se remplir). Vous devez lire très régulièrement votre courriel (au moins une fois par jour).

Le mode de communication privilégié des étudiant(e)s vers le professeur est le courriel. L’adresse courriel du professeur est <ymarcoux@gmail.com>. SVP, toujours inscrire la mention [SCI6373] (incluant les crochets) au début de la ligne sujet de votre message.

Autres règlements et politiques

Tous les règlements, politiques et directives énoncés dans le Guide de l’é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 examens ou quiz en classe).


Bibliographie

Lectures obligatoires

Ressources utiles et/ou amusantes

Références diverses


Valid XHTML 1.0 Strict!Valid CSS Level 3!