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

(à partir d'ici, les corrections sont sur le MOODLE)

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)  - suite appartements / agence immobilière / Promotion d'étudiants

Vendredi 24 novembre - relâche, révisions

Cours de synthèse à 8h

De 9h45 à 13h : 2 salles de TD/TP sont ouvertes pour réviser. Il y aura un suivi pour les étudiants débutants uniquement

Vendredi 1 décembre

Cours 10 (MH) - Analyse du TD Pièces composite et présentation de la notion de patron de conception

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

Vendredi 8 décembre

Cours 11 (MH) -   Pour bien programmer : les notions de patrons de conception et de refactoring ou Héritage, suite :  redéfinition versus surcharge, liaison dynamique, Bi-méthodes, coercition, test de type, protection

TD/TP 11 (MH,MJ,ML) - suite TP Pièces de quincaillerie puis Figures géométriques

Vendredi 15 décembre

(pas de cours)

Vendredi 22 décembre

(pas de cours)

Dernière mise à jour le 14/12/2017