Skip to content

Latest commit

 

History

History
137 lines (106 loc) · 4.83 KB

README.md

File metadata and controls

137 lines (106 loc) · 4.83 KB

ProgC

Sujets de travaux pratiques du module Programmation en C

Année: 2022-2023

Sujets de travaux pratiques

Objectifs

Les objectifs du module sont de comprendre les différents aspects de la programmation en C et de créer un projet en C. Après avoir realisé les exercices, vous serez capable de:

  • Comprendre la chaine de compilation en utilisant GCC (GNU compilation chain) : du 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
  • Créer, compiler et exécuter un projet en C
  • 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 de messages
  • Exécuter les applications existantes sur la machine (par exemple, GNU plot)
  • Documenter une application en utilisant le format markdown (*.md)
  • Tester une application

Environnement de programmation:

  • Système d'exploitation: Linux
    • Ubuntu
    • Machine virtuelle (VirtualBox) + Ubuntu
  • Compilateur: gcc
  • Logiciels: gnuplot
    • Installation: sudo apt install gnuplot gnuplot-x11

Instructions

  1. Tous les travaux pratiques sont basés sur les aspects que vous avez déjà appris pendant vos cours. Utilisez-bien vos supports cours.
  2. Travaillez en binôme.
  3. Il est obligatoire de citer toutes les sources (par exemple, internet, groupes)
  4. Les séances sont encadrées par 2 enseignants.
  5. N'utilisez pas des bibliothèques externes.

Evaluation

  1. Les travaux pratiques correspondent à 40% de votre note finale
  2. Vous avez sept travaux pratiques. Chaque travail pratique (TP) comporte plusieurs exercices. Chaque exercice est noté.
  3. Total points pour tous les travaux pratiques: 20
  4. Rendu en ligne.
  5. Chaque question a un niveau de difficulté
    • ★: Facile
    • ★★: Difficulté moyenne
    • ★★★: Difficile

Rendus

Il y a deux parties de rendu: le rapport d'auto-évaluation et les sources

Votre dossier de rendu doit contenir les fichiers suivants:

  • a. README.md: rapport d'auto-évaluation
  • b. CONTRIBUTORS.md: Noms et prénoms de contributeurs
  • c. src/ : le code source dans le répertoire src

Votre rendu doit être renommé groupe_N1_N2, où N1 et N2 sont les noms (e.g., groupe_DUPONT_SMITH.).

Ecrivez README.md et CONTRIBUTORS.md en format markdown.

Le contenu de README.md ou le rapport d'auto-évaluation : TP N (N: [1..7])

  • i. Bibliothèques: les bibliothèques standards
  • ii. Références: les URLs, les groupes
  • iii. Difficulté: niveau de difficulté (facile, moyenne, difficile)
  • iv. Commentaires (optionnels): remarques etc.

Liste de contrôle

Avant de déposer votre travail pratique, assurez-vous de respecter la liste de contrôle suivante:

  • ✅ Les noms (prénom et noms) de la binôme sont présents dans le fichier CONTRIBUTORS.md
  • ✅ Le fichier README.md est complètement rempli.
  • ✅ Respectez les noms de fichiers de chaque exercice. Utilisez le même nom que celui qui a été demandé dans les travaux pratiques.
  • ✅ Votre code est bien commenté.
  • ✅ Votre code peut être compilé sans aucune erreur (et si possible, sans aucun avertissement).

Modèle de code

Pour référence, vous pouvez consulter le répertoire suivant: https://github.com/johnsamuelwrites/ProgC. Il contient des modèles de code pour tous les exercices des sept travaux pratiques.

Vous pouvez le consulter en ligne en utilisant le lien ci-dessus ou le cloner sur votre machine à l'aide du terminal en utilisant les commandes suivantes.

          $ git clone https://github.com/johnsamuelwrites/ProgC
          $ cd ProgC
          $ ls

Pour obtenir les dernières mises à jour du répertoire, vous pouvez exécuter la commande suivante

          $ git pull

⚠️ Attention

  • Aucune soumission par courriel électronique.
  • Les liens vers des sites externes comme GitHub/GitLab,... ne seront pas acceptés.
  • Seules les soumissions complètes sur E-Campus seront acceptées pour l'évaluation.
  • Ne pas modifier les noms de fichiers (*.c, *.h, *.md, ...).

Author

  • John Samuel

Archives and Releases

Licence

All code are released under GPLv3+ licence. The associated documentation and other content are released under CC-BY-SA.