System programming project
CS-212 / 2 credits
Teacher(s): Chappelier Jean-Cédric, Bugnion Edouard
Language: French
Remarque: Ce cours sera donné pour la dernière fois au printemps 2023
Résumé
L'objectif de ce cours à projet est de donner aux étudiants une expérience de la pratique de la programmation système : écriture, correction, amélioration et analyse critique de leur code.
Contenu
-
Ce cours sera enseigné en parallèle du cours « Programmation Orientée Système » (CS-207). Il offre aux étudiants l'opportunité de développer dans un cadre pratique à large échelle les concepts présentés dans cet autre cours. Les étudiants devront en effet non seulement développer leur propre code à partir de rien sur un cas concret, mais aussi lire du code professionnel développé par d'autres de sorte à pouvoir s'en inspirer.
-
Ce cours consistera en un projet constitué de plusieurs parties réparties sur le semestre. Il insistera sur les concepts clés présentés dans les autres cours liés au domaine de la programmation système (systèmes de fichiers, réseaux, accès mémoire, concurrence, …), mais mettra aussi en place de façon pratique plusieurs élémens qui seront approfondis plus tard dans le cursus (aspects réseaux avancés, planification, etc.) dans le but d'offrir aux étudiants une première approche pratique à ces concepts.
Mots-clés
-
programmation système, gestion mémoire, système de fichiers
Compétences requises
Cours prérequis obligatoires
-
Programmation Orientée Système (CS-207)
-
Parallelism & Concurrency (CS-206)
Cours prérequis indicatifs
-
Computer Networks
Concepts importants à maîtriser
-
programmation
-
parallélisme et concurrence
Acquis de formation
A la fin de ce cours l'étudiant doit être capable de:
- Modéliser en langage C des problèmes système typiques
- Analyser des problèmes complexes relatifs aux sytèmes informatiques et les décomposer en sous-problèmes
- Réaliser des applications de taille moyenne en langage C
- Analyser des projet en langage C pour être capable de comprendre ce qu'ils font et comment ils sont organisés
- Tester les résultat d'un projet en langage C et le corriger là où cela est nécessaire
Compétences transversales
- Accéder aux sources d'informations appropriées et les évaluer.
- Recevoir du feedback (une critique) et y répondre de manière appropriée.
- Utiliser les outils informatiques courants ainsi que ceux spécifiques à leur discipline.
- Gérer ses priorités.
- Persévérer dans la difficulté ou après un échec initial pour trouver une meilleure solution.
Méthode d'enseignement
projet
Travail attendu
-
écrire le code et la documentation d'un projet de groupe
Méthode d'évaluation
-
rendu du projet en plusieurs étapes progressives au cours du semestre.
Préparation pour
-
CS-323 (Operating Systems)
In the programs
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: System programming project
- Project: 2 Hour(s) per week x 14 weeks
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: System programming project
- Project: 2 Hour(s) per week x 14 weeks
- Semester: Spring
- Exam form: During the semester (summer session)
- Subject examined: System programming project
- Project: 2 Hour(s) per week x 14 weeks