Nature UE
Crédits ECTS 3
Volume horaire total 36
Volume horaire CM 14
Volume horaire TP 22

Pré-requis

Un programme de remise à niveau de 2 semaines en Initiation en langage C, Unix et Structures de données est organisé en module préparatoire. Notions d’algorithmique.

Objectifs

L’objectif du cours est de compléter ses connaissances en Langage C pour réaliser des développements conséquents (en commençant par les TPs de structures de données du deuxième semestre) et d’aborder sereinement tous les autres langages inspirés du C (C++/Java/C#, …)

Contenu

Cours magistraux :
Techniques de programmation en C :
- Les pointeurs et la gestion dynamique de la mémoire
- Les macro-instructions
- Les structures simples, auto-référentielles, énumérations et unions
- Les fonctions à nombre d’arguments variables
- Les pointeurs de fonction, les tableaux de pointeurs de fonction
- Passage de fonction en paramètre à d’autres fonctions
- Fichiers binaires (directs et séquentiels)
- Listes chaînées, arbres
Interface entre C et Unix (Ligne de commande et retour système et processus)
Gestion du graphisme avec la bibliothèque X-Window
Prise en main d’outils de développement : débuggeur (gdb/ddd), profileur et analyse d’exécution (valgrind)
Compilation séparée et makefile simple

Travaux pratiques :
11 séances de TPs permettent d’illustrer les notions vues en cours. Pour inciter aux tests et à la validation, quelques petits jeux sont proposés.

Informations complémentaires

L’objectif du cours est de compléter ses connaissances en Langage C pour réaliser des développements conséquents (en commençant par les TPs de structures de données du deuxième semestre) et d’aborder sereinement tous les autres langages inspirés du C (C++/Java/C#, …)