CS-108 – Pratique de la programmation orientée-objet
Le but de ce cours est d'approfondir les connaissances théoriques et pratiques en programmation orientée-objets en Java acquises au premier semestre. Il se compose d'une partie théorique, le cours et les exercices, et d'une partie pratique, le projet.
Cours
Le matériel de cours ci-dessous est disponible depuis peu, ou le sera bientôt. En plus de la version normale, une version sans animations et en 4 pages par feuille (4ppf) est mise à disposition pour l'impression :
- lundi 18 mai : Interfaces graphiques (4ppf)
Le matériel des semaines passées est disponible sur la page d'archive.
Exercices
Les énoncés ci-dessous sont disponibles depuis peu, ou le seront bientôt :
- mercredi 13 mai : Diagramme à tige et à feuilles (corrigé),
- mercredi 20 mai : Interface graphique LZW (code du corrigé).
Les énoncés des semaines passées sont disponibles sur la page d'archive.
Examens
Deux examens auront lieu au cours du semestre :
- l'examen intermédiaire, le mercredi 15 avril de 13h15 à 15h00,
- l'examen final, le vendredi 29 mai de 11h15 à 15h00.
Chacun d'entre-eux aura une page dédiée contenant toutes les informations utiles, qui sera référencée ci-dessus en temps voulu.
Projet
Le projet de cette année, nommé Imhof, consiste à réaliser un programme de dessin de cartes à partir de données librement disponibles. Il est présenté rapidement dans le document d'introduction et plus en détail dans les descriptions des étapes hebdomadaires.
Les énoncés des étapes suivantes sont disponibles depuis peu, ou le seront bientôt :
- étape 10 (aucun rendu à faire),
- étape 11 (à rendre dans le cadre du rendu final).
Les énoncés des étapes passées sont disponibles sur la page d'archive.
Utilisation d'Eclipse
Les documents ci-dessous expliquent comment effectuer certaines opérations utiles dans Eclipse :
Forum
Toutes les discussions liées au cours, aux exercices et au projet auront lieu sur la page dédiée au cours de piazza.com. Toutes les personnes inscrites au cours sur IS-Academia devraient avoir été inscrites automatiquement à piazza, mais si tel n'est pas le cas, merci de nous le faire savoir.
Références
Les références ci-dessous, en anglais, peuvent être utiles aux personnes désireuses d'approfondir un sujet particulier ou de le voir traité différemment que dans le cours :
- Le site Java Platform, Standard Edition 8, API Specification contient la documentation de la totalité de la bibliothèque standard Java. Pour ce cours, les parties importantes sont les paquetages suivants :
java.lang
, qui contient les classes de base commeString
,Integer
, etc.java.util
, qui contient, entre autres, les classes et interfaces du Java Collections Framework, commeList
,ArrayList
, etc.java.io
etjava.nio
qui contiennent tous deux des classes de gestion des entrées-sorties, commeFile
,Reader
, etc.
- Le livre Effective Java de Joshua Bloch est un très bon recueil de conseils pour bien utiliser le langage Java, un certain nombre d'entre-eux étant repris dans le cours.
- Le livre Java Generics and Collections de Maurice Naftalin et Philip Wadler est une excellente introduction à la généricité et aux collections Java.
- Le site Java Generics FAQ d'Angelika Langer répond en détail à beaucoup de questions concernant la généricité en Java.
- Le livre The Java Language Specification de James Gosling et al. contient la spécification officielle de la version 8 du langage Java. Il n'est pas toujours facile à lire mais est exhaustif et généralement précis.
Equipe
- Enseignant
- Michel Schinz
- Assistants doctorants
- Eugene Burmako, Sébastien Henri, Jean-Eudes Ranvier, Kristina Spirovska, Sam Whitlock, Hao Zhuang.
- Assistants étudiants
- Alfonso Alfonso Peterssen, Raffaele Canale, Philipp Chervet, Kévin Decoster, Ekaterina Dopiro, Martin Duhem, Arthur Graz, Vlad Ioan Haprian, Manon Henrioux, Clément Humbert, Lukas Kellenberger, Julien Lamour, Colin Lavanchy, Quentin Laville, Valentin Moullet, Allan Renucci, Javier Rivas, Marius Rosset, Nicolas Roussel, Valérian Rousset, Matthieu Rudelle, Louis Séguy, Aurélien Soccard, Teo Stocco, Guillaume Tâche, Guillaume Tournigand.
Anciennes éditions
Les anciennes éditions de ce cours ou de ceux qui l'ont précédé sont encore disponibles :
- Pratique de la programmation orientée-objet 2014,
- Théorie et pratique de la programmation 2013 et Projet de technologie de l'information 2013, deux cours séparés qui ont depuis été fusionnés dans l'actuel.