GithubHelp home page GithubHelp logo

johnsamuelwrites / algoc Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 44.0 206 KB

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

Home Page: https://johnsamuel.info/AlgoC/

License: GNU General Public License v3.0

Makefile 1.80% C 86.16% Shell 12.04%

algoc's Introduction

AlgoC

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

Année: 2022-2023

Sujets de travaux pratiques (Groupe 1 - TP)

Sujet de projet (Groupe 2 - Projet)

Projet

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

  • Utilisation des structures de données: liste, pile, file, graphe
  • Utilisation des algorithmes de recherche, tri et indexation
  • 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

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
  6. Utilisation des structures de données et algorithmes

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/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

⚠️ 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.

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.

algoc's People

Contributors

johnsamuelwrites avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

algoc's Issues

Link empty files to Project description

There are some empty files for the Project group which have not been linked to project description.

  • Add a detailed description to project source code (both for existing and newly created files)
  • Update the project description to link the project tasks to the existing and newly added files

Add evaluation process

Describe the evaluation process

  • Verification of CONTRIBUTORS.md
  • Verification of README.md
  • Compilation of code without errors
  • Compilation of code without warning
  • Verification of code

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.