HMIN111M Programmation 2017-2018

Programmation (HMIN111M)

Master IPS (M1), Master Géomatique (M2), Master BCD (M1), Master Physique-info (M1), 5 crédits européens

Responsable : Marianne Huchard

Intervenants : Marianne Huchard, Michelle Joab, Mathieu Lafourcade

Volume horaire : 16,5h Cours 15h TD 18h TP

Modalités de contrôle des connaissances : 70 % écrit (2 sessions de 1h30), 30 % CC

Pré-requis : Prolégomènes d'algorithmique, éléments de base d'algorithmique impérative et structurée

Mots-clefs : Programmation impérative, programmation par objets, Java

Description :  L'enseignement est consacré aux notions élémentaires de la programmation par objets, avec notamment les notions clés de classes, d'attributs, de méthodes, d'instanciation, de typage statique, de généricité (par l'usage de classes génériques) et d'héritage (définition par différence, spécialisation/généralisation, liaison dynamique, surcharge et masquage). Le langage support est Java. Les travaux pratiques aborderont également les aspects techniques de la compilation et d'interprétation avec une machine virtuelle. Cet apprentissage se fera avec le Java Development Kit et la plate-forme Eclipse.

Documents : disponibles sur l'ENT au fur et à mesure de l'avancement (MOODLE) ou attachés à cette page

lien moodle du cours

Salles sur le planning

Quelques sujets d'examens des années précédentes

 

POLYCOPIE

Programme indicatif : 

Vendredi 15 septembre

Cours  1 (MH) - Types, variables, instructions simples (affectation, lecture, affichage)

TD/TP 1 (MH, MJ, ML) - Traduction de quelques algorithmes simples, Eclipse, classes-programmes

Vendredi 22 septembre 

Cours 2 (MH) - Classes, attributs, objets, premières méthodes

TD/TP 2 (MH, MJ, Jimmy Benoits) - Une classe Etudiant (attributs, constructeurs, accesseurs)

Vendredi 29 septembre

Cours 3 (Jimmy Benoits) -  Etude de deux classes connectées (association), suite sur les méthodes, instructions conditionnelles

TD/TP 3 (MJ, ML, Jimmy Benoits) - La classe Etudiant (suite : autres méthodes)

Vendredi 6 octobre

Cours 4 (MH) - Héritage, première partie : principes, attributs, constructeurs

TD/TP 4 (MH, MJ, ML) - La classe Humain, début des objets postaux

Vendredi 13 octobre

Cours 5 (MH) - Héritage : redéfinition de méthodes, liaison dynamique

TD/TP 5 (MH, MJ, ML(JB)) - Objets postaux

Vendredi 20 octobre

Cours 6 (MH) - Répétitives et tableaux

TD/TP 6 (MH,MJ,ML) - Appartements, Agence immobilière, Tableaux de caractères et jeu de la vie (pour les avancés)

Vendredi 27 octobre

Cours 7 (MH) - Vector, Array List

TD/TP 7 (MH,MJ,Kevin Cousot) - Contrôle instructions simples, classes, méthodes, conditionnelles.
Promotion d'étudiants, Sac postal, Agence immobilière avec une Array List

Vendredi 4 novembre - vacances universitaires

Vendredi 10 novembre -

Cours 8 (MH) - Retour sur les données : Attributs de classes, attributs constants et méthodes de classes, Enum, immutables

TD/TP 8 (MH,MJ,ML) - suite appartements / agence immobilière / Promotion d'étudiants

Vendredi 17 novembre -

Cours 9 (MH) -  Récursivité

TD/TP 9 (MH,MJ,ML)  -Pièces de quincaillerie - sujet du contrôle de décembre 2016 (avec héritage et récursivité)

Vendredi 25 novembre - relâche, révisions

Les salles de TD/TP sont ouvertes pour réviser

Vendredi 1 décembre

Cours 10 (MH) - Héritage, suite :  redéfinition versus surcharge, liaison dynamique, Bi-méthodes, coercition, test de type, protection

TD/TP 10 (MH,MJ,ML) - Contrôle héritage, vecteurs, itérations puis suite TP Pièces de quincaillerie

Vendredi 8 décembre

Cours 11 (MH) -   Pour bien programmer : les notions de patrons de conception et de refactoring

TD/TP 11 (MH,MJ,ML) - Figures géométriques

Vendredi 15 décembre

Semaine possible pour des rattrapages ou compléments de cours

Dernière mise à jour le 02/11/2017