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 :

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 :

Les énoncés des semaines passées sont disponibles sur la page d'archive.

Examens

Deux examens auront lieu au cours du semestre :

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 :

Les énoncés des étapes passées sont disponibles sur la page d'archive.

Utilisation d'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 comme String, Integer, etc.
    • java.util, qui contient, entre autres, les classes et interfaces du Java Collections Framework, comme List, ArrayList, etc.
    • java.io et java.nio qui contiennent tous deux des classes de gestion des entrées-sorties, comme File, 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

Anciennes éditions

Les anciennes éditions de ce cours ou de ceux qui l'ont précédé sont encore disponibles :