Pas encore de diplôme affecté
Programmation C avancée
Code apogéeDIFO5PCAStructurexxDernière mise à jour le04 Juillet 2017
Responsable pédagogiqueRUBINI Stephane (Maître de conférences, 27ème section)
Intervenants
Parcours
    TypeObligatoire
    Semestre5Volume horaire60Crédits ECTS6.5
    Nombre d'heures Cours magistraux (CM)12 Travaux dirigés (TD)12 Travaux pratiques (TP)36 
    Pré-requis

    Langage C + système Unix (mise à niveau), parcours CDA (semestre 5)

    Algorithmique et programmation (semestre 2)

    Langages de programmation  (semestre 3)

    Co-requis 
    Objectif Terminal - savoir développer une application en langage C, en s'appuyant sur une décomposition modulaire du code et sur des bibliothèques prédéfinies (Interface Homme-Machine, interrogation de base de données, ...)
    Objectif Pédagogique

    -  connaissance approfondie du langage C, et des outils de base de son environnement de programmation

    -  connaissance du processus de compilation

    Contenu détaillé de l'enseignement
    • Langage C avancé
      • Rappel sur les classes d'allocations
      • Codage de structures de données complexes
      • Pointeurs de fonctions, fonctions "génériques"
      • Conversions de types, implicites et explicites, portabilité du code
      • Fonctions à nombre variables d'arguments, mécanisme de passage des arguments à une fonction
      • E/S haut niveau

    • Environnement de programmation
      • Compilation séparée
      • Outils make, débogueur symbolique
      • Éditions de liens, construction et utilisation de bibliothèques, édition de liens dynamique
      • Introduction à l'internationalisation

    Projet tuteuré :
    - Développement d'une application simple en langage C, intégrant si besoin est, une IHM graphique élémentaire (GTK) et/ou un accès à une base de données.

    Méthodes d'enseignement

    - CM et TD traditionnels
    - TP sur machine (Linux)
    - Projet tuteuré

    Evaluation session 1

    Écrit de synthèse de 2h (coef 1) et une note de projet (coef 1) 

     

    Evaluation session 2Écrit 2H
    Références Bibliographiques
    1. B. Kerninghan, R. Pike, La programmation en pratique, Vuibert informatique,2001
    2. P. Drix, Le langage C ANSI (vers une pensée objet en Java) (première partie), Dunod, 1997
    3. B.W. Kerningham, R. Pike, David ODIN, Programmation Linux avec GTK+, Eyrolles, 2000