Algorithmique avancée et programmation C

Informations

ResponsableNicolas Delestre
Enseignant(s)Nicolas Delestre, Géraldine Del Mondo, Benoît Gaüzère
LangueFrançais
Crédits4.5
Volume horaireCM : 21h TD : 42h
Site webhttp://moodle.insa-rouen.fr/course/view.php?id=60

Objectifs

L'objectif de ce cours est d'une part d'étudier des structures de données dynamiques et des algorithmes avancés et d'autre part de poser les bases du développement informatique (utilisation d'une partie du cycle en V: analyse, conception préliminaire, conception détaillée, développement, tests unitaires) en développant un projet d'envergure en C.

Capacités enseignées

  • Référentiel INSA :
    • Faire une analyse fonctionnelle (externe et interne) [1P]
    • Faire une analyse technique [1P]
    • Choisir un paradigme [1P]
    • Documenter et intégrer une architecture modulaire [1P]
    • Maîtriser un ou plusieurs langages de programmation (procédural ou orienté-objet) [3P]
  • Référentiel CNISF :
    • J60Q [3P]
    • J80H [2P]
1 - notion, 2 - théorisation, 3 - application, I - intégralement, P - partiellement

Programme

  • Le langage C
  • Les Types Abstraits de Données
  • Les collections
  • Les Structures de données dynamiques
  • La conception des types abstraits de données à l'aide des structures de données dynamiques
  • Les collections en C
  • Introduction aux graphes et présentation de quelques algorithmes (parcours en largeur et en profondeur, tri topologique, Dijkstra, A*)
  • La programmation dynamique
  • Les B-arbres

Pré-requis

Cours I3 (https://moodle.insa-rouen.fr/course/view.php?id=87)

Bibliographie

aucun

Méthode d'évaluation

  • Examens Théoriques : 50%
    • Partiel : 30%
    • Final : 70%
  • Examen Pratique : 30%
  • Projet et contrôle continu : 20%
  • QCM d'auto-évaluation: pour chaque QCM non fait, -0,25 sera retiré sur la note finale