CS-108 / coefficient 9

Teacher: Schinz Michel

Language: French


Résumé

Les étudiants perfectionnent leurs connaissances en Java et les mettent en pratique en réalisant un projet de taille conséquente. Ils apprennent à utiliser et à mettre en œuvre les principaux types de collections (listes, ensembles, tables associatives), et examinent quelques patrons de conception.

Contenu

Approfondissement des connaissances du langage Java, en particulier de la généricité (polymorphisme paramétrique), des classes imbriquées et anonymes et des lambdas.

Introduction à différents aspects de la bibliothèque standard Java : collections, entrées-sorties, interfaces utilisateur graphiques, etc.

Etude des mises en œuvre des collections par chaînage, arbres binaires de recherche ou hachage.

    Introduction aux patrons de conception (design patterns) et examen des plus importants (Decorator, Composite, Builder, etc.).

    Examen de l'utilisation judicieuse de l'héritage et de l'immuabilité.

    Réalisation d'un projet de programmation conséquent en Java.

    Mots-clés

    Java, programmation orientée-objets, collections, patrons de conception.

    Compétences requises

    Cours prérequis obligatoires

    CS-107 Introduction à la programmation.

    Acquis de formation

    A la fin de ce cours l'étudiant doit être capable de:

    • Concevoir et écrire des programmes Java de taille moyenne.
    • Utiliser à bon escient la totalité des concepts de Java.
    • Utiliser et concevoir des classes et méthodes génériques en Java.
    • Utiliser et mettre en oeuvre les principales sortes de collection (listes, ensembles, tables associatives).
    • Utiliser judicieusement l'héritage et l'immuabilité dans les langages orienté-objets.
    • Reconnaitre et savoir utiliser plusieurs patrons de conception.

    Compétences transversales

    • Utiliser les outils informatiques courants ainsi que ceux spécifiques à leur discipline.

    Méthode d'enseignement

    Ex-cathedra.

    Travail attendu

    Participation au cours, réalisation des exercices, réalisation du projet.

    Méthode d'évaluation

    Durant le semestre : projet (60%), examen intermédiaire (15%) et examen final (25%).

    Encadrement

    Office hours Non
    Assistants Oui
    Forum électronique Oui

    Ressources

    Service de cours virtuels (VDI)

    Oui

    Ressources en bibliothèque

    Sites web

    In the programs

    • Semester: Spring
    • Exam form: During the semester (summer session)
    • Subject examined: Practice of object-oriented programming
    • Courses: 2 Hour(s) per week x 14 weeks
    • Exercises: 2 Hour(s) per week x 14 weeks
    • Project: 6 Hour(s) per week x 14 weeks
    • Type: mandatory
    • Semester: Spring
    • Exam form: During the semester (summer session)
    • Subject examined: Practice of object-oriented programming
    • Courses: 2 Hour(s) per week x 14 weeks
    • Exercises: 2 Hour(s) per week x 14 weeks
    • Project: 6 Hour(s) per week x 14 weeks
    • Type: mandatory

    Reference week

    Tuesday, 8h - 10h: Project, labs, other INF2
    INF1
    INF3

    Tuesday, 10h - 12h: Lecture RLC E1 240

    Friday, 10h - 12h: Exercise, TP INF2
    INF3
    INF119
    INF213

    Friday, 13h - 17h: Project, labs, other INF2
    INF3
    INM200
    INF213

    Related courses

    Results from graphsearch.epfl.ch.