CS107: Livres et Tutoriels sur Java
Introduction
Consulter (ou télecharger dans les cas où c'est possible) un/des livre(s) de référence sur Java peut être intéressant pour
plusieurs raisons:
- Les transparents ne peuvent pas mentionner tous les détails du langage
- Si vous n'aimez pas ou ne comprenez pas la façon dont la matière est expliquée dans
les transparents, le livre vous apportera un autre point de vue qui vous conviendra
peut-être mieux.
- Vous avez droit à votre livre de référence lors des tests.
Les livres de référence sur Java sont nombreux et de qualité et de style très variables, mais souvent assez anciens (les modes d'apprentissage ayant beaucoup évolué). Cela ne signifie pas qu'ils ne soient plus utiles, en particulier pour ce qui est de l'apprentissage des bases fondamentales.
Quelques références
Une liste succincte de bons ouvrages sur Java vous est donnée ci-dessous. Si
vous souhaitez nous faire partager vos découvertes et/ou opinions sur les ouvrages (cités
ou non ici), vos commentaires sont bienvenus sur le forum du cours.
Pour les notions fondamentales du langage Java et de l'approche OO:
- "Head First Java" (3nd Edition)
Auteur: Bert Bates, Kathy Sierra
Editeur: O'Reilly
Pas de textes policés, beaucoup d'images, une lecture rapide et des exercices pour
vérifier la progression.
Intéressant (et plein d'humour). Aide sans aucun doute à bien négocier le virage
orienté-objet (va jusqu'à Java 17).
- "Java: A Beginner’s Guide (9th Edition) ,
Auteur: Herbert Schildt
Ouvrage complet et plus systématique que le précédent: reste une très bonne référence (bien que Java 11)
- "Java: The Complete Reference" (13th Edition)
Auteur: Herbert Schildt
Herbert Schildt est un expert en Java et C++, auteur de nombeux ouvrages (Java 21).
à la présentations claire et didactique. La première partie de l'ouvrage
suit d'assez près la progression du cours.
- "Absolute Java, 6th edition",
Auteur: Walter Savitch et Kenrick Mock
Editeur: Pearson Education
Ouvrage complet et à la mise en page très agréable. Progression très proche de celle du MOOC (ancien mais couvre le matériel de base de façon toujours adaptée pour ce cours).
... plus avancés
Les notions de bases sont aussi couvertes par l'ouvrage ci-dessous. Elles le sont
cependant souvent en présupposant un peu d'expérience en programmation.
- "Core Java, Volume 1: Fundamentals" (11th Edition)
Auteurs: Cay S. Horstmann, Gary Cornell
Editeur: Prentice Hall
Excellente référence, donnant plein de conseils sur les aspects méthologiques et
l'utilisation de l'API.
Enseigne les bases de Java mais nécessite une certaine expérience en programmation.
Enfin il existe aussi des ouvrages adaptés aux personnes ayant de l'expérience dans d'autres langages mais souhaitant apprendre le Java.
Méthodologies de programmation
Si vous avez acquis les bases mais souhaitez acquérir plus de savoir-faire au niveau de
votre méthodologie de programmmation (Java et/ou orienté-objet):
- "Refactoring -- Improving the design of existing code"
Auteur: Martin Fowler (et al.)
Editeur: Addison-Wesley
Ouvrage incontournable pour acquérir un savoir-faire orienté-objet (ne vous sera pas
utile que pour les cours de programmation de première année~!). Illustre au moyen de cas concrets des
situations typiques en programmation OO en Java. Pour chaque cas, sont présentées de
façon claire et détaillée, les solutions qu'il est conseillé d'adopter.
Toujours sous la même rubrique, mais un peu plus poussés:
- "Design patterns -- Elements of reusable object-oriented software "
Auteur: E. Gamma, R. Helm, R. Johnson, J. Vlissides
Editeur: Addison-Wesley
"La" référence en matière de méthodologie OO.
Algorithmique et Java
Enfin, si vous vous intéressez de plus près à des concepts algorithmiques:
Autres références
D'autres références Java commentées sont disponibles par exemple sur le site developpez.com. En particulier:
Les tutoriaux de openclassroom sont souvent appréciés pour les premiers pas et quelques compléments pratiques.
Et pour finir...
Petite leçon d'humilité (ou comme quoi il faudra quand même
passer un peu de temps à pratiquer toutes les notions
apprises dans la littérature) :
|