IFT1015

Programmation 1

Hiver 2008

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, 2006

C. Delannoy, Programmer en Java, Eyrolles, 2006
Si vous voulez apprendre le C++ en même temps que Java: Anne Tasso, Apprendre Java et C++ en parallèle, Eyrolles.

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


Concernant la fraude et le plagiat ATTENTION!
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!

Examens que j'ai donnés les années passées: les énoncés d'examens des années passées se trouvent sur la page des cours que j'ai donné les années en question (voir la section liens utiles).

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 intra, hiver 2008:  Énoncé de l'examen.

Examen pratique, hiver 2008:  Énoncé de l'examen.

Examen final, hiver 2008:  Énoncé de l'examen.

Liens utiles

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

Ce cours aura pour l'essentiel le même contenu et le même format que le cours donné 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 mis à jour au fur et à mesure.

Semaine Date Thème du cours Diapo
1 7.01.2008 Présentation du cours et introduction. 
Premier programme Java sous unix.
Programme du premier cours.
intro.pdf
  9.01.2008 Variables. variables.pdf
2 14.01.2008 Expressions expressions.pdf
  16.01.2008 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 21.01.2008 Conditions conditions.pdf 
  23.01.2008 Conditions (suite)   Exemple if/else: Hello.java  
conditions2.pdf
4 28.01.2008 Boucles boucles.pdf
  30.01.2008 Fonctions 1 fonctions1.pdf
5 4.02.2008 Fonctions 2 fonctions2.pdf
  6.02.2008  Art de programmer 1  art1.pdf
6 11.02.2008 Tableaux tableaux.pdf
  13.02.2008 Art de programmer 2 art2.pdf
7 18.02.2008 Examen intra  
  20.02.2008 Correction de l'examen intra
8 25.02.2008 Objets 1 oop1.pdf
  27.02.2008 Objets 3
oop3.pdf
9 3.03.2008 Semaine de lecture (pas de cours)  
  5.03.2008 Semaine de lecture (pas de cours)  
10 10.03.2008 Programmation objet: constructeurs, différence entre méthodes non statiques et statiques. this. Passage de paramètres objet par référence.
  12.03.2008 Algo 1 (recherche et tri)
algo1.pdf
11 17.03.2008  Listes chaînées 1 linked list (Wikipedia)
ListeChaine.java
Noeud.java
  19.03.2008 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 24.03.2008 Congé de Pâques  
  26.03.2008  Listes chaînées 2
13 31.03.2008 Examen pratique de 9h30 à 11h30 au labo 1340
  2.04.2008 Récursion 
algo2.pdf 
ex: tour de Hanoi (hanoi.java)
14 7.04.2008
 
  9.04.2008 Art de programmer 3 art3.pdf
15 14.04.2008 Dernier cours (format question/réponses et préparation de l'examen)
 
18.04.2008 Pas de cours (semaine d'examen)  
16 21.04.2008 Examen final  
  2.04.2008 Pas de cours (semaine d'examen)