Eugène Asarin, mail , Chargé de cours
Bertrand Gentou, Chargé de TD G1
Yan Jurski , Chargé de TD G2
Jean-Baptiste Yunès , Chargé de TD G3
Guillaume Capron , Chargé de TD G4
Pour les étudiants de L3 Info le groupe de TD est déterminé par la première lettre du nom.
Cours : Jeudi, 14h30 -16h30, amphi 34a
TD G1 : mercredi 8h30-10h30, J8 et 106 - pour A, B et tous les linguistes.
TD G2 : jeudi 16h30-18h30, J6 et 108 - pour C, D, et G à L.
TD G3 : lundi 10h 30-12h30, J4 et 110 - pour M à Q.
TD G4 : jeudi16h30-18h30, J4 et 110 - pour E, F, et R à Z.
Un QCM de mi-parcours a eu lieu mardi le 29 novembre à 18h30-19h15, amphi X2 .
Nouveau: Corrigé.
Un projet (obligatoire, même en cas de dispense du contrôle continu): sujet : Jeu de Borodino; soutenance prévue le 16 janvier.
Nouveau:
Vous pouvez utiliser la version de Java de votre choix.
Par conséquent vous pouvez faire la démo sur les machines de l'UFR, sur votre portable, etc
Vous devez rendre le projet jusqu'au 12/1 : version papier au secrétariat, version électronique aux enseignants (la manipulation à faire est décrite ICI: pour rendre le projet Borodino).
Vous devez vous inscrire le plus vite possible pour la soutenances du 16/1 auprès de Christine Da Silva
Un examen ( le 9/1).
Nouveau: il y a des annales au secrétariat.
G.Clavel, E.-M.Mahé , Java la synthèse : des concepts objets aux architectures - Paris : Dunod , 2000
K. Arnold, J. Gosling , D. Holmes, The Java programming language, 3rd edition, Boston, Mass. : Addison-Wesley , c2000
Et le rayon « Java » de votre bibliothèque préférée…
La page web de Jean-Baptiste Yunès contient vos feuilles de TD et d'autres liens utiles.
Explorez http://java.sun.com, en particulier téléchargez le SDK (Software development kit) pour votre système d’exploitation, et étudiez les documents de http://developer.java.sun.com/developer/onlineTraining/
Deux excellents supports de cours en français :
Le cours Gilles Audemard de http://www.cril.univ-artois.fr/~audemard/java/cours.pdf Ce cours donne un magnifique aperçu conceptuel de la programmation objet Java. À lire en premier.
Et le cours de Jean-Marie Rifflet http://www.pps.jussieu.fr/~rifflet/JAVA/cours.html Ce cours explique en profondeur les subtilités de l’approche objet version Java. À lire lentement et attentivement.
Evolution (et révolutions) des langages de programmation impératifs
Qu’est ce que c’est OO ?
Java – caractéristiques principales. Modèle d'exécution.
Quelques mots sur les autres paradigmes de programmation (logique, fonctionnelle, relationnelle...)
Objets et classes. Encapsulation.
Notions d'objet et de classe.
Variables et méthodes d'instance
Constructeurs
La naissance, la vie et la mort d'un objet.
Les variables références et les variables des types primitifs
Transmission de paramètres en Java
Privé et public. Accesseurs.
Variables et méthodes de classe (statiques)
Tableaux comme objets.
Interfaces et polymorphisme
Notion de polymorphisme
Interfaces
Comment réaliser et utiliser une méthode polymorphe
Liaison tardive
Polymorphisme versus surcharge
A propos des interfaces:
Leur utilisation pour la conception OO
Comparaison Classe-interfaces
Héritage
Réutilisation de code
Notion d'héritage et terminologie
Comment réaliser et utiliser une classe enfant
Déclarer
Ajouter des champs et des méthodes
Utiliser des champs/méthodes héritées et nouvelles
Programmer les constructeurs
Redéfinir des champs et des méthodes
Arborescence des classes
Classe Objet et ses méthodes
comment les utiliser
Transtypage
types primitifs
objets : upcasting
objets : downcasting
Liaison tardive encore, mécanismes statiques et dynamiques, type de référence et type d'objet,
Erreurs de compilation et erreurs d'execution
Retour au polymorphisme
Classes abstraites, classes, interfaces
Visibilité
Exceptions
Généricité (et collections)
3. Java – les bibliothèques
3.1. Packages en général
3.2. Collections
3.3. Entrées-sorties et sérialisation
N'hésitez pas de m'envoyer vos commentaires, solutions des exercices, demandes d'information sur le contenu de cours. On apprécierait beaucoup les notes de cours (en tex, html ou même word).