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

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

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

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.