Année: 2018-2019
Travaux pratiques
Objectifs
L'objectif des travaux pratiques est de créer un projet pour comprendre les différents aspects de programmation en C. Suite à l'accomplissement de tous les exercices, vous serez captable de
- Créer, compiler et exécuter un projet C
 - Comprendre la chaine de compilation en utilisant GCC (GNU compilation chain) : prétraitement jusqu’à l’exécution
 - Travailler avec les bibliothèques standards et les appels de système d’exploitation (fichiers, les sockets réseau etc.)
 - Comprendre les pointeurs et manipuler les buffers en utilisant les pointeurs
 - Travailler avec les différents formats de données comme BMP et les structures de données
 - Créer un simple programme client-serveur pour le transfert de fichiers et messages
 - Exécuter les applications existantes sur la machine (e.g. GNU plot)
 - Documenter et tester une application
 
Instructions
- Tous les travaux pratiques sont basés sur les aspects que vous avez déjà appris pendant vos cours. Utilisez-bien vos supports cours.
 - Travailler en binôme. N’oublier pas numéroter vos groupes (groupeA01, groupeB01,.. etc.)
 - Il est obligatoire de citer tous les sources (e.g. internet, groupes)
 - Les séances sont encadrées par 2 enseignants.
 - Ne pas utiliser des bibliothèques externes.
 
Evaluation
- Les travaux pratiques correspondent à 40% de votre note finale
 - Vous avez sept exercices. Chaque exercice est noté. Le septième exercice est comptabilisé en bonus.
 - Total points pour tous les exercices: 20
 - Rendu en ligne.
 - Chaque question a un niveau de difficulté
            
- ★: Facile
 - ★★: Difficulté moyenne
 - ★★★: Difficile
 
 
Rendus
- Il y a deux parties de rendu: rapport d’auto-évaluation et les sources
 - Votre dossier de rendu doit contenir les fichiers suivants:
 - README: rapport d’auto-évaluation
 - INSTALL: Description de la compilation et l’exécution de votre application
 - Makefile
 - CONTRIBUTORS: Noms et prénoms de contributeurs
 - src/ : les sources
 - Votre rendu doit renommer comme groupe[ABCD]NN, où NN est le numéro de votre groupe (e.g., groupeA01, groupeB01 etc.).
 - Ecrivez README, INSTALL et CONTRIBUTORS en format markdown.
 - Le contenu de README rapport d’auto-évaluation :
            
- Objectif: Quel est l’objectif de votre projet? (Remplissez ça après votre premier exercice)
 - Exercice N (N: [1..7])
               
- Fichiers: Noms de fichiers
 - Bibliothèques: les bibliothèques standards
 - Références: les URLs, les numéros de groupes
 - Difficulté: niveau de difficulté (facile, moyenne, difficile)
 - Commentaires (optionnels): remarques etc.
 
 
 
