Fiches de cours 2017-2018

PDF
 

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é

Introduction des éléments essentiels de la programmation et de la conception orientée objets avec C++ à partir des connaissances de programmation C acquises en première année. Mise en oeuvre dans une application de simulation utilisant des logiciels libres (Eclipse, Doxygen, XML, gnuplot).

Contenu

Introduction

Présentation du cours: contexte, objectifs, organisation (définition des binômes), travail pratique, évaluations.

Introduction à C++

Nouveautés et changements par rapport à C. Premiers éléments de programmation orientée objet (de struct à class). Types de classes, rôle des classes. Eléments de conception orientée objet. Conteneurs STL (string, vector). Flots d'entrée-sortie. Exceptions.

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.

Application pratique (mini-projet guidé)

- 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.

- Phase 3: Finalisation de l'application. Paramétrisation de l'application pour des cas d'utilisation réalistes. Tests et vérifications fonctionnels.

Présentation orale du projet.

Mots-clés

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

Compétences requises

Cours prérequis obligatoires

Programmation I (CS-11c) et II (CS-112c).

Cours prérequis indicatifs

Information, Calcul, Communication (IN-110c).

Concepts importants à maîtriser

Langage de programmation C. 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. Mini-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

Présentation orale du mini-projet (25%), version finale (phase 3) de l'application (75%).

Ressources

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

Notes de cours.

Préparation pour

Projets en cycles Bachelor et Master.

Dans les plans d'études

  • Génie électrique et électronique , 2017-2018, Bachelor semestre 3
    • 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, 2017-2018, 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-11CO4
11-12CO4
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