En pratique :

Volume horaire de cours : 20
Volume horaire global de TD : 20
Volume horaire global de TP : 20
Langue principale : français
Nombre de crédits européens : 6

Description du contenu de l'enseignement

Ce cours introduit les notions de base de la programmation impérative moderne : la programmation objet et les collections. Ces notions seront illustrées dans le langage Java. Il s’agit d’un enseignement fondamental (apprentissage de notions communes à tous les grands langages objets de programmation) et technologique (implémentation de ces notions en Java).
Il s’appuie sur l’unité « Informatique 1 » de L1, prépare au cours de Génie Logiciel de L2 informatique et au cours « Programmation » de L3 informatique.
Le programme du cours est le suivant :
Rappels Java

  1. Variables, types, tableaux
  2. Conditions
  3. Boucles
  4. Fonctions, paramètres
    Debugger
  5. Récursivité
    Fractales

Fichiers
Objet

  1. Notion d'objet
  2. Encapsulation
  3. Référence
  4. Visibilité
  5. Polymorphisme
  6. Héritage

Structures de données

  1. Liste chaînées simples et doubles
  2. Arbres
    ABR
  3. Tables de correspondance

Collections

  1. List, Set, Map
  2. Généricité pour les collections

Introduction à Java 8 stream


Compétences à acquérir

À la fin du cours, les étudiants savent écrire des programmes non triviaux en suivant une approche objet. Ils savent également exploiter les collections comme structure de données et écrire des algorithmes les utilisant.


Bibliographie, lectures recommandées

Cours de Java de l’Université de Princeton : http://introcs.cs.princeton.edu/java/home/ [8]


Pré-requis

Profils attendus

Avoir suivi l’enseignement « Informatique 1 » de L1 ou tout autre module de programmation impérative de niveau L1.