From 31bc25d0f039065f577fde62879b8eb3a7dcce60 Mon Sep 17 00:00:00 2001
From: Orestis Malaspinas <orestis.malaspinas@hesge.ch>
Date: Wed, 20 Jan 2021 12:28:39 +0100
Subject: [PATCH] instructions pour l'examen

---
 slides/examen.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 slides/examen.md

diff --git a/slides/examen.md b/slides/examen.md
new file mode 100644
index 0000000..7fef973
--- /dev/null
+++ b/slides/examen.md
@@ -0,0 +1,50 @@
+---
+title: Précisions pour l'examen
+date: 2020-01-06
+---
+
+# Administration
+
+- L'examen dure au plus 4h (il est prévu pour 3 exceptions jusqu'à 4).
+- Votre code devra être dans un repo `git`.
+- Chaque exercice dans un répertoire (`ex1`, `ex2`, ...).
+- Le lien vers votre dit devra figurer dans la réponse à chaque exercice.
+- Chaque exercice doit posséder son propre `Makefile` pour la compilation.
+  - Il est impératif de compiler avec les warnings et les sanitizers.
+
+# Les exercices
+
+- Deux parties à chaque énoncé:
+  - Une partie "théorique" qui décrit les structures de données et fonctionnalités.
+  - Une partie "technique" qui propose un exemple d'exécution de votre programme avec entrées et sorties.
+  - Une partie "exemple" où vous pouvez tester l'exécution de votre programme.
+- Il faut implémenter les trois pour avoir tous les points.
+
+# Évaluation (technique)
+
+- L'évaluation se base surtout sur des critères de fonctionnement: 
+  - le code demandé est-il réalisé?
+  - le code compile-t-il?
+  - s'exécute-t-il?
+  - donne-t-il des résultats corrects?
+- Si vous laissez des warnings ou des erreurs de sanitizers vous aurez des malus.
+
+# Évaluation (style)
+
+- Le code est-il joli?
+  - Présentation (indentation cohérente, variables nommées de façon raisonnable).
+  - Modularité (utilisation de fonctions).
+  - Pas de variables globales inutiles.
+  - Utilisation de boucles, structures de contrôle, struct, ...
+  - Fonctions récursives, ...
+
+# Les exemples
+
+- Chaque exemple contient:
+  - un input à rentrer dans le terminal (on peut copier-coller l'input de l'énoncé).
+  - un output à écrire dans le terminal (on peut comparer la sortie avec celle de l'énoncé).
+- La structure de l'input doit être **exactement** la même que celle décrite dans l'énoncé.
+- L'output de vos exercices doit être **exactement** le même que celui de l'énoncé.
+
+Et maintenant place à des exemples (simplifiés)!
+
-- 
GitLab