/AlgoC

Sujets de travaux pratiques d'Algorithmes et C appliqués aux Systèmes Numériques

Primary LanguageCGNU General Public License v3.0GPL-3.0

AlgoC

Sujets de travaux pratiques d'Algorithmes et C appliqués aux Systèmes Numériques

Année: 2021-2022

Sujets de travaux pratiques (Groupe 1)

Sujets de travaux pratiques (Groupe 2)

Sujet de projet (Groupe 3)

Projet

Deuxième session

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

Environnement de programmation:

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

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. Travailler en binôme.
  3. Il est obligatoire de citer tous les sources (e.g. internet, groupes)
  4. Les séances sont encadrées par 2 enseignants.
  5. Ne pas utiliser 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: rapport d'auto-évaluation et les sources

Votre dossier de rendu doit contenir les fichiers suivants:

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

Votre rendu doit renommer comme groupe_N1_N2, où N1 et N2 sont les noms (e.g., groupe_DUPONT_SMITH.).

Ecrivez README et CONTRIBUTORS en format markdown.

Le contenu de README 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, vérifiez si vous respectez la liste de contrôle suivante:

  • ✅ Les noms (prénom et noms) de la binôme sont présents dans le fichier CONTRIBUTORS
  • ✅ Le fichier README 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/AlgoC. 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/AlgoC
          $ cd AlgoC
          $ ls

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

          $ git pull

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.