Ingénieurs 1ère année (I1)
2009/2010
- IN101 : initiation à la programmation avec le langage Java
20h cours, 4h td, 21h tp
- PR102 : projet de programmation en Java
1h présentation, 18h tp encadrés
(évaluation continue), 30h tp non encadrés
IN101
-
Enseignants :
Si vous avez besoin d'aide sur un cours/td/tp ou si vous avez une question
sur l'unité IN101, vous pouvez contacter
Denis BUREAU.
Mais vous pouvez aussi contacter directement les autres
enseignants grâce à ces
coordonnées.
-
Documents :
-
Environnement de programmation pour les TP :
- Ordinateurs : PC
- Système d'exploitation : Linux
- Langage : Java
- Compilateur : JDK
- Logiciel : BlueJ
1 (cours + cours + tp)
-
Cours 1.1 :
Présentation de l'unité et introduction à la programmation
Unité, méthodes de travail, apprentissage incrémental.
Informatique, matériel, langages, algorithme.
-
Cours 1.2 :
Introduction à la P.O.O. et début de la syntaxe Java
POO, encapsulation, classe/objet, diagrammes, public/privé.
Types, int, boolean, variables/attributs.
Méthodes, paramètres, signature, corps.
Syntaxe de base, ';', commentaires // et /** */ .
-
TP 1 :
Prise en mains de BlueJ. Expérimentation, modification
de méthodes, lecture javadoc.
2 (cours + cours + tp)
-
Cours 2.1 :
3 sortes de méthodes, définition, appel, paramètres formels/effectifs.
Surcharge, accesseurs, modificateurs, fonctions d'état.
3 sortes de variables, nommage, durée de vie, visibilité,
déclaration, initialisation, définition.
Classe, ordre, String, '+'.
-
Cours 2.2 :
Instructions, expressions, blocs, expressions booléennes et opérateurs.
if, if else, affectation, commentaires javadoc+tags et /* */.
new, this, objets, références, types primitifs, final parameters.
Composition, diagrammes, constructeurs.
Récursivité?
-
TP 2 :
Projet Picture (création de méthodes,
génération de documentation).
class Template, résumé de syntaxe, style guide, CodePad, javadoc(write), JNews?
3 (cours + tp)
-
Cours 3 :
Réels (représentation, opérateurs, fonctions, conversions?).
Méthodes statiques (utilisation), final fields.
while, char?
println, Scanner?
-
TP 3 :
fact, long, Scanner?, applette?, JUnit?
-
Partiel 1 : QCM (35') + mini-écrit (25')
sur tout ce qui a été vu jusqu'au TP3.
4 (cours + td + tp)
-
Cours 4 :
Héritage, redéfinition, polymorphisme.
4 protections (paquetages?), static fields/blocks.
Object (toString, equals, finalize, getClass), instanceof.
-
TD 4 :
Points colorés.
equals, finalize, static (comptage).
-
TP 4 :
DBShape, paquetages, ?Coord (classe interne).
5 (cours + tp)
-
Cours 5 :
Tableaux (multidim?), boucle for.
Types primitifs (byte, short, float, char?).
Conversions (sans/avec perte).
-
TP 5 :
Palindrome? Weblog analyzer? Crible Ératosthène? Groupe?
6 (cours + td + tp)
-
Cours 6 :
Abstraction (abstract, interface, héritage multiple, instanceof).
Exceptions (+finally?).
Classes anonymes?
-
TD 6 :
Comptes bancaires.
-
TP 6 :
DBShape, Hexagone, exceptions?
-
Partiel 2 : QCM (40') + mini-écrit (50')
sur tout ce qui a été vu jusqu'au TP6.
7 (cours + tp)
-
Cours 7 :
Collections, enveloppes, généricité, for each, itérateurs.
-
TP 7 :
DBShapeCollection, filtrage.
8 (cours + tp)
-
Cours 8 :
Sans BlueJ (javac, java, javadoc, jar?), main.
Fichiers de texte, do while.
Graphique?, évènements?, KeyListener?, threads?
-
TP 8 :
??? (fichiers, graphique?)
-
Final IN101 : écrit (3h)
sur tout ce qui a été vu jusqu'au TP8 et pendant le projet.
Version 2008/2009 obsolète :
1 (cours + cours + tp)
-
Cours 1.1 : Présentation de l'unité et introduction à la
programmation
(plan)
-
Cours 1.2 : Introduction à la P.O.O. et début de la syntaxe Java
(plan)
-
TP 1 : Prise en mains de BlueJ. Projet Shapes (expérimentation, modification
de méthodes, lecture javadoc).
(sujet
et version imprimable une seule fois par poste
)
2 (cours + tp)
3 (cours + tp)
- Cours 3 :
Méthodes particulières, constructeurs, paramètres.
Commentaires, affichage, tests.
Récursivité.
Attributs et méthodes de classe.
Type réel.
(plan)
-
TP 3 : Lines. ClockDisplay. Tests unitaires.
(sujet
et version imprimable une seule fois par poste
)
Comment intégrer une classe de test ?
- Cliquer sur le lien du fichier de test, sélectionner tout, copier.
- Dans BlueJ, cliquer-droit sur la classe, choisir Créer classe Test.
- Sélectionner tout, coller, compiler.
- Ne pas modifier la classe de test.
4 (cours + td + tp)
5 (cours + td + tp)
-
Cours 5 : Classes et méthodes abstraites, interfaces. Exceptions. Types primitifs.
(plan)
-
TD 5 : Exceptions. Classes et méthodes abstraites. Interfaces.
(sujet)
-
TP 5 : Hexagone, Drawable, Measurable; exceptions. Sans BlueJ.
(sujet
et version imprimable une seule fois par poste
)
-
Partiel 2 : QCM (40') + mini-écrit (40')
sur tout ce qui a été vu jusqu'au TP5.
6 (cours + td + tp)
7 (cours + tp)
8 (cours + tp)
-
Final IN101 : écrit (3h)
sur tout ce qui a été vu jusqu'au TP8 et pendant le projet.
Version 2005/2006 obsolète :
1 (cours + cours + tp)
2 (cours + tp)
-
TP 2 :
Définir de nouvelles classes. Appeler des méthodes sur
des objets d'une autre classe. Générer la
3 (cours + td)
-
Cours 3 :
priorité des opérateurs
-
TD 3 :
Variables/constantes, Types prédéfinis,
déclarations, conversions, expressions, instructions de base.
(sujet)
4 (cours + tp)
-
TP 4 :
Composition, héritage. static, classes standard.
Classes abstraites, interfaces.
5 (cours + td + td + tp)
-
Cours 5 :
Alternatives simples et choix multiple en pseudo-langage et Java
instructions répétitives en pseudo-langage (4) et en Java (3),
critères de choix de boucles.
Vous pouvez commencer à faire quelques
exercices
(sans tableaux uniquement).
-
TD 5.1 :
Tests : if, if else, switch, imbrication.
(sujet)
-
TD 5.2 :
Boucles : les 4 en pseudo-langage et les 3 en Java.
(sujet)
-
TP 5 :
Alternatives simples et multiples, boucles. Test des méthodes.
(sujet)
6 (cours + td + tp)
-
Cours 6 :
Les tableaux : taille fixée à l'exécution,
type objet, déclaration, allocation, initialisation;
indiçage, accès à une case;
attribut et méthodes (Object et Arrays);
cas particulier des tableaux de caractères,
tableaux multi-dimensionnels.
Les collections :
interfaces, classes abstraites, implémentations, algorithmes,
liens avec les tableaux;
méthodes communes et supplémentaires;
la classe ArrayList (tableau de taille variable lors de l'exécution),
différence entre taille et capacité;
la nouvelle boucle for each et l'auto-(un)boxing;
Exercices
d'entrainement (avec tableau).
-
TD 6 :
Les tableaux. Un peu de collections.
(sujet)
QCM 3
(coef.2) Sur tout ce qui a été vu pendant les cours 0 à 6
et pendant les TD/TP 1 à 6, mais plus particulièrement
les tests, les boucles, les tableaux, et les collections.
-
TP 6 :
Un peu de tableaux. Les collections.
(sujet)
7 (cours + tp)
-
Cours 7 :
Les exceptions,
la hiérarchie
(à partir de Throwable),
try, catch, finally, throws, throw.
Les applications,
la méthode main,
les arguments de la ligne de commande,
javac,
java,
javadoc
(cliquer sur Options).
Les applettes,
la méthode init, les restrictions, le fichier
HTML, appletviewer.
-
TP 7 :
Exceptions, applications, applettes.
(sujet)
Écrit "final" java
(coef.4) Sur tout ce qui a été vu pendant les cours 0 à 7
et pendant les TD/TP 1 à 7, mais plus particulièrement
jusqu'au TP6.
Dernière mise à jour :