« INFO517 : Programmation C » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Ligne 40 : Ligne 40 :


=== En TP ===
=== En TP ===
** un TP de mise en route et de précision de la notion de compilation en C
* un TP de mise en route et de précision de la notion de compilation en C
** un projet logiciel sur les deux dernières séances (8h)
* un projet logiciel sur les deux dernières séances (8h)


=== Outils et concepts (survol théorique et utilisation en TP) ===
=== Outils et concepts (survol théorique et utilisation en TP) ===
** automatisation de la compilation (make),
* automatisation de la compilation (make),
** analyse de l'exécution et déboguage (gdb et ddd),
* analyse de l'exécution et déboguage (gdb et ddd),
** boîte à outils graphique (gtk+)
* boîte à outils graphique (gtk+)


== Supports ==
== Supports ==

Version du 15 décembre 2008 à 14:19

Cours du semestre 5 de la licence STIC INFO.

Responsable pour 2008--2009: Lionel Vaux.

Pensez à consulter les indications pour compiler un petit programme sur une machine des salles de TP.

N'hésitez pas à contribuer au wiki, et en particulier à cette page: clarifications, compléments, exemples… Si vous n'avez pas compris un point particulier, vous pouvez signaler votre problème sur la page de discussion (onglet en haut de cette page) ou par les moyens habituels. Il sera ensuite très positif de revenir sur cette page et de consigner ce qui vous posait problème et ce qui vous a permis de mieux comprendre.

Fonctionnement

Cet enseignement comprendra 10 séances de cours/TD (1h30) et 3 séances de TP (4h).

La distinction entre cours et TD restera floue. Je vous demanderai généralement d'écrire quelques petits programmes d'une semaine sur l'autre. Autant que possible, envoyez-moi vos fichiers sources à l'adresse lionel.vaux@univ-savoie.fr, afin que je puisse évaluer le niveau de chacun et ajuster le contenu des séances suivantes.

Et dites-moi si ça ne va pas, ou je risque d'avancer trop vite.


Objectifs du cours

Cours/TD

  • Principes généraux et particularités du langage: programmation impérative, typage fort à la compilation, adressage mémoire explicite
  • Syntaxe de base
  • Bibliothèque standard: entrée-sorties et interaction avec le système d'exploitation
  • C avancé:
    • allocation dynamique
    • modèle mémoire (pile, tas, code)
    • pointeurs sur structures
    • pointeurs sur fonctions
  • Bonnes pratiques

En TP

  • un TP de mise en route et de précision de la notion de compilation en C
  • un projet logiciel sur les deux dernières séances (8h)

Outils et concepts (survol théorique et utilisation en TP)

  • automatisation de la compilation (make),
  • analyse de l'exécution et déboguage (gdb et ddd),
  • boîte à outils graphique (gtk+)

Supports

  • Exercices de TD :
    1. la feuille 1 ;
    2. la feuille 2 et une archive liste.tar.gz comprenant une solution pour l'implémentation des listes et des listes triées (les piles ont été traitées en séance 7).

Séances de Cours/TD

  1. lundi 22 septembre 2008
  2. lundi 29 septembre 2008
  3. lundi 6 octobre 2008
  4. lundi 13 octobre 2008
  5. lundi 20 octobre 2008
  6. lundi 3 novembre 2008
  7. lundi 10 novembre 2008
  8. lundi 17 novembre 2008
  9. lundi 24 novembre 2008
  10. lundi 1er décembre 2008

Séances de TP

Les sujets de TP se trouvent sur cette page.

  1. mercredi 15 octobre 2008 : TP0 — Préliminaires
  2. vendredi 28 novembre 2008 : TP1 — Formats d'image
  3. vendredi 12 décembre 2008 : TP2 — Affichage et interface graphique

Références

  • The C programming language, de Kernighan et Ritchie;
  • Le langage C, version française du précédent;
  • Le polycopié de Bernard Cassagne, disponible ici, au format html (consultable en ligne) ou pdf;
  • Le wikilivre Programmation C: un livre de cours sur le mode wikipedia.