Logo ÉTS
Session
Cours
Responsable(s) Mohamed Cheriet

Se connecter
 

Sauvegarde réussie
Echec de sauvegarde
Avertissement





Cours

Module Semaines Sujets couverts                                                
1 1-2
  • Introduction aux structures de données et algorithmes 
  • Types de données abstraits et paradigme orienté objets
  • Opérations fondamentales
  • Analyse de complexité  
  • Techniques de programmation C++ 
    • Retours importants :  
      • compilation et liaison 
      • orienté objets, construction/destruction, opérateurs 
      • pointeurs et références 
      • tableaux, structures et unions
    • Modèle et représentation de la mémoire 
    • Allocation et gestion de la mémoire 
  • Retour UML                                                                 
2 3
  • Listes généralisées
  • Implémentation 
    • mémoire fixe et redimensionnable 
    • organisation contiguë 
  • Tableaux                                                    
3 4-5
  • Itérateurs
  • Implémentation : organisation chaînée par enregistrement 
  • Listes chaînées : simple, double, double entrées, circulaire 
  • Listes spécialisées : pile, file, file de priorité 
  • Techniques de programmation C++ 
    • stratégies de gestion d'erreurs 
    • template                                                  
4 9
  • Implémentation : organisation par clé de localisation   
  • Hachage    
  • Table de hachage 
    • fonctions de hachage  
    • techniques de gestion des collisions 
    • table fixe et dynamique                                  
5 6-8
  • Récursivité
  • Arbres généralisés
    • binaires : non contraint, arb, avl, arn 
    • en épi 
    • d'expression 
    • n-aire                                                    
6 10
  • Triage 
  • Algorithmiques génériques
7 11
  • Graphes généralisés  
    • non dirigés, dirigés 
    • parcours 
    • chemin le plus court 
    • arbre couvrant minimum                                  
8 12-13
  • Discussions diverses 
    • implémentation : organisation chaînée par bloc
    • allocation et libération automatique de la mémoire : 
      • mise à jour du nombre de référence
      • pointeurs intelligents
      • ramasse-miettes  
      • pool d'objets
    • problèmes complexes et heuristiques  
    • résolution de problèmes divers 
    • parallélisme 
    • autres langages de programmation                          

 

 

Laboratoires et travaux pratiques

Déroulement des laboratoires

Activités     Semaines   Modules couverts Remise
Laboratoire 1 2-5 1-2 avant laboratoire 2
Laboratoire 2 6-9 3-4 avant laboratoire 3
Laboratoire 3 10-13 5-6 avant examen final

 

Notes :
 - Tous les laboratoires doivent être réalisé en équipe d'au moins 2 étudiants.
 - UML est utilisé dans les échanges enseignants-étudiants et étudiants-étudiants.
 - Les travaux doivent être réalisé en langage C++.
 - La blibliothèque Qt est utilisée.
 - Les développements sont réalisés avec Visual Studio sous Windows.


Utilisation d'outils d'ingénierie

Outils utilisés

 - Ordinateur personnel
 - UML
 - Langage C++ et Qt
 - Visual Studio