WikiLuc

Guest connection: login: Guest, password: anonymous

User Tools

Site Tools


dit:cours:maths2_2013-14

Cours de programmation orientée objet 2013-14

La page spéciale du projet 2 est en ligne!

Projets

  • Matrices: déterminant, inversion, exponentiation, stabilité numérique
  • Graphisme: manipulation de figures, opérations, remplissage, mouvement

Organisation

  • Responsable: Luc Bougé, bureau R110 à Ker Lann le mardi (le lundi et le vendredi à l'IRISA sur le Campus de Beaulieu)
  • Délégué de classe: Laura Gay
  • Mode d'évaluation: contrôle continu basé sur les 3 projets. Critères d'appréciation: contribution, rapport, soutenance. Pas d'examen final sur table en temps limité.
Support technique
Organisation du cours (accès privé)

Vous avez cours le lundi, 10h15-12h15 à Beaulieu, et TP le mardi, 8h-10h à Ker Lann. Voir le programme prévisionnel pour les détails.

Bibliographie
  • C++ for mathematicians, by Ed Scheinerman and published by CRC Press. Le livre de référence du cours. Achat recommandé.
  • Notes de cours de l'ISTIC: Programmation par objets en C++, P. Le Certen, L. Ungaro, numéro 99. Un exemplaire de ce polycopié vous sera distribué la première semaine.

Pour aller plus loin, voir la bibliographie complémentaire


Cours 6: Standard Template Library

18 février 2014

  • Types abstraits: vecteur, liste, pile, file, table, ensemble
  • Conteneurs standards
  • Parcours

Compléments:

  • Le pointeur this
  • Pointeur et virtualisation
  • Chaînes de caractères, passage d'arguments en ligne de commande
Références
  • Containers: Containers replicate structures very commonly used in programming: dynamic arrays (vector), queues (queue), stacks (stack), heaps (priority_queue), linked lists (list), trees (set), associative arrays (map)…

Cours 5: Pointeurs

17 février 2014

  • Notion d'adresse et de pointeur
  • Applications: passage de paramètre par adresse, partage d'objets dans un vecteur
  • Pointeurs et tableaux: arithmétique pointeur

À traiter:

  • Le pointeur this
  • Pointeur et virtualisation
  • Chaînes des caractères
  • Allocation dynamique
Tuturiels

Cours 4: Héritage et virtualisation

11 février 2014

  • Notion d'héritage: extension, redéfinition, abstraction
  • Déclaration C++: NamedPoint fille de Point
  • Visibilité: qualificateur protected
  • Virtualisation et polymorphisme: qualificateur virtual

TP 7: Lancement du projet Graphisme

Tutoriels

Cours complémentaire: Outils de gestion de projets

3 février 2014

TP 6: Soutenances

Manuels de référence

Cours 3: Classes et objets

20 janvier 2014

  • Approche par type abstrait: Complex, constructeurs, accesseurs, observateurs, combinateurs, modificateurs
  • Classe: attributs, constructeurs, méthodes, fonctions externes
  • Principes de programmation objet: minimisation de la classe, approche défensive, assertions
  • L'objet *this
  • Attributs et méthodes statiques
  • Complément C++: références, application au passage de paramètre, qualification const

TP 3: Lancement du projet Matrices
TP 4: Suivi de projet
TP 5: Suivi de projet

Cours 2: Un peu plus loin en C++

14 janvier 2014

  • Fonctions: passage de paramètres par valeur, variables locales, retour
  • Structures de données avancées: échappements, variations sur la boucle for, boucles imbriquées
  • Gestion des erreurs: assertions, fonction exit
  • Entrées-sorties: cout et cin, gestion des erreurs en lecture
  • Déclarations locales et globales

TP 2: Calcul du PGCD

Cours 1: Premiers pas en C++

7 janvier 2014

  • Un peu d'histoire
  • Hello world!
  • Types de base, déclarations, chaînes, vecteurs
  • Structures de contrôle: choix, itération non bornée, itération bornée, bloc, fonctions

TP 1: Prise en main Linux


Bibliographie complémentaire


Outils, environnements de programmation, etc.

Un environnement de développement recommandé: Geany

Geany is known to run under Linux, FreeBSD, NetBSD, OpenBSD, MacOS X, AIX v5.3, Solaris Express and Windows. More generally, it should run on every platform, which is supported by the GTK libraries. Only the Windows port of Geany is missing some features.

Environnements de développement

Tout le cours est construit sur le compilateur GNU g++ et les outils GNU standard: make, gdb, etc. Nous utiliserons aussi des outils avancés comme valgrind. L'environnement recommandé est Linux Ubuntu, mais vous pouvez tout à fait travailler sur Windows ou Mac. Voir les pages détaillées ci-dessous

Attention cependant, les projets sont corrigés sous Linux Ubuntu. C'est votre responsabilité que de vérifier que tout marche bien dans cet environnement si vous développez autrement.

Un site ressource sur les environnements de développement C++: la page Wikipedia sur les environnements de développement intégré (EDI)

dit/cours/maths2_2013-14.txt · Last modified: 2017/04/05 17:06 (external edit)