Cours/TD de Programmation et d'Algorithmique, en Java
DEUXIEME SEMESTRE
Enseignants:
Environnement de travail:
- Portable sous Linux
- Editeur Emacs
- Version Java de Sun 1.6
Notion de cours à connaître (sera mis à jour régulièrement au cours de l'année)
Programme (sera mis à jour régulièrement au cours de l'année):
Semaine du 10 Septembre 2007:
- Introduction à l'environnement de travail
- Mon premier programme : BienvenueAPolytech
- Les types de nombres. Calcul symbolique et numérique.
Semaine du 17 Septembre 2007:
- Introduction aux notions de classes et d'objets
- Boucles : for, while, do while
- Type boolean
Exercices: classe NombresComplexes
Semaine du 24 Septembre 2007:
- Approfondissement des notions de classes et objets
- Les tableaux
- Exercice : classe Entier
Semaine du 1er Octobre 2007:
- Exercice: classe Entier (suite)
- Les caractères (char) et les chaînes de caractères (String)
Exercice: classe Trombinoscope
Semaine du 8 Octobre 2007:
- Le mot clef "static"
- variables d'instance et variable de classe
- méthode de classe
- Exemple: la class java.lang.Math
- Algorithmique : notions de recursivité. Retour à la factorielle.
- Collections
Semaine du 16 Octobre 2007:
- Les droits : public, protected, private
- L'héritage
- L'API Java et l'héritage
- Exercice: Les matrices et les matrices carrées
Semaine du 23 Octobre 2007:
- Révision pour l'examen
Le 7 Novembres 2007: Examen
Semaine du 13 Novembre 2007:
- Entrées - sorties standards
Collection : ArrayList
Semaine du 20 Novembre 2007:
- Exceptions (par Adrien Morvan)
Semaine du 27 Novembre 2007:
- Classes abstraites ( par Fakher Braham) et interfaces (par Mohamed-Amine Sadaoui)
Semaine du 4 Décembre 2007:
- Classes anonymes / internes (par Jérémie Giraud-Telme)
Test de la semaine sur machine (classe abstraite/ interface)
Une correction possible du test de la semaine sur machine (classe abstraite/ interface)
Semaine du 11 Décembre 2007:
- Interfaces graphiques
- Package et implication sur la notion de protected (par Raphaël Madeleine)
- Archives .jar et MANIFEST, CLASSPATH (par Pierre Cargemel)
Semaine du 18 Décembre 2007:
- Révisions. Préparation de l'examen de Janvier.
15 Janvier 2008: rendu du travail sur le vocabulaire anglais
16 Janvier 2008: 14h->17h. Questions/réponses
21 Janvier 2008:
- Examen sur machine. 3h.
- Distribution Linux basée sur Knoopix (dérivée de Debian)
- Pas d'accès au réseau
- API Java et documentation du site de Sun accessibles en local (sur la machine)
- Editeurs : emacs et vi
- Version Java 1.5 de Sun
- Le code devra être propre, lisible et commenté. Il devra compiler et s'exécuter sans erreur.
Evaluation:
- Examens (2 au 1er semestre: semaine 45 et semaine 4; 1 au 2nd semestre)
- Contrôle continu (petits exercices en temps limité, questions de cours, travail à faire à la maison, présence et comportement)
- Crédits ECTS:
- 1er semestre: 1 pour le 1er examen, 1 pour le 2ème examen, 1 pour le contrôle continu
- 2ème semestre: 2 pour l'examen (ou bien 1 pour chaque examen si on en fait 2) et 1 pour le contrôle continu
Liens utiles:
La documentation sur le site de Sun ... : http://java.sun.com/javase/6/docs/
La documentation du langage http://java.sun.com/docs/books/jls/index.html
Les tutoriaux http://java.sun.com/docs/books/tutorial/
... et surtout, l'API
A lire à la bibliothèque:
- "Introduction to The Design and Analysis of Algorithms" par Anany Levitin (côte 005.1 LEV)
- "Algorithms in Java" par Robert Sedgewick, (côte 005.1 SED)