IFT1015

Programmation 1

Hiver 2007

Informations et plan de cours



Dernières nouvelles

Horaire

Lundi 9h30 - 11h30 Théorie Local 1177 (AA)
Mercredi 12h30 - 13h30 Théorie Local 1177 (AA)
Jeudi 9h30 - 10h30 Travaux pratiques Local 1177 (AA)
Jeudi 10h30 - 12h30 Laboratoire Local 1340 (AA)

Objectifs du cours

Le cours a pour objectif de vous enseigner les éléments de base d'un langage de programmation: types, expressions, énoncés conditionnels et itératifs, procédures, fonctions, paramètres, récursivité, tableaux, enregistrements, pointeurs et fichiers.

Ce cours vise également à vous apporter une expérience pratique de ces éléments de base dans un premier langage: le langage Java. A l'issue du cours, vous serez en mesure de concevoir et réaliser des programmes simples en Java, et serez capable d'acquérir rapidement les bases d'autres langages de programmation.

Livre suggéré:

Le choix d'un livre dépend de votre expérience en programmation. Nous en discuterons lors du premier cours.


Anne Tasso, Le livre de Java premier langage, Eyrolles, 2002 (ISBN 2-212-11100-2).

C. Delannoy, Programmer en Java, Eyrolles, 2002 (ISBN 2-212-11119-3).
Si vous voulez apprendre le C++ en même temps que Java: Anne Tasso, Apprendre Java et C++ en parallèle, Eyrolles, 2002 (ISBN2-212-11152-5).

Evaluation

L'évaluation repose sur les exercices pratiques (EX), les travaux pratiques (TP), l'examen pratique (EP), l'examen intra (EI), et l'examen final (EF).

Le décompte des points se répartit comme suit: L'évaluation est avec seuil:

Chaque exercice pratique sera présenté durant l'heure hebdomadaire de travaux pratiques, et portera sur la matière des cours précédents.

Les exercices pratiques se font individuellement. Les travaux pratiques se font seul ou en équipe de deux.
Tous les travaux sont faits en Java et doivent fonctionner adéquatement sur les environnements du DIRO, sous Linux.

Examens et notes

Pour consulter vos notes (examen, TPs, exercices pratiques, ...) vous pouvez utilser la commande notes. Pour cela vous devez avoir une fenêtre Unix ouverte sur votre compte IRO, sur une station du réseau BACC ou encore sur phobos ou deimos. Tapez la commande notes ift1015

Examen final, Hiver 2007: énoncé de l'examen final.

L'examen final était noté sur 100. Voici la distribution des notes pour les 27 personnes présentes:
100 99 95 93 93 93
88 87 85 84 82 80
77 75 73 72
68 61
59 56
45
39 39 36
16
03 01

Examen pratique, Hiver 2007:
énoncé de l'examen pratique,  solution de l'exercice 1: CodeSecret.java

L'examen pratique était noté sur 100 plus 5 points de bonus (les notes >100 seront ramenée à 100). Je rappelle qu'il compte pour 10% de la note totale du cours, mais que si vous avez obtenu moins que 40% à cet examen pratique, alors vos TPs et exercices pratiques se voient attribuer 0. Si vous jugez que votre note à l'examen pratique est un accident, et que vous voulez refaire un autre examen pratique, il y aura une possibilité de reprise (date à déterminer).

Le barème utilisé pour la correction est le suivant:

Exercice 1: inverser: 10 pts; iverserBlocs: 10 pts; coder: 10 pts; tableauEntiers: 5 pts; main: 5 pts; le programme compile: 5 pts; le programme fnctionnerait plus ou moins comme voulu: 5 pts; production des fichiers du petits chaperon rouge: bonus de 5 pts.
Exercice 2, Animal.java:  définiton de classe: 5 pts; déclaration correcte des 3 attributs: 5 pts; constructeur: 5 pts; méthode affiche: 5 pts; méthodes mammifere et allaite: 5 pts; Animal.java compile: 5 pts.
Exercice 2, ClasserAnimaux.java: fonction saisieAnimal: 5 pts; fonction afficheMemiferes: 5 pts; fonction main: 5pts; compile et fonctionne comme voulu: 5 pts.

Voici la distribution des notes pour l'examen pratique:
105, 105, 104, 104, 100, 100, 100,
98, 95,
89, 82,
77, 70,
69, 60,
48, 48, 42, 40, 40,
21,
18,
8,
0.


Examen intra, Hiver 2007:  énoncé de l'examen.

Voici la distribution des notes pour les 32 personnes présentes à l'examen intra:

100, 99, 98, 98, 98, 96, 96, 96, 96, 96, 95, 94, 94, 92,
 85, 83, 82, 80, 80,
 75, 72, 70,
 68, 66, 64,
 56, 50,
 43,
 39, 37,
 28, 25.

Liens utiles

Contenu détaillé des cours (planifiés ou effectués)

Ce cours aura pour l'essentiel le même contenu que le cours donné à l'automne 2006 par Sébastien Roy.

Notez que l'horaire ci-dessous est préliminaire. Le détail des thèmes de cours pour les dates futures est donné à titre indicatif seulement, et sera mis à jour et adapté au cours de l'année. De même, les liens vers les diapos utilisées pour les cours seront ajoutés au fur et à mesure.

Semaine Date Thème du cours Diapo
1 8.01.2007 Présentation du cours et introduction Programme du premier cours.
intro.pdf
  10.01.2007 Premier programme Java sous unix (fin de intro_print.pdf). Variables. variables.pdf
2 15.01.2007 Expressions expressions.pdf
  17.01.2007 Entrées-sorties inout.pdf (vous pouvez télécharger ici le fichier Keyboard.java pour pouvoir utiliser ses fonctions d'entrée clavier décrites dans le cours.)
3 22.01.2007 Conditions conditions.pdf conditions2.pdf
  24.01.2007 Art de programmer 1 art1.pdf
4 29.01.2007 Boucles boucles.pdf
  31.01.2007 Fonctions 1 fonctions1.pdf
5 5.02.2007 Fonctions 2 fonctions2.pdf
  7.02.2007    
6 12.02.2007 Tableaux tableaux.pdf
  14.02.2007 Art de programmer 2 art2.pdf
7 19.02.2007 Examen intra  
  21.02.2007 Objets 1 oop1.pdf
8 26.02.2007 Objets 3 oop3.pdf
  28.02.2007 Correction de l'examen intra  
9 5.03.2007 Semaine de lecture (pas de cours)  
  7.03.2007 Semaine de lecture (pas de cours)  
10 12.03.2007 Algo 1 (recherche et tri) algo1.pdf
  14.03.2007

11 19.03.2007 Algo 2 (recursion)  algo2.pdf
  21.03.2007 Ce qui se passe en mémoire: pile pour variables locales et paramètres des fonctions, allocation de mémoire dyamique avec new, "pointeurs-référence", différence entre types simples et tableaux/objets pour ce qui est du passage de paramètres aux fonctions.
 
12 26.03.2007 Élections provinciales (pas de cours). Allez voter!  
  28.03.2007  Listes chaînées 1 ListeChaine.java
Noeud.java
13 2.04.2007 Examen pratique de 9h30 à 11h30 au labo 1340.
  4.04.2007  Listes chaînées 2
14 9.04.2007 Lundi de pâques (pas de cours)  
  11.04.2007 Art de programmer 3 art3.pdf
15 16.04.2007 Pas de cours (semaine d'examen)  
18.04.2007 Pas de cours (semaine d'examen)  
16 23.04.2007 Examen final  
  25.04.2007 Pas de cours (semaine d'examen)