Historique des mises à jour :
2018-01-09: Mise en ligne initiale.
2018-01-16: Ajout d’une lecture préalable pour le Cours 3.
2018-01-24 Correction du jour de remise du Devoir 0 : le 2 février est un vendredi.

Creative Commons LicenseCopyright © 2018 Yves MARCOUX; dernière modification de cette page: 2018-01-16.
Cette création est mise à disposition selon les termes d’une licence Creative Commons.

SCI6373 Programmation documentaire

Plan de cours Hiver 2018

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


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. 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
2018-01-09 – C1 Bienvenue. Concepts de scriptage et de « programmation documentaire ». Notions d’environnement et d’objet. Les trois environnements touchés dans le cours. « End-user programming » et « end-user development ». Configuration des environnements: navigateurs et éditeur de scripts. JavaScript en ligne adresse du navigateur (pseudo-protocole « javascript: »).  
2018-01-16 – C2 Lectures préalables: Goodman, chap. 1 et 8; lectures obligatoires de Kolawole et de Manfre.

Types de données de base: booléen, chaîne de caractères, nombre, pointeur à un objet. Quelques opérations: arithmétiques, concaténation, égalité, expressions conditionnelles. Notions d’expression évaluée, d’instruction et d’énoncé. Notation « . » (point) pour les objets et leurs membres (propriétés et méthodes). Fonctions. Arbres d’exécution.
Jeudi 2018-01-18 23h55 : Remise du travail individuel de Validation des prérequis (5%) (fichiers à déposer sur votre site web gin-ebsi et sur StudiUM)
2018-01-23 – C3 Lectures préalables: Goodman, chap. 9, 10, 15 et 16; Un peu de terminologie.

Variables, assignations. Scripts. Commentaires. Entrées-sorties de base. Construction d’un script, méthode de travail. Notion d’« approche algorithmique ».

Présentation du Devoir 0.
 
2018-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. Fonctions définies par l’usager.
13h : Quiz 1 (10%)

Vendredi 2018-02-02 23h55 : Devoir 0 à rendre sur StudiUM (5%)
2018-02-06 – C5 Traitement conditionnel (IF) et structures de contrôle. Organigrammes. Tableaux. Boucles. Environnements de développement : aides à la programmation. JSEclipse.

Présentation du Devoir 1.
 
2018-02-13 – C6 Débogage avec les outils de développement en navigateurs. Jeudi 2018-02-15 23h55 : Devoir 1 à rendre sur StudiUM (10%)
2018-02-20 – C7 Propriété innerHTML. Approche algorithmique et exercices en vue du Devoir 2.

Présentation du Devoir 2.
 
2018-02-27 – C8 Quiz 2 (en classe).

Comparaisons de chaînes et tri d’un tableau. Approche algorithmique en vue du Devoir 2 (suite).
13h : Quiz 2 (10%)
2018-03-06 Semaine de lecture (pas de cours)  
2018-03-13 – C9 Structures de données complexes. Objets arbitraires. JSON. La fonction document.write revisitée; fenêtres surgissantes (pop-up). Dates. Désaccentuation.  
2018-03-20 – C10 Approche algorithmique (début) et exercices en vue du Devoir 3.

Présentation du Devoir 3.
Jeudi 2018-03-22 23h55 : Devoir 2 à rendre sur StudiUM (10%)
2018-03-27 – C11 Approche algorithmique pour le Devoir 3 (suite).

Présentation du projet de fin de session.
 
2018-04-03 – C12 Conférencier invité : Patrick Beaulieu (Raymond Chabot Grant Thornton), diplômé de la MSI.

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.
Jeudi 2018-04-05 23h55 : Devoir 3 à rendre sur StudiUM (15%)
2018-04-10 – 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).
 
2018-04-17 – C14 Présentations (en classe) des langages ou environnements explorés par les étudiants.

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%)
Lundi 2018-04-30
(dernier jour de la session)
  Lundi 2018-04-30 23h55 : Matériel de présentation à déposer sur StudiUM

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

Évaluation

Activité Pondération
Travail individuel de validation des prérequis 5%
Deux quiz individuels à livres fermés en classe (2 x 10%) 20%
Quatre devoirs (5% + 10% + 10% + 15%) 40%
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 le travail de validation des prérequis et les quiz. Les travaux de validation des prérequis et 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.

N.B. : Vous n’avez pas à faire le travail de Validation des prérequis si vous avec déjà suivi, ou suivez de façon concomitante, le cours INU3011 Documents structurés : le travail analogue dans INU3011 comptera pour les deux cours.

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


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

Code d’honneur
Il est attendu que les étudiant(e)s respectent le code d’honneur de l’EBSI.

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


Valid XHTML 1.0 Strict!Valid CSS Level 3!