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.

Nous vous encourageons à poser de préférence vos questions durant les séances de cours ou de labo. Si vous voulez poser des questions par voie électronique, ne nous envoyez pas de courriel: postez-les sur le forum Questions-Réponses du cours, il est là pour ça. Si vous avez besoin d'aide individuelle, nous vous demandons de consulter en priorité un des démonstrateurs. Si vous voulez communiquer avec le prof, le mieux est de venir simplement lui parler lors de la pause ou à la fin d'un cours.

Livre suggéré

Le choix d'un livre dépend de votre expérience en programmation. 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é. Voici deux livres de bonne facture.

La matière abordée

  • Introduction (languages, compilateurs)
  • Variables, types, expressions
  • Programmation structurée
    • Instruction conditionnelles
    • Boucles
    • Fonctions
    • Structures de base (tableaux)
  • Algorithmes simples (recherche, tris)
  • Récursivité
  • Abstraction par la création d'objets simples
    • principes, bénéfices, syntaxes, exemples
    • applications (ex: listes chainées, arbres)
  • Abstraction par la programmation fonctionnelle (si nous avons le temps)

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

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

Les travaux et exercices pratiques sont faits en JavaScript et doivent fonctionner adéquatement sur les environnements du DIRO, sous Linux.

Vos notes seront entrées sur le système StudiUM où vous pourrez les consulter.

Varia

  • L'Université de Montréal a désormais une politique stricte en cas de fraude ou plagiat. Si une infraction est constatée, 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écidive, les sanctions peuvent aller jusqu'à l'expulsion. Alors faites vos examens seul et citez vos sources d'information!
  • Matériel informatique et utilisation de Javascript sur vos ordinateurs personnels. Il est possible de programmer en Javascript aussi bien sur Mac que sur PC Windows ou Linux. Donc si vous disposez d'un ordinateur à la maison ou d'un ordinateur portable, vous pourrez vous en servir pour vous exercer. Notez cependant que les laboratoires se dérouleront sur un environnement de type Linux avec lequel vous devrez être familier. Les stations de travail linux en accès libre au DIRO vous permettront de vous pratiquer sur ce type d'environnement.