]> SCI6373 Programmation documentaire - Plan de cours <!--PROVISOIRE--> Hiver 2017

Historique des mises à jour :
2017-01-08: Mise en ligne initiale.
2017-02-22: Date de remise du Devoir 2 reportée du 16 au 20 mars.
2017-03-07: Calendrier: contenus mis à jour pour les Cours 6 à 14.
Les modifications sont présentées sur cette couleur de fond.

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

SCI6373 Programmation documentaire

Plan de cours Hiver 2017

Yves MARCOUX - EBSI - Université de Montréal


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
2017-01-10 – 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: »).  
2017-01-17 – C2 Lectures préalables: Goodman, chap. 1 et 8; lectures obligatoires de Krill et Manfre.

Notion d’expression évaluée. Notation « . » (point) pour les objets et leurs membres (propriétés et méthodes). Scripts. Commentaires. Concaténation et autres opérations. Entrées-sorties de base. Variables. Rappels HTML. Dynamisme dans une page HTML: modifications, ajouts, retraits, stylage.
Jeudi 2017-01-19 23h55 : Remise du travail individuel de Validation des prérequis (5%) (fichiers à déposer sur votre site web gin-ebsi et sur StudiUM)
2017-01-24 – C3 Lectures préalables: Goodman, chap. 9, 10, 15 et 16.

Quiz 1 (en classe).

Types de données de base: chaînes de caractères, entiers, réels, dates; opérations associées. Comparaisons. Conversions.
13h : Quiz 1 (10%)
2017-01-31 – C4 Lectures préalables: Goodman, chap. 18, 21 (jusqu’à p. 396) et 22.

Traitement conditionnel (IF) et structures de contrôle. Notions de procédure et d’algorithme. Organigramme.
Jeudi 2017-02-02 23h55 : Devoir 0 à rendre sur StudiUM (5%)
2017-02-07 – C5 Objets. Tableaux. Boucles. Structures de données complexes. Tri. Fonctions définies par l’usager.  
2017-02-14 – C6 Travail avec Notepad++, débogage avec Firebug les outils de développement de Firefox. Jeudi 2017-02-16 23h55 : Devoir 1 à rendre sur StudiUM (10%)
2017-02-21 – C7 Quiz 2 (en classe).

Approche algorithmique pour le Devoir 2.

Traitements côté serveur et accès à une base de données.
13h : Quiz 2 (10%)
2017-02-28 Semaine de lecture (pas de cours)  
2017-03-07 – C8 Propriété innerHTML, approche algorithmique pour le Devoir 2 (suite), travail en laboratoire.  
2017-03-14 – C9 Comparaisons de chaînes et tri d’un tableau. Structures de données complexes. La fonction document.write revisitée; fenêtres surgissantes (pop-up). Dates. Désaccentuation. Lundi 2017-03-20 23h55 : Devoir 2 à rendre sur StudiUM (10%)
2017-03-21 – C10 Approche algorithmique (début) et exercices pour le Devoir 3.  
2017-03-28 – C11 Approche algorithmique pour le Devoir 3 (suite). Travail en laboratoire.  
2017-04-04 – C12 Conférencier invité : Patrick Beaulieu (Raymond Chabot Grant Thornton), diplômé de la MSI.

Approche algorithmique et travail en laboratoire pour le projet de fin de session.


Lectures préalables: Les (3) articles de Morgan, Colford et Breeding; les (2) articles de Wikipedia.
Jeudi 2017-04-06 23h55 : Devoir 3 à rendre sur StudiUM (15%)
2017-04-11 – C13 Présentations (en classe) des langages ou environnements explorés par les étudiants.

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.
13h : Présentation en classe (pour certaines équipes)
2017-04-18 Pas de cours  
2017-04-25 – 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 (pour certaines équipes)

Jeudi 2017-04-27 23h55 : Matériel de présentation à déposer sur StudiUM

(Prestation de la présentation + matériel déposé sur StudiUM : 15%)


Jeudi 2015-04-27 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 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 DGTIC; 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!