Site Web du cours
Le site Web du cours est sous l'environnement StudiUM https://studium.umontreal.ca
Utilisez votre UNIP pour vous y connecter. Une fois connecté, et si votre inscription officielle au cours est effective, le menu déroulant "Mes cours" devrait contenir IFT1015-AB-A12, vous permettant d'accéder au site du cours.
C'est au travers de ce site que vous seront communiquées les nouvelles concernant le cours, que vous pourrez poser des questions sur les forums, et que vous pourrez remettre vos travaux et consulter vos notes.
Objectifs du cours
Le cours a pour objectif de vous enseigner les éléments de base d'un langage de programmation impérative procédural : types, expressions, énoncés conditionnels et itératifs, procédures/fonctions/méthodes, paramètres, récursivité, tableaux, enregistrements, objets-simples, et références. Ce cours vise également à vous apporter une expérience pratique de ces éléments de base dans un premier langage : le langage JavaScript. À l'issue du cours, vous serez en mesure de concevoir et réaliser des programmes simples en JavaScript, et serez capable d'acquérir rapidement les bases d'autres langages de programmation impérative procédurale.
Professeurs et démonstrateurs
Vos professeurs pour ce cours sont Marc Feeley et Philippe Langlais. Les cours avant l'examen intra seront donnés par Marc Feeley, et ceux après l'intra par Philippe Langlais.
Vos démonstrateurs (Benjamin Cerat, Houssem Eddine Dridi et Fehmi Jaafar) s'occupent des séances de travaux pratiques, les périodes de laboratoire, ainsi que des disponibilités pour consultation (l'horaire vous sera communiqué ultérieurement).
Si vous avez des questions, nous vous demandons de consulter tout d'abord un des démonstrateurs. Si le démonstrateur n'a pas de réponse à vos questions, vous pouvez prendre rendez-vous avec le professeur par courrier électronique ou après le cours.
Horaires
Les étudiants forment 2 sections, A et B, qui ont des horaires distincts. Vu la taille des salles de cours et le nombre de postes de travail en laboratoire, on demande aux étudiants de rester dans la section qui leur a été attribuée.
Attention : Cet agenda a préséance sur celui que vous pouvez obtenir sur le guichet étudiant (les salles pourraient éventuellement changer).
Section A | ||||||||
Activité | Gr. | Jour | De | A | Du | Au | Local | Immeuble |
th | Lun. | 08:30 | 10:30 | 1 oct. | 5 nov. | 1177 | A.-AISENSTADT | |
th | Jeu. | 15:30 | 16:30 | 4 oct. | 20 déc. | 1177 | A.-AISENSTADT | |
th | Lun. | 08:30 | 10:30 | 19 nov. | 3 déc. | 1177 | A.-AISENSTADT | |
10 déc. | 17 déc. | 1355 | A.-AISENSTADT | |||||
tp | Jeu. | 16:30 | 17:30 | 4 oct. | 20 déc. | 1177 | A.-AISENSTADT | |
lab | Jeu. | 18:30 | 20:30 | 4 oct. | 20 déc. | 1340 | A.-AISENSTADT | |
exi | Ven. | 15:30 | 17:30 | 9 nov. | P-310 | PV ROGER-GAUDRY | ||
exf | Jeu. | 15:30 | 18:30 | 10 janv. | ||||
Section B | ||||||||
Activité | Gr. | Jour | De | A | Du | Au | Local | Immeuble |
th | Mar. | 15:30 | 16:30 | 2 oct. | 6 nov. | Z-220 | PAV. C-MCNICOLL | |
th | Ven. | 15:30 | 17:30 | 5 oct. | 2 nov. | Z-220 | PAV. C-MCNICOLL | |
16 nov. | 21 déc. | Z-317 | PAV. C-MCNICOLL | |||||
th | Mar. | 15:30 | 16:30 | 20 nov. | 18 déc. | Z-220 | PAV. C-MCNICOLL | |
tp | Mar. | 16:30 | 17:30 | 9 oct. | 6 nov. | Z-305 | PAV. C-MCNICOLL | |
20 nov. | 18 déc. | Z-305 | PAV. C-MCNICOLL | |||||
lab | Mar. | 17:30 | 19:30 | 9 oct. | 6 nov. | 1340 | A.-AISENSTADT | |
20 nov. | 18 déc. | 1340 | A.-AISENSTADT | |||||
exi | Ven. | 15:30 | 17:30 | 9 nov. | P-310 | PV ROGER-GAUDRY | ||
exf | Jeu. | 15:30 | 18:30 | 10 janv. |
Livre suggéré
Le choix d'un livre dépend de votre expérience en programmation. Nous en discuterons lors du premier cours. Il n'est pas obligatoire d'avoir un livre, mais à moins que vous ne connaissiez déjà le langage JavaScript, l'achat d'un livre est recommandé.
Le livre "Programming with JavaScript" est recommandé car il est très complet. Il contient plusieurs exercices, il explique la base de la programmation, mais il aborde aussi des sujets avancés comme la programmation d'applications Web. Le livre "Eloquent JavaScript" est plus petit, moins cher, une traduction française est disponible gratuitement sur le Web, mais il n'est pas aussi exhaustif.
![]() John David Dionisio, Ray Toal, "Programming with JavaScript: Algorithms and Applications for Desktop and Mobile Browsers" |
![]() Marijn Haverbeke, "Eloquent JavaScript, A Modern Introduction to Programming" (une version traduite en français et en ligne est disponible ici : "JavaScript Éloquent, Une introduction moderne à la programmation") |
Matière couverte et support de cours
Le plan détaillé de la matière qui sera couverte au fil de la session, ainsi que la documentation et autre support de cours s'y rapportant sera mis à jour sur le site Web du cours au fil de la session.
La matière abordée comportera :
- Introduction (histoire, languages, compilateurs)
- Variables, types, expressions
- Programmation structurée
- Instruction conditionnelles
- Boucles
- Fonctions et procédures
- Tableaux
- Structures et objets simples
- Méthodes
- Algorithmes simples de recherche et tri
- Structures de données chaînées
- Récursivité
- Débogage et tests, performance
Évaluation
IFT1015 est un cours de 3 crédits. La notation sera décomposée comme suit :
- Examen intra (25%)
- Examen final (30%)
- Deux travaux pratiques (30%) :
- TP1 : 15%
- TP2 : 15%
- Exercices pratiques en laboratoire à remettre (15%) : une dizaine de petits exercices au courant de la session.
Les travaux et exercices pratiques sont faits en JavaScript et doivent fonctionner adéquatement sur les environnements du DIRO, sous Linux.
Les notes comportent un seuil : il faut obtenir un minimum de 50% sur la moyenne pondérée de l'intra et du final pour que les notes des TPs et exercices pratiques soient comptées à leur pleine valeur, sinon la note des TPs et exercices pratiques se verra divisée par 2.
L'Université de Montréal a désormais une politique stricte en cas de fraude ou plagiat. Si une infraction est constaté, le professeur est obligé de faire un rapport au directeur du département. Une procédure administrative est alors automatiquement enclenchée avec les conséquences suivantes : l'infraction est notée à votre dossier, et une sanction est décidée. En cas de récidives les sanctions peuvent aller jusqu'à l'expulsion. Alors faites vos examens seul et citez vos sources d'information!