Fiches de cours

Programmation et conception orientées objets

ENG-209

Enseignant(s) :

Vachoux Alain
Zysman Eytan

Langue:

Français

Retrait

Il n'est pas autorisé de se retirer de cette matière après le délai d'inscription.

Résumé

Ce cours mets l'accent sur la conception et le développement d'architectures de classes C++ avec une mise en pratique par le développement d'une application de simulation. Il introduit aussi l'usage de logiciels libres (Eclipse, Doxygen, XML, gnuplot, Git).

Contenu

Introduction

Présentation du cours: contexte, objectifs, documentation disponible, organisation du travail,  projet, évaluations.

Rappels et compléments C++ OO

Rappels sur les classes (types de classes, rôle des classes, conception orientée objet). Exceptions. Patrons de conception. Exercices.

Introduction aux outils logiciels

Environnement de développement Eclipse C++. Documentation avec Doxygen. Structuration des données avec XML. Génération de graphes avec gnuplot. Gestion des versions avec Git.

Projet de simulation

Travail en binômes.

- Phase 1: Infrastructure de base. Conception d'une architecture de classes. Développement et test d'une application générique réalisant tous les mécanismes requis au moyen d'acteurs simples.

- Phase 2: Spécialisation de l'application. Développement et test des acteurs spécifiques à l'application par réutilisation et extension des acteurs simples. Finalisation de l'application. Paramétrisation de l'application pour des cas d'utilisation réalistes. Tests et vérifications fonctionnels.

Rapport écrit sur le projet.

Mots-clés

Programmation orientée objet. C++. Développement de projet logiciel.

Compétences requises

Cours prérequis obligatoires

Information, calcul, communication (CS-110c), Programmation orientée projet (CS-112a).

Concepts importants à maîtriser

Langage de programmation C++ (programmation procédurales, bases de la programmation orientée objets). Usage du système d'exploitation Linux.

Acquis de formation

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

Compétences transversales

Méthode d'enseignement

Ex-cathedra. Exercices pratiques sur ordinateur. Projet guidé avec vérification des étapes.

Travail attendu

Lecture et compréhension des notes de cours et des documents fournis en plus des transparents présentés en séance.
Résolution d'exercices avec support en séance ou de manière autonome.
Mini-projet en binôme. Réalisation d'une application C++ de complexité moyenne, complète et fonctionnelle. Présentation orale du travail effectué.

Méthode d'évaluation

Exercices. Version finale de l'application. Rapport du projet.

Encadrement

Office hours Non
Assistants Oui
Forum électronique Oui

Ressources

Service de cours virtuels (VDI)

Oui

Bibliographie

B. Stroustrup, Programming -- Principles and Practice Using C++, Addison-Wesley, 2009.

B. Stroustrup, The C++ Programming Language, 4th ed., 2013.

J.-C. Chappelier, F. Seydoux, C++ par la pratique, PPUR, 3ème éd., 2012.

S. Meyer, Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3rd ed., Addison-Wesley, 2005.

Ressources en bibliothèque
Polycopiés

Copies des transparents présentés.

Sites web
Liens Moodle

Préparation pour

Projets en cycles Bachelor et Master.

Dans les plans d'études

    • Semestre
       Automne
    • Forme de l'examen
       Pendant le semestre
    • Crédits
      2
    • Matière examinée
      Programmation et conception orientées objets
    • Cours
      1 Heure(s) hebdo x 14 semaines
    • Projet
      1 Heure(s) hebdo x 14 semaines
  • Passerelle HES - EL, 2019-2020, Semestre automne
    • Semestre
       Automne
    • Forme de l'examen
       Pendant le semestre
    • Crédits
      2
    • Matière examinée
      Programmation et conception orientées objets
    • Cours
      1 Heure(s) hebdo x 14 semaines
    • Projet
      1 Heure(s) hebdo x 14 semaines

Semaine de référence

 LuMaMeJeVe
8-9     
9-10     
10-11INF3    
11-12INF3    
12-13     
13-14     
14-15     
15-16     
16-17     
17-18     
18-19     
19-20     
20-21     
21-22     
 
      Cours
      Exercice, TP
      Projet, autre

légende

  • Semestre d'automne
  • Session d'hiver
  • Semestre de printemps
  • Session d'été
  • Cours en français
  • Cours en anglais
  • Cours en allemand