Algorithmique et programmation 2 - KAIE6M14

  • Volumes horaires

    • CM 14.0
    • Projet -
    • TD 18.0
    • Stage -
    • TP 28.0
    • DS 6.0

    Crédits ECTS

    Crédits ECTS 0.7

Objectif(s)

Ce cours présente et approfondit le paradigme de la programmation impérative. Il donne aux étudiants les outils pour modéliser des situations complexes et concevoir des solutions efficaces.

À l'issue de cet enseignement, l'étudiant sera capable de maîtriser la programmation avancée en langage C :

  • Manipuler des fichiers textes et binaires
  • Manipuler des pointeurs
  • Manipuler les arguments de la ligne de commande
  • Déterminer le coût en temps des algorithmes dans le pire des cas
  • Élaborer des algorithmes récursifs
  • Manipuler les structures de données complexes du langage C

Contenu(s)

  1. Pointeurs, allocation dynamique, Makefile et manipulation des fichiers
  2. Récursivité : appels de sous-programmes et la pile d'exécution, paradigme « diviser pour régner »
  3. Algorithmes de tri et leur complexité : tri par sélection, tri rapide, tri par insertion séquentielle, tri fusion
  4. Structures de données élémentaires : liste, ensemble, pile, file
  5. Listes chaînées : simplement chaînées, doublement chaînées
  6. Arbres : arbres binaires, arbres binaires de recherche

Prérequis

  • Cours "Algorithmique et programmation 1" (IESE3)
  • Connaissance des bases de la compilation en langage C
  • Maîtrise de l'environnement de programmation Linux

Contrôle des connaissances

100 % examen terminal :

  • 50 % épreuve écrite – 2h :
    - 1 feuille A4 recto/verso manuscrite autorisée
    - calculatrice, ordinateur, téléphone portable et montre connectée interdits
    - En cas de tiers-temps : sujet adapté
  • 50 % épreuve sur machine
    - 1 épreuve – 3h
    - Polycopié de cours et codes de TP autorisés
    - calculatrice, ordinateur personnel, téléphone portable et montre connectée interdits
    - En cas de tiers-temps : sujet adapté
    En cas de non validation d’une UE, le jury peut autoriser l’élève ingénieur à passer des épreuves complémentaires pour la valider.

Calendrier

Le cours est programmé dans ces filières :

  • Formations d'ingénieur - IESE - Semestre 6

Informations complémentaires

Code de l'enseignement : KAIE6M14
Langue(s) d'enseignement : FR

Vous pouvez retrouver ce cours dans la liste de tous les cours.

Bibliographie

  • "Types de données et Algorithmes" par Christine Froidevaux, Marie-Claude Gaudel et Michèle Soria
  • "Le langage C - Norme ANSI" par Brian W. Kernighan et Dennis M. Ritchie