diff --git a/slides/cours_1.md b/slides/cours_1.md
index 81ca94ea27321ab288157ce81240423cae7730a5..6bf2aae87661f6b0dd76912bac2ed86baf3ae93c 100644
--- a/slides/cours_1.md
+++ b/slides/cours_1.md
@@ -1,6 +1,6 @@
 ---
 title: "Introduction aux algorithmes"
-date: "2021-09-22"
+date: "2022-09-21"
 ---
 
 # Qu'est-ce qu'un algorithme?
@@ -57,14 +57,12 @@ Nombre premier: nombre possédant deux diviseurs entiers distincts.
 ## Algorithme naïf (problème)
 
 ```C
-est_premier(nombre) {
-    si {
-        pour tout i, t.q. 1 < i < nombre {
+est_premier(nombre) 
+    si 
+        pour tout i, t.q. 1 < i < nombre 
             i ne divise pas nombre
-        }
-    } alors vrai
+    alors vrai
     sinon faux
-}
 ```
 
 . . .
@@ -80,14 +78,12 @@ est_premier(nombre) {
 ## Algorithme naïf (une solution)
 
 ```C
-est_premier(nombre) { // fonction
+booléen est_premier(nombre) // fonction
     soit i := 2;       // variable, type, assignation
-    tant que i < nombre { // boucle
-        si nombre modulo i = 0 { // expression typée
+    tant que i < nombre // boucle
+        si nombre modulo i == 0 // expression typée
             retourne faux    // expression typée
-        }
         i := i + 1
-    }
     retourne vrai // expression typée
 ```
 
@@ -573,14 +569,13 @@ $$
 . . .
 
 ```C
-int factorielle(int n) {
-    i = 1;
-    fact = 1;
-    pour i <= n {
-        fact *= i;
-        i += 1;
-    }
-}
+entier factorielle(n) {
+    i = 1
+    fact = 1
+    pour i <= n
+        fact *= i
+        i += 1
+    retourne i
 ```
 
 # Exercice: la factorielle
@@ -625,7 +620,7 @@ int main() {
     ```C
     int printf(const char *format, ...);
     ```
-- Nombre d'arguments variables.
+- Nombre d'arguments **variable**.
 - `format`{.C} est le texte, ainsi que le format (type) des variables à afficher.
 - Les arguments suivants sont les expressions à afficher.
 
@@ -688,6 +683,6 @@ int main() {
 
 . . .
 
-## Postez vos solutions sur matrix!
+## Postez vos solutions sur **matrix**!
 
 
diff --git a/slides/figs/matrix_qr.png b/slides/figs/matrix_qr.png
new file mode 100644
index 0000000000000000000000000000000000000000..ce2c45261290e5dc508c661a2c66b3545776e553
Binary files /dev/null and b/slides/figs/matrix_qr.png differ
diff --git a/slides/intro.md b/slides/intro.md
index 5dc3246ee382521a65a0581f591cf669dc61b44b..9cfd398a011f9578be79247fc82940bcfba1d1ad 100644
--- a/slides/intro.md
+++ b/slides/intro.md
@@ -1,6 +1,6 @@
 ---
 title: "Introduction générale"
-date: "2020-09-16"
+date: "2022-09-21"
 ---
 
 # La hotline
@@ -11,11 +11,12 @@ Paul Albuquerque       paul.albuquerque@hesge.ch         B410
 Orestis Malaspinas     orestis.malaspinas@hesge.ch       A401
 --------------------   ------------------------------    --------------------
 
-Utilisez le libre service (l'horaire sera fixé prochainement).
+* Utilisez le libre service (l'horaire sera fixé prochainement).
+* On va intensivement utiliser *Element*, installez le et utilisez le!
 
-Salon de discussion [Matrix](https://matrix.to/#/!tuZtXjUSPbnRfBsFXv:matrix.org?via=matrix.org), installez [element.io](https://element.io).
+* Espace de discussion [Matrix](https://matrix.to/#/!aKYVlcclmPGYXQFxAK:matrix.org?via=matrix.org), installez [element.io](https://element.io).
 
-![](figs/matrix.png){width=20%}
+    ![](figs/matrix_qr.png){width=20%}
 
 # Cyberlearn
 
@@ -23,11 +24,12 @@ Tout le contenu de ce qu'on raconte se trouve sur cyberlearn:
 
 - Algorithmes et structures de données
   - <https://cyberlearn.hes-so.ch/course/view.php?id=13941>
-  - Clé d'inscription: algo_2020_21
+  - Clé d'inscription: algo_2021_22
 
 - Programmation Sequentielle en C
   - <https://cyberlearn.hes-so.ch/course/view.php?id=12399>
-  - Clé d'inscription: PS_2018
+  - Clé d'inscription: prog_seq_2021_22
+
 
 # Organisation du module
 
@@ -46,24 +48,7 @@ Tout le contenu de ce qu'on raconte se trouve sur cyberlearn:
     * Plusieurs "petits" exercices illustrant les concepts d'algorithmique 
       (1-2 séances).
     * Évaluations:
-        * Un projet de programmation.
-        * Une évaluation machine.
-
-# Sondage: expérience de programmation
-
-## [Sondage: expérience de linux](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1291283)
-
-## [Sondage: expérience de programmation](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1035242)
-
-**Installez un lecteur de QR code s'il-vous-plaît.**
-
-# Questions?
-
-- N'hésitez pas à poser des *questions*, nous sommes là pour ça! [^1]
-- Ne restez pas coincés pendant des jours sur un problème.
-- Utilisez le *libre-service*!
-- N'hésitez pas à faire des *retours*: *négatifs* ou *positifs*.
-
-[^1]: Chaque étudiant·e·s a un quota de 5 questions par semestre.
+        * Deux évaluation machine (1er semestre).
+        * Probablement, une évaluation machine et un projet (2e semestre).
 
 
diff --git a/slides_2021/.gitignore b/slides_2021/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..311559fd6103ddbf587e46500afc3d3a06bb04d6
--- /dev/null
+++ b/slides_2021/.gitignore
@@ -0,0 +1,6 @@
+*.pdf
+*.err
+*.markdown
+*.html
+index.md
+.puppeteer.json
diff --git a/slides_2021/Makefile b/slides_2021/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..145d4228720d09d279d43eb8d7f659dc6101ba30
--- /dev/null
+++ b/slides_2021/Makefile
@@ -0,0 +1,71 @@
+PDFOPTIONS = -t beamer
+# PDFOPTIONS += -F pantable
+PDFOPTIONS += -F mermaid-filter
+PDFOPTIONS += --highlight-style my_highlight.theme
+PDFOPTIONS += --pdf-engine xelatex
+PDFOPTIONS += -V theme:metropolis
+PDFOPTIONS += -V themeoptions:numbering=none -V themeoptions:progressbar=foot
+PDFOPTIONS += -V fontsize=smaller
+PDFOPTIONS += -V urlcolor=blue
+
+REVEALOPTIONS = -t revealjs
+REVEALOPTIONS += -F mermaid-filter
+REVEALOPTIONS += --self-contained
+REVEALOPTIONS += -V revealjs-url=reveal.js
+REVEALOPTIONS += -V theme=white
+REVEALOPTIONS += -V width=1920
+REVEALOPTIONS += -V margin=0
+REVEALOPTIONS += --slide-level=1
+
+MD=$(wildcard *.md) # Tous les fichiers .md
+PDF=$(MD:%.md=%.pdf) # Pour les fichier pdf on transforme .md -> .pdf
+HTML=$(MD:%.md=%.html) # Pour les fichier html on transforme .md -> .html
+MARKDOWN=$(MD:%.md=%.markdown) # Pour les fichier markdown on transforme .md -> .markdown
+CHROMIUM:=$(shell which chromium || which chromium-browser)
+
+all: puppeteer $(PDF) 
+# all: puppeteer $(PDF) $(HTML) # La cible par défaut (all) exécute les cibles %.pdf
+
+docker: docker-compose.yml
+	docker-compose run slides make puppeteer -k || true
+	docker-compose run slides make all -k || true
+
+docker_clean: docker-compose.yml
+	docker-compose run slides make clean -k || true
+
+puppeteer:
+	@echo "Setting chromium to $(CHROMIUM) for puppeteer"
+	@echo -e "{\n\"executablePath\":" \"$(CHROMIUM)\" ",\n\"args\": [\"--no-sandbox\"]\n}" > .puppeteer.json
+
+index:
+	rm -f index.md
+	./gen_index.sh
+
+markdown: $(MARKDOWN) # La markdown les cibles %.markdown
+
+%.pdf: %.md metadata.yaml # %.pdf (chaque fichier %.md génère un fichier avec le même nom mais l'extension .pdf et la dépendance metadata.yaml)
+	pandoc -s $(OPTIONS) $(PDFOPTIONS) -o $@ $^
+
+%.html: %.md metadata.yaml
+	pandoc -s $(OPTIONS) $(REVEALOPTIONS) -o $@ $^
+
+%.markdown: %.md metadata.yaml yq
+	sed '1 { /^---/ { :a N; /\n---/! ba; d} }' $< > no_header
+	grep -v -F -x -f  no_header $< > header.yaml
+	echo "---" > tmp.yaml
+	./yq_linux_amd64 merge metadata.yaml header.yaml >> tmp.yaml
+	cat tmp.yaml no_header > $@
+	rm no_header header.yaml tmp.yaml
+
+yq: # On peut même télécharger un petit programme avec notre makefile
+	wget -nc https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64
+	chmod "u+x" yq_linux_amd64 
+
+deploy: all 
+	mkdir -p algo_cours
+	cp *.pdf algo_cours
+
+clean:
+	rm -f *.html *.pdf *.markdown yq_linux_amd64* index.md .puppeteer.json
+
+.PHONY:	clean index puppeteer yq
diff --git a/slides_2021/cours_1.md b/slides_2021/cours_1.md
new file mode 100644
index 0000000000000000000000000000000000000000..81ca94ea27321ab288157ce81240423cae7730a5
--- /dev/null
+++ b/slides_2021/cours_1.md
@@ -0,0 +1,693 @@
+---
+title: "Introduction aux algorithmes"
+date: "2021-09-22"
+---
+
+# Qu'est-ce qu'un algorithme?
+
+## Définition informelle (recette)
+
+* des entrées (les ingrédients, le matériel utilisé) ;
+* des instructions élémentaires simples (frire, flamber, etc.), dont les 
+  exécutions dans un ordre précis amènent au résultat voulu ;
+* un résultat : le plat préparé.
+
+. . .
+
+## Histoire et étymologie
+
+- Existent depuis 4500 ans au moins (algorithme de division, crible 
+  d'Eratosthène).
+- Le mot algorithme est dérivé du nom du mathématicien perse
+    *Muḥammad ibn Musā al-Khwārizmī*, qui a été "latinisé" comme 
+    *Algoritmi*.
+
+. . .
+
+## Définition formelle
+
+En partant d'un état initial et d'entrées (peut-être vides), une séquence finie 
+d'instruction bien définies (ordonnées) implémentables sur un ordinateur, afin 
+de résoudre typiquement une classe de problèmes ou effectuer un calcul.
+
+# Notions de base d'algorithmique
+
+## Variable
+
+. . .
+
+* Paire: identifiant - valeur (assignation);
+
+## Séquence d'instructions / expressions
+
+. . .
+
+* Opérateurs (arthimétiques / booléens)
+* Boucles;
+* Structures de contrôle;
+* Fonctions;
+
+
+# Algorithme de vérification qu'un nombre est premier (1/3)
+
+Nombre premier: nombre possédant deux diviseurs entiers distincts.
+
+. . .
+
+## Algorithme naïf (problème)
+
+```C
+est_premier(nombre) {
+    si {
+        pour tout i, t.q. 1 < i < nombre {
+            i ne divise pas nombre
+        }
+    } alors vrai
+    sinon faux
+}
+```
+
+. . .
+
+## Pas vraiment un algorithme: pas une séquence ordonnée et bien définie
+
+. . .
+
+## Problème: Comment écrire ça sous une forme algorithmique?
+
+# Algorithme de vérification qu'un nombre est premier (2/3)
+
+## Algorithme naïf (une solution)
+
+```C
+est_premier(nombre) { // fonction
+    soit i := 2;       // variable, type, assignation
+    tant que i < nombre { // boucle
+        si nombre modulo i = 0 { // expression typée
+            retourne faux    // expression typée
+        }
+        i := i + 1
+    }
+    retourne vrai // expression typée
+```
+
+# Algorithme de vérification qu'un nombre est premier (3/3)
+
+## Algorithme naïf (une solution en C)
+
+```C
+bool est_premier(int nombre) {
+    int i; // i est un entier
+    i = 2; // assignation i à 2
+    while (i < nombre) { // boucle avec condition
+        if (0 == nombre % i) { // is i divise nombre
+            return false; // i n'est pas premier
+        }
+        i += 1; // sinon on incrémente i
+    }
+    return true;
+}
+```
+
+. . .
+
+## Exercice: Comment faire plus rapide?
+
+# Génération d'un exécutable
+
+- Pour pouvoir être exécuté un code C doit être d'abord compilé (avec `gcc` ou `clang`).
+- Pour un code `prog.c` la compilation "minimale" est
+
+    ```bash
+    $ gcc prog.c
+    $ ./a.out # exécutable par défaut
+    ```
+
+- Il existe une multitude d'options de compilation:
+
+    ```bash
+    $ gcc -O1 -std=c11 -Wall -Wextra -g porg.c -o prog -fsanitize=address 
+    -fsanitize=leak -fsanitize=undefined
+    ```
+    1. `-std=c11` utilisation de C11.
+    2. `-Wall et -Wextra` activation des warnings.
+    3. `-fsanitize=…`  contrôles d’erreurs à l’exécution (coût en performance).
+    4. `-g` symboles de débogages sont gardés.
+    5. `-o` défini le fichier exécutable à produire en sortie.
+    6. `-O1`, `-O2`, `-O3`: activation de divers degrés d'optimisation
+
+
+
+# La simplicité de C?
+
+## 32 mots-clé et c'est tout
+
+---------------- -------------- ---------------- ---------------
+`auto`{.C}       `double`{.C}   `int`{.C}        `struct`{.C}   
+`break`{.C}      `else`{.C}     `long`{.C}       `switch`{.C}   
+`case`{.C}       `enum`{.C}     `register`{.C}   `typedef`{.C}  
+`char`{.C}       `extern`{.C}   `return`{.C}     `union`{.C}    
+`const`{.C}      `float`{.C}    `short`{.C}      `unsigned`{.C} 
+`continue`{.C}   `for`{.C}      `signed`{.C}     `void`{.C}
+`default`{.C}    `goto`{.C}     `sizeof`{.C}     `volatile`{.C}
+`do`{.C}         `if`{.C}       `static`{.C}     `while`{.C}
+---------------- -------------- ---------------- ---------------
+
+# Déclaration et typage
+
+En C lorsqu'on veut utiliser une variable (ou une constante), on doit déclarer son type
+
+```C
+const double two = 2.0; // déclaration et init.
+int x;   // déclaration (instruction)
+char c;  // déclaration (instruction)
+x = 1;   // affectation (expression)
+c = 'a'; // affectation (expression)
+int y = x; // déclaration et initialisation en même temps
+int a, b, c; // déclarations multiples
+a = b = c = 1; // init. multiples
+```
+
+# Les variables (1/2)
+
+## Variables et portée
+
+- Une variable est un identifiant, qui peut être liée à une valeur (un expression).
+- Une variable a une **portée** qui définit où elle est *visible* (où elle peut être accédée).
+- La portée est **globale** ou **locale**.
+- Une variable est **globale** est accessible à tout endroit d'un programme et doit être déclarée en dehors de toute fonction.
+- Une variable est **locale** lorsqu'elle est déclarée dans un **bloc**, `{...}`{.C}.
+- Une variable est dans la portée **après** avoir été déclarée.
+
+# Les variables (2/2)
+
+## Exemple 
+
+```C
+float max; // variable globale accessible partout
+int foo() {
+    // max est visible ici
+    float a = max; // valide
+    // par contre les varibles du main() ne sont pas visibles
+}
+int main() {
+    // max est visible ici
+    int x = 1; // x est locale à main
+    {
+        // x est visible ici, y pas encore
+        // on peut par exemple pas faire x = y;
+        int y = 2;
+    } // y est détruite à la sortie du bloc
+} // x est à la sortie de main
+
+```
+
+<!-- TODO: quiz, compile, compile pas -->
+<!-- ```C
+int main() {
+    global = 1;
+} // COMPILE PAS
+```
+
+```C
+int main() {
+    int global = 1;
+    {
+        printf("global = %d", global);
+    }
+} // COMPILE
+```
+
+```C
+int local;
+
+int main() {
+    local = 1;
+    {
+        printf("local = %d", local);
+    }
+} // COMPILE
+```
+
+```C
+#include <stdio.h>
+int local = 0;
+
+int main() {
+    int local = -1;
+    {
+        int local = 1;
+        printf("local = %d\n", local);
+    }
+} // COMPILE
+``` -->
+
+# Quiz: compile ou compile pas?
+
+## [Quiz: compile ou compile pas](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1033948)
+
+# Types de base (1/4)
+
+## Numériques
+
+Type                               Signification (**gcc pour x86-64**)            
+---------------------------------- ---------------------------------------------
+`char`{.C}, `unsigned char`{.C}    Entier signé/non-signé 8-bit
+`short`{.C}, `unsigned short`{.C}  Entier signé/non-signé 16-bit
+`int`{.C}, `unsigned int`{.C}      Entier signé/non-signé 32-bit
+`long`{.C}, `unsigned long`{.C}    Entier signé/non-signé 64-bit
+`float`{.C}                        Nombre à virgule flottante, simple précision
+`double`{.C}                       Nombre à virgule flottante, double précision
+---------------------------------- ---------------------------------------------
+
+**La signification de `short`{.C}, `int`{.C}, ... dépend du compilateur et de l'architecture.**
+
+# Types de base (2/4)
+
+Voir `<stdint.h>` pour des représentations **portables**
+
+Type                               Signification
+---------------------------------- ---------------------------------------------
+`int8_t`{.C}, `uint8_t`{.C}        Entier signé/non-signé 8-bit
+`int16_t`{.C}, `uint16_t`{.C}      Entier signé/non-signé 16-bit
+`int32_t`{.C}, `uint32_t`{.C}      Entier signé/non-signé 32-bit
+`int64_t`{.C}, `uint64_t`{.C}      Entier signé/non-signé 64-bit
+---------------------------------- ---------------------------------------------
+
+. . .
+
+## Prenez l'habitude d'utiliser ces types-là!
+
+# Types de base (3/4)
+
+## Booléens
+
+- Le ANSI C n'offre pas de booléens.
+- L'entier `0`{.C} signifie *faux*, tout le reste *vrai*.
+- Depuis C99, la librairie `stdbool` met à disposition un type `bool`{.C}.
+- En réalité c'est un entier:
+  - $1 \Rightarrow$ `true`{.C}
+  - $0 \Rightarrow$ `false`{.C}
+- On peut les manipuler comme des entier (les sommer, les multiplier, ...).
+
+# Quiz: booléens
+
+## [Quiz: booléens](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1032492)
+
+<!-- TODO Quiz en ligne -->
+<!-- ```C
+if (42) { /* vrai */ }
+
+int x = 100;
+if (x == 4) { /* faux */ }
+if (x) { /* vrai */ }
+
+int x = 100;
+while (x−−) { /* répète tant que x est différent de 0 */ }
+
+if (0) { /* faux */ }
+if (i = 4) { /* vrai */ }
+if (i = 0) { /* faux */ }
+
+#include <stdbool.h>
+
+bool x = true;
+if (x) { /* vrai */ }
+``` -->
+
+# Types de base (4/4)
+
+## Conversions
+
+- Les conversions se font de manière:
+  - Explicite:
+    ```C
+    int a = (int)2.8;
+    double b = (double)a;
+    int c = (int)(2.8+0.5);
+    ```
+  - Implicite:
+    ```C
+    int a = 2.8; // warning, si activés, avec clang
+    double b = a + 0.5;
+    char c = b; // pas de warning...
+    int d = 'c';
+    ```
+
+# Quiz: conversions
+
+## [Quiz: conversions](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1033446)
+
+<!-- TODO Quiz en ligne -->
+<!-- ```C
+int a = (int)2.8; // 2
+
+double b = 2.85;
+int c = b + 0.5; // 3
+
+int d = a + 0.5; // 2
+
+bool d = 2.78; // 1
+bool e = 1.0; // 1
+``` -->
+
+# Expressions et opérateurs (1/6)
+
+Une expression est tout bout de code qui est **évalué**.
+
+## Expressions simples
+
+- Pas d'opérateurs impliqués.
+- Les littéraux, les variables, et les constantes.
+
+```C
+const int L = -1; // 'L' est une constante, -1 un littéral
+int x = 0;        // '0' est un litéral
+int y = x;        // 'x' est une variable
+int z = L;        // 'L' est une constante
+```
+
+## Expressions complexes
+
+- Obtenues en combinant des *opérandes* avec des *opérateurs*
+
+```C
+int x;     // pas une expression (une instruction)
+x = 4 + 5; // 4 + 5 est une expression
+           // dont le résultat est affecté à 'x'
+```
+
+# Expressions et opérateurs (2/6)
+
+## Opérateurs relationnels
+
+Opérateurs testant la relation entre deux *expressions*:
+
+  - `(a opérateur b)` retourne `1`{.C} si l'expression s'évalue à `true`{.C}, `0`{.C} si l'expression s'évalue à `false`{.C}.
+
+| Opérateur | Syntaxe      | Résultat             |
+|-----------|--------------|----------------------|
+| `<`{.C}   | `a < b`{.C}  | 1 si a <  b; 0 sinon |
+| `>`{.C}   | `a > b`{.C}  | 1 si a >  b; 0 sinon |
+| `<=`{.C}  | `a <= b`{.C} | 1 si a <= b; 0 sinon |
+| `>=`{.C}  | `a >= b`{.C} | 1 si a >= b; 0 sinon |
+| `==`{.C}  | `a == b`{.C} | 1 si a == b; 0 sinon |
+| `!=`{.C}  | `a != b`{.C} | 1 si a != b; 0 sinon |
+
+# Expressions et opérateurs (3/6)
+
+## Opérateurs logiques
+
+| Opérateur | Syntaxe      | Signification        |
+|-----------|--------------|----------------------|
+| `&&`{.C}  | `a && b`{.C} | ET logique           |
+| `||`{.C}  | `a || b`{.C} | OU logique           |
+| `!`{.C}   | `!a`{.C}     | NON logique          |
+
+# Quiz: opérateurs logiques
+
+## [Quiz: opérateurs logiques](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1033629)
+
+<!-- TODO: Quiz -->
+<!-- ```C
+1 && 0 == 0
+7 && 3 == 1
+4 || 3 == 1
+!34 == 0
+!0 == 1
+
+Soit n un unsigned char initialisé à 127:
+!n == 0
+``` -->
+
+# Expressions et opérateurs (4/6)
+
+## Opérateurs arithmétiques
+
+| Opérateur | Syntaxe      | Signification        |
+|-----------|--------------|----------------------|
+| `+`{.C}   | `a + b`{.C}  | Addition             |
+| `-`{.C}   | `a - b`{.C}  | Soustraction         |
+| `*`{.C}   | `a * b`{.C}  | Multiplication       |
+| `/`{.C}   | `a / b`{.C}  | Division             |
+| `%`{.C}   | `a % b`{.C}  | Modulo               |
+
+# Expressions et opérateurs (5/6)
+
+## Opérateurs d'assignation
+
+| Opérateur | Syntaxe      | Signification                               |
+|-----------|--------------|---------------------------------------------|
+| `=`{.C}   | `a = b`{.C}  | Affecte la valeur `b` à la variable `a`     |
+|           |              | et retourne la valeur de `b`                |
+| `+=`{.C}  | `a += b`{.C} | Additionne la valeur de `b` à `a` et        |
+|           |              | assigne le résultat à `a`.                  |
+| `-=`{.C}  | `a -= b`{.C} | Soustrait la valeur de `b` à `a` et         |
+|           |              | assigne le résultat à `a`.                  |
+| `*=`{.C}  | `a *= b`{.C} | Multiplie la valeur de `b` à `a` et         |
+|           |              | assigne le résultat à `a`.                  |
+| `/=`{.C}  | `a /= b`{.C} | Divise la valeur de `b` à `a` et            |
+|           |              | assigne le résultat à `a`.                  |
+| `%=`{.C}  | `a %= b`{.C} | Calcule le modulo la valeur de `b` à `a` et |
+|           |              | assigne le résultat à `a`.                  |
+
+# Expressions et opérateurs (6/6)
+
+## Opérateurs d'assignation (suite)
+
+| Opérateur | Syntaxe      | Signification                               |
+|-----------|--------------|---------------------------------------------|
+| `++`{.C}  | `++a`{.C}    | Incrémente la valeur de `a` de 1 et         |
+|           |              | retourne le résultat (`a += 1`).            |
+| `--`{.C}  | `--a`{.C}    | Décrémente la valeur de `a` de 1 et         |
+|           |              | retourne le résultat (`a -= 1`).            |
+| `++`{.C}  | `a++`{.C}    | Retourne `a`{.C} et incrémente `a` de 1.    |
+| `--`{.C}  | `a--`{.C}    | Retourne `a`{.C} et décrémente `a` de 1.    |
+
+
+# Structures de contrôle: `if`{.C} .. `else if`{.C} .. `else`{.C} (1/2)
+
+## Syntaxe
+
+```C
+if (expression) {
+    instructions;
+} else if (expression) { // optionnel
+                         // il peut y en avoir plusieurs
+    instructions;
+} else {
+    instructions; // optionnel
+}
+```
+
+```C
+if (x) { // si x s'évalue à `vrai`
+    printf("x s'évalue à vrai.\n");
+} else if (y == 8) { // si y vaut 8
+    printf("y vaut 8.\n");
+} else {
+    printf("Ni l'un ni l'autre.\n");
+}
+```
+
+# Structures de contrôle: `if`{.C} .. `else if`{.C} .. `else`{.C} (2/2)
+
+## Pièges
+
+```C
+int x, y;
+x = y = 3;
+if (x = 2)
+    printf("x = 2 est vrai.\n");
+else if (y < 8)
+    printf("y < 8.\n");
+else if (y == 3)
+    printf("y vaut 3 mais cela ne sera jamais affiché.\n");
+else
+    printf("Ni l'un ni l'autre.\n");
+    x = -1; // toujours évalué
+```
+
+# Quiz: `if ... else`{.C}
+
+## [Quiz: `if ... else`{.C}](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1033916)
+
+
+# Structures de contrôle: `while`{.C}
+
+## La boucle `while`{.C}
+
+```C
+while (condition) {
+    instructions;
+}
+do {
+    instructions;
+} while (condition);
+```
+
+## La boucle `while`{.C}, un exemple
+
+```C
+int sum = 0; // syntaxe C99
+while (sum < 10) {
+    sum += 1;
+}
+do {
+    sum += 10;
+} while (sum < 100)
+```
+
+# Structures de contrôle: `for`{.C}
+
+## La boucle `for`{.C}
+
+```C
+for (expression1; expression2; expression3) {
+    instructions;
+}
+```
+
+## La boucle `for`{.C}
+
+```C
+int sum = 0; // syntaxe C99
+for (int i = 0; i < 10; i++) {
+    sum += i;
+}
+
+for (int i = 0; i != 1; i = rand() % 4) { // ésotérique
+    printf("C'est plus ésotérique.\n");
+}
+```
+
+# Exercice: la factorielle
+
+Écrire un programme qui calcule la factorielle d'un nombre
+$$
+N! = 1\cdot 2\cdot ... \cdot (N-1)\cdot N.
+$$
+
+## Par groupe de 3: écrire un pseudo-code
+
+. . .
+
+```C
+int factorielle(int n) {
+    i = 1;
+    fact = 1;
+    pour i <= n {
+        fact *= i;
+        i += 1;
+    }
+}
+```
+
+# Exercice: la factorielle
+
+\footnotesize
+
+Écrire un programme qui calcule la factorielle d'un nombre
+$$
+N! = 1\cdot 2\cdot ... \cdot (N-1)\cdot N.
+$$
+
+## Par groupe de 3: écrire un code en C
+
+Quand vous avez fini postez le code sur le salon matrix.
+
+. . .
+
+```C
+#include <stdio.h>
+int main() {
+   int nb = 10;
+   int fact = 1;
+   int iter = 2;
+   while (iter <= nb) {
+      fact *= iter;
+      iter++;
+   }
+}
+```
+
+. . .
+
+## Comment améliorer ce code? (notez ça sur une feuille)
+
+
+# Entrées/sorties: `printf()`{.C} (1/2)
+
+## Généralités
+
+- La fonction `printf()`{.C} permet d'afficher du texte sur le terminal:
+
+    ```C
+    int printf(const char *format, ...);
+    ```
+- Nombre d'arguments variables.
+- `format`{.C} est le texte, ainsi que le format (type) des variables à afficher.
+- Les arguments suivants sont les expressions à afficher.
+
+# Entrées/sorties: `printf()`{.C} (2/2)
+
+## Exemple
+
+```C
+#include <stdio.h>
+#include <stdlib.h>
+
+int main() {
+    printf("Hello world.\n");
+    int val = 1;
+    printf("Hello world %d time.\n", val);
+    printf("%f squared is equal to %f.\n", 2.5, 2.5*2.5);
+    return EXIT_SUCCESS;
+}
+```
+
+# Entrées/sorties: `scanf()`{.C} (1/2)
+
+## Généralités
+
+- La fonction `scanf()`{.C} permet de lire du texte formaté entré au clavier:
+
+    ```C
+    int scanf(const char *format, ...);
+    ```
+
+- `format`{.C} est le format des variables à lire (comme `printf()`{.C}).
+- Les arguments suivants sont les variables où sont stockées les valeurs lues.
+
+# Entrées/sorties: `scanf()`{.C} (2/2)
+
+## Exemple
+
+```C
+#include <stdio.h>
+#include <stdlib.h>
+
+int main() {
+    printf("Enter 3 numbers: \n");
+    int i, j, k;
+    scanf("%d %d %d", &i, &j, &k);
+    printf("You entered: %d %d %d\n", i, j, k);
+    
+    return EXIT_SUCCESS;
+}
+```
+
+# Exercice: la factorielle en mieux
+
+## Individuellement
+
+1. Ajoutez des fonctionnalités à votre code.
+2. Écrivez l'algorithme de calcul de deux façon différentes.
+3. Pour celles et ceux qui ont fini pendant que les autres essaient: faites-le 
+   en récursif (sans aide).
+
+. . .
+
+## Postez vos solutions sur matrix!
+
+
diff --git a/slides/cours_10.md b/slides_2021/cours_10.md
similarity index 100%
rename from slides/cours_10.md
rename to slides_2021/cours_10.md
diff --git a/slides/cours_11.md b/slides_2021/cours_11.md
similarity index 100%
rename from slides/cours_11.md
rename to slides_2021/cours_11.md
diff --git a/slides/cours_12.md b/slides_2021/cours_12.md
similarity index 100%
rename from slides/cours_12.md
rename to slides_2021/cours_12.md
diff --git a/slides/cours_13.md b/slides_2021/cours_13.md
similarity index 100%
rename from slides/cours_13.md
rename to slides_2021/cours_13.md
diff --git a/slides/cours_14.md b/slides_2021/cours_14.md
similarity index 100%
rename from slides/cours_14.md
rename to slides_2021/cours_14.md
diff --git a/slides/cours_15.md b/slides_2021/cours_15.md
similarity index 100%
rename from slides/cours_15.md
rename to slides_2021/cours_15.md
diff --git a/slides/cours_16.md b/slides_2021/cours_16.md
similarity index 100%
rename from slides/cours_16.md
rename to slides_2021/cours_16.md
diff --git a/slides/cours_17.md b/slides_2021/cours_17.md
similarity index 100%
rename from slides/cours_17.md
rename to slides_2021/cours_17.md
diff --git a/slides/cours_18.md b/slides_2021/cours_18.md
similarity index 100%
rename from slides/cours_18.md
rename to slides_2021/cours_18.md
diff --git a/slides/cours_19.md b/slides_2021/cours_19.md
similarity index 100%
rename from slides/cours_19.md
rename to slides_2021/cours_19.md
diff --git a/slides/cours_2.md b/slides_2021/cours_2.md
similarity index 100%
rename from slides/cours_2.md
rename to slides_2021/cours_2.md
diff --git a/slides/cours_20.md b/slides_2021/cours_20.md
similarity index 100%
rename from slides/cours_20.md
rename to slides_2021/cours_20.md
diff --git a/slides/cours_21.md b/slides_2021/cours_21.md
similarity index 100%
rename from slides/cours_21.md
rename to slides_2021/cours_21.md
diff --git a/slides/cours_22.md b/slides_2021/cours_22.md
similarity index 100%
rename from slides/cours_22.md
rename to slides_2021/cours_22.md
diff --git a/slides/cours_23.md b/slides_2021/cours_23.md
similarity index 100%
rename from slides/cours_23.md
rename to slides_2021/cours_23.md
diff --git a/slides/cours_24.md b/slides_2021/cours_24.md
similarity index 100%
rename from slides/cours_24.md
rename to slides_2021/cours_24.md
diff --git a/slides/cours_25.md b/slides_2021/cours_25.md
similarity index 100%
rename from slides/cours_25.md
rename to slides_2021/cours_25.md
diff --git a/slides/cours_26.md b/slides_2021/cours_26.md
similarity index 100%
rename from slides/cours_26.md
rename to slides_2021/cours_26.md
diff --git a/slides/cours_27.md b/slides_2021/cours_27.md
similarity index 100%
rename from slides/cours_27.md
rename to slides_2021/cours_27.md
diff --git a/slides/cours_3.md b/slides_2021/cours_3.md
similarity index 100%
rename from slides/cours_3.md
rename to slides_2021/cours_3.md
diff --git a/slides/cours_4.md b/slides_2021/cours_4.md
similarity index 100%
rename from slides/cours_4.md
rename to slides_2021/cours_4.md
diff --git a/slides/cours_5.md b/slides_2021/cours_5.md
similarity index 100%
rename from slides/cours_5.md
rename to slides_2021/cours_5.md
diff --git a/slides/cours_6.md b/slides_2021/cours_6.md
similarity index 100%
rename from slides/cours_6.md
rename to slides_2021/cours_6.md
diff --git a/slides/cours_7.md b/slides_2021/cours_7.md
similarity index 100%
rename from slides/cours_7.md
rename to slides_2021/cours_7.md
diff --git a/slides/cours_8.md b/slides_2021/cours_8.md
similarity index 100%
rename from slides/cours_8.md
rename to slides_2021/cours_8.md
diff --git a/slides/cours_9.md b/slides_2021/cours_9.md
similarity index 100%
rename from slides/cours_9.md
rename to slides_2021/cours_9.md
diff --git a/slides/docker-compose.yml b/slides_2021/docker-compose.yml
similarity index 100%
rename from slides/docker-compose.yml
rename to slides_2021/docker-compose.yml
diff --git a/slides/figs/.gitignore b/slides_2021/figs/.gitignore
similarity index 100%
rename from slides/figs/.gitignore
rename to slides_2021/figs/.gitignore
diff --git a/slides/figs/2reines.svg b/slides_2021/figs/2reines.svg
similarity index 100%
rename from slides/figs/2reines.svg
rename to slides_2021/figs/2reines.svg
diff --git a/slides/figs/3reines.svg b/slides_2021/figs/3reines.svg
similarity index 100%
rename from slides/figs/3reines.svg
rename to slides_2021/figs/3reines.svg
diff --git a/slides/figs/4reines.svg b/slides_2021/figs/4reines.svg
similarity index 100%
rename from slides/figs/4reines.svg
rename to slides_2021/figs/4reines.svg
diff --git a/slides/figs/4reines_sym.svg b/slides_2021/figs/4reines_sym.svg
similarity index 100%
rename from slides/figs/4reines_sym.svg
rename to slides_2021/figs/4reines_sym.svg
diff --git a/slides/figs/Binary_search_complexity.svg b/slides_2021/figs/Binary_search_complexity.svg
similarity index 100%
rename from slides/figs/Binary_search_complexity.svg
rename to slides_2021/figs/Binary_search_complexity.svg
diff --git a/slides/figs/Float_example.svg b/slides_2021/figs/Float_example.svg
similarity index 100%
rename from slides/figs/Float_example.svg
rename to slides_2021/figs/Float_example.svg
diff --git a/slides/figs/Float_example_bare.svg b/slides_2021/figs/Float_example_bare.svg
similarity index 100%
rename from slides/figs/Float_example_bare.svg
rename to slides_2021/figs/Float_example_bare.svg
diff --git a/slides/figs/Konigsberg_bridges.png b/slides_2021/figs/Konigsberg_bridges.png
similarity index 100%
rename from slides/figs/Konigsberg_bridges.png
rename to slides_2021/figs/Konigsberg_bridges.png
diff --git a/slides/figs/PageRanks-Example.svg b/slides_2021/figs/PageRanks-Example.svg
similarity index 100%
rename from slides/figs/PageRanks-Example.svg
rename to slides_2021/figs/PageRanks-Example.svg
diff --git a/slides/figs/Singly-linked-list.svg b/slides_2021/figs/Singly-linked-list.svg
similarity index 100%
rename from slides/figs/Singly-linked-list.svg
rename to slides_2021/figs/Singly-linked-list.svg
diff --git a/slides/figs/Social_Network.svg b/slides_2021/figs/Social_Network.svg
similarity index 100%
rename from slides/figs/Social_Network.svg
rename to slides_2021/figs/Social_Network.svg
diff --git a/slides/figs/Stack.svg b/slides_2021/figs/Stack.svg
similarity index 100%
rename from slides/figs/Stack.svg
rename to slides_2021/figs/Stack.svg
diff --git a/slides/figs/arbre1.png b/slides_2021/figs/arbre1.png
similarity index 100%
rename from slides/figs/arbre1.png
rename to slides_2021/figs/arbre1.png
diff --git a/slides/figs/arbre2.png b/slides_2021/figs/arbre2.png
similarity index 100%
rename from slides/figs/arbre2.png
rename to slides_2021/figs/arbre2.png
diff --git a/slides/figs/arbre3_1.png b/slides_2021/figs/arbre3_1.png
similarity index 100%
rename from slides/figs/arbre3_1.png
rename to slides_2021/figs/arbre3_1.png
diff --git a/slides/figs/arbre3_2.png b/slides_2021/figs/arbre3_2.png
similarity index 100%
rename from slides/figs/arbre3_2.png
rename to slides_2021/figs/arbre3_2.png
diff --git a/slides/figs/arbre3_3.png b/slides_2021/figs/arbre3_3.png
similarity index 100%
rename from slides/figs/arbre3_3.png
rename to slides_2021/figs/arbre3_3.png
diff --git a/slides/figs/arbre_couvrant_bien.png b/slides_2021/figs/arbre_couvrant_bien.png
similarity index 100%
rename from slides/figs/arbre_couvrant_bien.png
rename to slides_2021/figs/arbre_couvrant_bien.png
diff --git a/slides/figs/arbre_couvrant_exemples.png b/slides_2021/figs/arbre_couvrant_exemples.png
similarity index 100%
rename from slides/figs/arbre_couvrant_exemples.png
rename to slides_2021/figs/arbre_couvrant_exemples.png
diff --git a/slides/figs/arbre_couvrant_mal.png b/slides_2021/figs/arbre_couvrant_mal.png
similarity index 100%
rename from slides/figs/arbre_couvrant_mal.png
rename to slides_2021/figs/arbre_couvrant_mal.png
diff --git a/slides/figs/arbre_couvrant_minimal_exemple.png b/slides_2021/figs/arbre_couvrant_minimal_exemple.png
similarity index 100%
rename from slides/figs/arbre_couvrant_minimal_exemple.png
rename to slides_2021/figs/arbre_couvrant_minimal_exemple.png
diff --git a/slides/figs/arbre_couvrant_vide.png b/slides_2021/figs/arbre_couvrant_vide.png
similarity index 100%
rename from slides/figs/arbre_couvrant_vide.png
rename to slides_2021/figs/arbre_couvrant_vide.png
diff --git a/slides/figs/arbres_couvrants_parcours.png b/slides_2021/figs/arbres_couvrants_parcours.png
similarity index 100%
rename from slides/figs/arbres_couvrants_parcours.png
rename to slides_2021/figs/arbres_couvrants_parcours.png
diff --git a/slides/figs/barbres_1.svg b/slides_2021/figs/barbres_1.svg
similarity index 100%
rename from slides/figs/barbres_1.svg
rename to slides_2021/figs/barbres_1.svg
diff --git a/slides/figs/barbres_2.svg b/slides_2021/figs/barbres_2.svg
similarity index 100%
rename from slides/figs/barbres_2.svg
rename to slides_2021/figs/barbres_2.svg
diff --git a/slides/figs/barbres_3.svg b/slides_2021/figs/barbres_3.svg
similarity index 100%
rename from slides/figs/barbres_3.svg
rename to slides_2021/figs/barbres_3.svg
diff --git a/slides/figs/barbres_4.svg b/slides_2021/figs/barbres_4.svg
similarity index 100%
rename from slides/figs/barbres_4.svg
rename to slides_2021/figs/barbres_4.svg
diff --git a/slides/figs/barbres_5.svg b/slides_2021/figs/barbres_5.svg
similarity index 100%
rename from slides/figs/barbres_5.svg
rename to slides_2021/figs/barbres_5.svg
diff --git a/slides/figs/barbres_6.svg b/slides_2021/figs/barbres_6.svg
similarity index 100%
rename from slides/figs/barbres_6.svg
rename to slides_2021/figs/barbres_6.svg
diff --git a/slides/figs/barbres_7.svg b/slides_2021/figs/barbres_7.svg
similarity index 100%
rename from slides/figs/barbres_7.svg
rename to slides_2021/figs/barbres_7.svg
diff --git a/slides/figs/barbres_ex1.png b/slides_2021/figs/barbres_ex1.png
similarity index 100%
rename from slides/figs/barbres_ex1.png
rename to slides_2021/figs/barbres_ex1.png
diff --git a/slides/figs/barbres_ex2.png b/slides_2021/figs/barbres_ex2.png
similarity index 100%
rename from slides/figs/barbres_ex2.png
rename to slides_2021/figs/barbres_ex2.png
diff --git a/slides/figs/barbres_ex3.png b/slides_2021/figs/barbres_ex3.png
similarity index 100%
rename from slides/figs/barbres_ex3.png
rename to slides_2021/figs/barbres_ex3.png
diff --git a/slides/figs/barbres_ex4.png b/slides_2021/figs/barbres_ex4.png
similarity index 100%
rename from slides/figs/barbres_ex4.png
rename to slides_2021/figs/barbres_ex4.png
diff --git a/slides/figs/barbres_ex5.png b/slides_2021/figs/barbres_ex5.png
similarity index 100%
rename from slides/figs/barbres_ex5.png
rename to slides_2021/figs/barbres_ex5.png
diff --git a/slides/figs/barbres_exemple.png b/slides_2021/figs/barbres_exemple.png
similarity index 100%
rename from slides/figs/barbres_exemple.png
rename to slides_2021/figs/barbres_exemple.png
diff --git a/slides/figs/barbres_insert_easy.svg b/slides_2021/figs/barbres_insert_easy.svg
similarity index 100%
rename from slides/figs/barbres_insert_easy.svg
rename to slides_2021/figs/barbres_insert_easy.svg
diff --git a/slides/figs/barbres_insert_easy_after.svg b/slides_2021/figs/barbres_insert_easy_after.svg
similarity index 100%
rename from slides/figs/barbres_insert_easy_after.svg
rename to slides_2021/figs/barbres_insert_easy_after.svg
diff --git a/slides/figs/barbres_insert_hard_after.svg b/slides_2021/figs/barbres_insert_hard_after.svg
similarity index 100%
rename from slides/figs/barbres_insert_hard_after.svg
rename to slides_2021/figs/barbres_insert_hard_after.svg
diff --git a/slides/figs/barbres_insert_hard_before.svg b/slides_2021/figs/barbres_insert_hard_before.svg
similarity index 100%
rename from slides/figs/barbres_insert_hard_before.svg
rename to slides_2021/figs/barbres_insert_hard_before.svg
diff --git a/slides/figs/barbres_insert_hard_during.svg b/slides_2021/figs/barbres_insert_hard_during.svg
similarity index 100%
rename from slides/figs/barbres_insert_hard_during.svg
rename to slides_2021/figs/barbres_insert_hard_during.svg
diff --git a/slides/figs/barbres_ordre2_supp1.svg b/slides_2021/figs/barbres_ordre2_supp1.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp1.svg
rename to slides_2021/figs/barbres_ordre2_supp1.svg
diff --git a/slides/figs/barbres_ordre2_supp10.svg b/slides_2021/figs/barbres_ordre2_supp10.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp10.svg
rename to slides_2021/figs/barbres_ordre2_supp10.svg
diff --git a/slides/figs/barbres_ordre2_supp11.svg b/slides_2021/figs/barbres_ordre2_supp11.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp11.svg
rename to slides_2021/figs/barbres_ordre2_supp11.svg
diff --git a/slides/figs/barbres_ordre2_supp2.svg b/slides_2021/figs/barbres_ordre2_supp2.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp2.svg
rename to slides_2021/figs/barbres_ordre2_supp2.svg
diff --git a/slides/figs/barbres_ordre2_supp3.svg b/slides_2021/figs/barbres_ordre2_supp3.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp3.svg
rename to slides_2021/figs/barbres_ordre2_supp3.svg
diff --git a/slides/figs/barbres_ordre2_supp4.svg b/slides_2021/figs/barbres_ordre2_supp4.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp4.svg
rename to slides_2021/figs/barbres_ordre2_supp4.svg
diff --git a/slides/figs/barbres_ordre2_supp5.svg b/slides_2021/figs/barbres_ordre2_supp5.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp5.svg
rename to slides_2021/figs/barbres_ordre2_supp5.svg
diff --git a/slides/figs/barbres_ordre2_supp6.svg b/slides_2021/figs/barbres_ordre2_supp6.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp6.svg
rename to slides_2021/figs/barbres_ordre2_supp6.svg
diff --git a/slides/figs/barbres_ordre2_supp7.svg b/slides_2021/figs/barbres_ordre2_supp7.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp7.svg
rename to slides_2021/figs/barbres_ordre2_supp7.svg
diff --git a/slides/figs/barbres_ordre2_supp8.svg b/slides_2021/figs/barbres_ordre2_supp8.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp8.svg
rename to slides_2021/figs/barbres_ordre2_supp8.svg
diff --git a/slides/figs/barbres_ordre2_supp9.svg b/slides_2021/figs/barbres_ordre2_supp9.svg
similarity index 100%
rename from slides/figs/barbres_ordre2_supp9.svg
rename to slides_2021/figs/barbres_ordre2_supp9.svg
diff --git a/slides/figs/barbres_page3.png b/slides_2021/figs/barbres_page3.png
similarity index 100%
rename from slides/figs/barbres_page3.png
rename to slides_2021/figs/barbres_page3.png
diff --git a/slides/figs/barbres_struct.png b/slides_2021/figs/barbres_struct.png
similarity index 100%
rename from slides/figs/barbres_struct.png
rename to slides_2021/figs/barbres_struct.png
diff --git a/slides/figs/board_blacked_parts.svg b/slides_2021/figs/board_blacked_parts.svg
similarity index 100%
rename from slides/figs/board_blacked_parts.svg
rename to slides_2021/figs/board_blacked_parts.svg
diff --git a/slides/figs/cas1a_droite.png b/slides_2021/figs/cas1a_droite.png
similarity index 100%
rename from slides/figs/cas1a_droite.png
rename to slides_2021/figs/cas1a_droite.png
diff --git a/slides/figs/cas1a_gauche.png b/slides_2021/figs/cas1a_gauche.png
similarity index 100%
rename from slides/figs/cas1a_gauche.png
rename to slides_2021/figs/cas1a_gauche.png
diff --git a/slides/figs/cas1b_droite.png b/slides_2021/figs/cas1b_droite.png
similarity index 100%
rename from slides/figs/cas1b_droite.png
rename to slides_2021/figs/cas1b_droite.png
diff --git a/slides/figs/cas1b_gauche.png b/slides_2021/figs/cas1b_gauche.png
similarity index 100%
rename from slides/figs/cas1b_gauche.png
rename to slides_2021/figs/cas1b_gauche.png
diff --git a/slides/figs/cas2a_droite.png b/slides_2021/figs/cas2a_droite.png
similarity index 100%
rename from slides/figs/cas2a_droite.png
rename to slides_2021/figs/cas2a_droite.png
diff --git a/slides/figs/cas2a_gauche.png b/slides_2021/figs/cas2a_gauche.png
similarity index 100%
rename from slides/figs/cas2a_gauche.png
rename to slides_2021/figs/cas2a_gauche.png
diff --git a/slides/figs/cas2b_droite.png b/slides_2021/figs/cas2b_droite.png
similarity index 100%
rename from slides/figs/cas2b_droite.png
rename to slides_2021/figs/cas2b_droite.png
diff --git a/slides/figs/cas2b_gauche.png b/slides_2021/figs/cas2b_gauche.png
similarity index 100%
rename from slides/figs/cas2b_gauche.png
rename to slides_2021/figs/cas2b_gauche.png
diff --git a/slides/figs/composantes_connexes.svg b/slides_2021/figs/composantes_connexes.svg
similarity index 100%
rename from slides/figs/composantes_connexes.svg
rename to slides_2021/figs/composantes_connexes.svg
diff --git a/slides/figs/composantes_fortement_connexes.svg b/slides_2021/figs/composantes_fortement_connexes.svg
similarity index 100%
rename from slides/figs/composantes_fortement_connexes.svg
rename to slides_2021/figs/composantes_fortement_connexes.svg
diff --git a/slides/figs/corps1.png b/slides_2021/figs/corps1.png
similarity index 100%
rename from slides/figs/corps1.png
rename to slides_2021/figs/corps1.png
diff --git a/slides/figs/corps2.png b/slides_2021/figs/corps2.png
similarity index 100%
rename from slides/figs/corps2.png
rename to slides_2021/figs/corps2.png
diff --git a/slides/figs/corps3_1.png b/slides_2021/figs/corps3_1.png
similarity index 100%
rename from slides/figs/corps3_1.png
rename to slides_2021/figs/corps3_1.png
diff --git a/slides/figs/corps3_2.png b/slides_2021/figs/corps3_2.png
similarity index 100%
rename from slides/figs/corps3_2.png
rename to slides_2021/figs/corps3_2.png
diff --git a/slides/figs/corps3_3.png b/slides_2021/figs/corps3_3.png
similarity index 100%
rename from slides/figs/corps3_3.png
rename to slides_2021/figs/corps3_3.png
diff --git a/slides/figs/courts_chemin_intro.pdf b/slides_2021/figs/courts_chemin_intro.pdf
similarity index 100%
rename from slides/figs/courts_chemin_intro.pdf
rename to slides_2021/figs/courts_chemin_intro.pdf
diff --git a/slides/figs/dijkstra_0.png b/slides_2021/figs/dijkstra_0.png
similarity index 100%
rename from slides/figs/dijkstra_0.png
rename to slides_2021/figs/dijkstra_0.png
diff --git a/slides/figs/dijkstra_1.png b/slides_2021/figs/dijkstra_1.png
similarity index 100%
rename from slides/figs/dijkstra_1.png
rename to slides_2021/figs/dijkstra_1.png
diff --git a/slides/figs/dijkstra_2.png b/slides_2021/figs/dijkstra_2.png
similarity index 100%
rename from slides/figs/dijkstra_2.png
rename to slides_2021/figs/dijkstra_2.png
diff --git a/slides/figs/dijkstra_3.png b/slides_2021/figs/dijkstra_3.png
similarity index 100%
rename from slides/figs/dijkstra_3.png
rename to slides_2021/figs/dijkstra_3.png
diff --git a/slides/figs/dijkstra_4.png b/slides_2021/figs/dijkstra_4.png
similarity index 100%
rename from slides/figs/dijkstra_4.png
rename to slides_2021/figs/dijkstra_4.png
diff --git a/slides/figs/dijkstra_5.png b/slides_2021/figs/dijkstra_5.png
similarity index 100%
rename from slides/figs/dijkstra_5.png
rename to slides_2021/figs/dijkstra_5.png
diff --git a/slides/figs/dijkstra_6.png b/slides_2021/figs/dijkstra_6.png
similarity index 100%
rename from slides/figs/dijkstra_6.png
rename to slides_2021/figs/dijkstra_6.png
diff --git a/slides/figs/dijkstra_7.png b/slides_2021/figs/dijkstra_7.png
similarity index 100%
rename from slides/figs/dijkstra_7.png
rename to slides_2021/figs/dijkstra_7.png
diff --git a/slides/figs/dijkstra_ex_0.png b/slides_2021/figs/dijkstra_ex_0.png
similarity index 100%
rename from slides/figs/dijkstra_ex_0.png
rename to slides_2021/figs/dijkstra_ex_0.png
diff --git a/slides/figs/dijkstra_ex_1.png b/slides_2021/figs/dijkstra_ex_1.png
similarity index 100%
rename from slides/figs/dijkstra_ex_1.png
rename to slides_2021/figs/dijkstra_ex_1.png
diff --git a/slides/figs/dijkstra_ex_2.png b/slides_2021/figs/dijkstra_ex_2.png
similarity index 100%
rename from slides/figs/dijkstra_ex_2.png
rename to slides_2021/figs/dijkstra_ex_2.png
diff --git a/slides/figs/dijkstra_ex_3.png b/slides_2021/figs/dijkstra_ex_3.png
similarity index 100%
rename from slides/figs/dijkstra_ex_3.png
rename to slides_2021/figs/dijkstra_ex_3.png
diff --git a/slides/figs/dijkstra_ex_4.png b/slides_2021/figs/dijkstra_ex_4.png
similarity index 100%
rename from slides/figs/dijkstra_ex_4.png
rename to slides_2021/figs/dijkstra_ex_4.png
diff --git a/slides/figs/dijkstra_ex_5.png b/slides_2021/figs/dijkstra_ex_5.png
similarity index 100%
rename from slides/figs/dijkstra_ex_5.png
rename to slides_2021/figs/dijkstra_ex_5.png
diff --git a/slides/figs/dijkstra_exo.png b/slides_2021/figs/dijkstra_exo.png
similarity index 100%
rename from slides/figs/dijkstra_exo.png
rename to slides_2021/figs/dijkstra_exo.png
diff --git a/slides/figs/double_rotation_gauche_droite.png b/slides_2021/figs/double_rotation_gauche_droite.png
similarity index 100%
rename from slides/figs/double_rotation_gauche_droite.png
rename to slides_2021/figs/double_rotation_gauche_droite.png
diff --git a/slides/figs/doubly_linked_list.svg b/slides_2021/figs/doubly_linked_list.svg
similarity index 100%
rename from slides/figs/doubly_linked_list.svg
rename to slides_2021/figs/doubly_linked_list.svg
diff --git a/slides/figs/empty_board.svg b/slides_2021/figs/empty_board.svg
similarity index 100%
rename from slides/figs/empty_board.svg
rename to slides_2021/figs/empty_board.svg
diff --git a/slides/figs/ensemble.svg b/slides_2021/figs/ensemble.svg
similarity index 100%
rename from slides/figs/ensemble.svg
rename to slides_2021/figs/ensemble.svg
diff --git a/slides/figs/ex_adj_non_or.svg b/slides_2021/figs/ex_adj_non_or.svg
similarity index 100%
rename from slides/figs/ex_adj_non_or.svg
rename to slides_2021/figs/ex_adj_non_or.svg
diff --git a/slides/figs/ex_adj_or.svg b/slides_2021/figs/ex_adj_or.svg
similarity index 100%
rename from slides/figs/ex_adj_or.svg
rename to slides_2021/figs/ex_adj_or.svg
diff --git a/slides/figs/ex_graph_adj.pdf b/slides_2021/figs/ex_graph_adj.pdf
similarity index 100%
rename from slides/figs/ex_graph_adj.pdf
rename to slides_2021/figs/ex_graph_adj.pdf
diff --git a/slides/figs/ex_graph_fort_connexe.pdf b/slides_2021/figs/ex_graph_fort_connexe.pdf
similarity index 100%
rename from slides/figs/ex_graph_fort_connexe.pdf
rename to slides_2021/figs/ex_graph_fort_connexe.pdf
diff --git a/slides/figs/ex_graph_list_adj.pdf b/slides_2021/figs/ex_graph_list_adj.pdf
similarity index 100%
rename from slides/figs/ex_graph_list_adj.pdf
rename to slides_2021/figs/ex_graph_list_adj.pdf
diff --git a/slides/figs/ex_graph_pond.pdf b/slides_2021/figs/ex_graph_pond.pdf
similarity index 100%
rename from slides/figs/ex_graph_pond.pdf
rename to slides_2021/figs/ex_graph_pond.pdf
diff --git a/slides/figs/ex_graphe_boucle.pdf b/slides_2021/figs/ex_graphe_boucle.pdf
similarity index 100%
rename from slides/figs/ex_graphe_boucle.pdf
rename to slides_2021/figs/ex_graphe_boucle.pdf
diff --git a/slides/figs/ex_graphe_chaine.pdf b/slides_2021/figs/ex_graphe_chaine.pdf
similarity index 100%
rename from slides/figs/ex_graphe_chaine.pdf
rename to slides_2021/figs/ex_graphe_chaine.pdf
diff --git a/slides/figs/ex_graphe_chaine.svg b/slides_2021/figs/ex_graphe_chaine.svg
similarity index 100%
rename from slides/figs/ex_graphe_chaine.svg
rename to slides_2021/figs/ex_graphe_chaine.svg
diff --git a/slides/figs/ex_graphe_chaine_elem.pdf b/slides_2021/figs/ex_graphe_chaine_elem.pdf
similarity index 100%
rename from slides/figs/ex_graphe_chaine_elem.pdf
rename to slides_2021/figs/ex_graphe_chaine_elem.pdf
diff --git a/slides/figs/ex_graphe_cycle.pdf b/slides_2021/figs/ex_graphe_cycle.pdf
similarity index 100%
rename from slides/figs/ex_graphe_cycle.pdf
rename to slides_2021/figs/ex_graphe_cycle.pdf
diff --git a/slides/figs/ex_graphe_non_oriente.svg b/slides_2021/figs/ex_graphe_non_oriente.svg
similarity index 100%
rename from slides/figs/ex_graphe_non_oriente.svg
rename to slides_2021/figs/ex_graphe_non_oriente.svg
diff --git a/slides/figs/ex_graphe_oriente.svg b/slides_2021/figs/ex_graphe_oriente.svg
similarity index 100%
rename from slides/figs/ex_graphe_oriente.svg
rename to slides_2021/figs/ex_graphe_oriente.svg
diff --git a/slides/figs/ex_graphes.png b/slides_2021/figs/ex_graphes.png
similarity index 100%
rename from slides/figs/ex_graphes.png
rename to slides_2021/figs/ex_graphes.png
diff --git a/slides/figs/exemple_neg.png b/slides_2021/figs/exemple_neg.png
similarity index 100%
rename from slides/figs/exemple_neg.png
rename to slides_2021/figs/exemple_neg.png
diff --git a/slides/figs/facteur_equilibre.png b/slides_2021/figs/facteur_equilibre.png
similarity index 100%
rename from slides/figs/facteur_equilibre.png
rename to slides_2021/figs/facteur_equilibre.png
diff --git a/slides/figs/fig_empty_queue_insert.png b/slides_2021/figs/fig_empty_queue_insert.png
similarity index 100%
rename from slides/figs/fig_empty_queue_insert.png
rename to slides_2021/figs/fig_empty_queue_insert.png
diff --git a/slides/figs/fig_hash.png b/slides_2021/figs/fig_hash.png
similarity index 100%
rename from slides/figs/fig_hash.png
rename to slides_2021/figs/fig_hash.png
diff --git a/slides/figs/fig_non_empty_queue_insert.png b/slides_2021/figs/fig_non_empty_queue_insert.png
similarity index 100%
rename from slides/figs/fig_non_empty_queue_insert.png
rename to slides_2021/figs/fig_non_empty_queue_insert.png
diff --git a/slides/figs/fig_queue_extract.png b/slides_2021/figs/fig_queue_extract.png
similarity index 100%
rename from slides/figs/fig_queue_extract.png
rename to slides_2021/figs/fig_queue_extract.png
diff --git a/slides/figs/fig_queue_extract_one.svg b/slides_2021/figs/fig_queue_extract_one.svg
similarity index 100%
rename from slides/figs/fig_queue_extract_one.svg
rename to slides_2021/figs/fig_queue_extract_one.svg
diff --git a/slides/figs/fig_queue_representation.png b/slides_2021/figs/fig_queue_representation.png
similarity index 100%
rename from slides/figs/fig_queue_representation.png
rename to slides_2021/figs/fig_queue_representation.png
diff --git a/slides/figs/fig_recursivite_8_reines.png b/slides_2021/figs/fig_recursivite_8_reines.png
similarity index 100%
rename from slides/figs/fig_recursivite_8_reines.png
rename to slides_2021/figs/fig_recursivite_8_reines.png
diff --git a/slides/figs/floyd_exemple.png b/slides_2021/figs/floyd_exemple.png
similarity index 100%
rename from slides/figs/floyd_exemple.png
rename to slides_2021/figs/floyd_exemple.png
diff --git a/slides/figs/floyd_exercice.png b/slides_2021/figs/floyd_exercice.png
similarity index 100%
rename from slides/figs/floyd_exercice.png
rename to slides_2021/figs/floyd_exercice.png
diff --git a/slides/figs/force_1.png b/slides_2021/figs/force_1.png
similarity index 100%
rename from slides/figs/force_1.png
rename to slides_2021/figs/force_1.png
diff --git a/slides/figs/force_2.png b/slides_2021/figs/force_2.png
similarity index 100%
rename from slides/figs/force_2.png
rename to slides_2021/figs/force_2.png
diff --git a/slides/figs/force_3.png b/slides_2021/figs/force_3.png
similarity index 100%
rename from slides/figs/force_3.png
rename to slides_2021/figs/force_3.png
diff --git a/slides/figs/force_4.png b/slides_2021/figs/force_4.png
similarity index 100%
rename from slides/figs/force_4.png
rename to slides_2021/figs/force_4.png
diff --git a/slides/figs/force_5.png b/slides_2021/figs/force_5.png
similarity index 100%
rename from slides/figs/force_5.png
rename to slides_2021/figs/force_5.png
diff --git a/slides/figs/force_6.png b/slides_2021/figs/force_6.png
similarity index 100%
rename from slides/figs/force_6.png
rename to slides_2021/figs/force_6.png
diff --git a/slides/figs/force_7.png b/slides_2021/figs/force_7.png
similarity index 100%
rename from slides/figs/force_7.png
rename to slides_2021/figs/force_7.png
diff --git a/slides/figs/graphe_connexe.svg b/slides_2021/figs/graphe_connexe.svg
similarity index 100%
rename from slides/figs/graphe_connexe.svg
rename to slides_2021/figs/graphe_connexe.svg
diff --git a/slides/figs/heap_tree.svg b/slides_2021/figs/heap_tree.svg
similarity index 100%
rename from slides/figs/heap_tree.svg
rename to slides_2021/figs/heap_tree.svg
diff --git a/slides/figs/kruskal_0.png b/slides_2021/figs/kruskal_0.png
similarity index 100%
rename from slides/figs/kruskal_0.png
rename to slides_2021/figs/kruskal_0.png
diff --git a/slides/figs/kruskal_1.png b/slides_2021/figs/kruskal_1.png
similarity index 100%
rename from slides/figs/kruskal_1.png
rename to slides_2021/figs/kruskal_1.png
diff --git a/slides/figs/kruskal_2.png b/slides_2021/figs/kruskal_2.png
similarity index 100%
rename from slides/figs/kruskal_2.png
rename to slides_2021/figs/kruskal_2.png
diff --git a/slides/figs/kruskal_3.png b/slides_2021/figs/kruskal_3.png
similarity index 100%
rename from slides/figs/kruskal_3.png
rename to slides_2021/figs/kruskal_3.png
diff --git a/slides/figs/kruskal_4.png b/slides_2021/figs/kruskal_4.png
similarity index 100%
rename from slides/figs/kruskal_4.png
rename to slides_2021/figs/kruskal_4.png
diff --git a/slides/figs/kruskal_cycle.png b/slides_2021/figs/kruskal_cycle.png
similarity index 100%
rename from slides/figs/kruskal_cycle.png
rename to slides_2021/figs/kruskal_cycle.png
diff --git a/slides/figs/matrix.png b/slides_2021/figs/matrix.png
similarity index 100%
rename from slides/figs/matrix.png
rename to slides_2021/figs/matrix.png
diff --git a/slides/figs/nbody_bare.png b/slides_2021/figs/nbody_bare.png
similarity index 100%
rename from slides/figs/nbody_bare.png
rename to slides_2021/figs/nbody_bare.png
diff --git a/slides/figs/nbody_group.png b/slides_2021/figs/nbody_group.png
similarity index 100%
rename from slides/figs/nbody_group.png
rename to slides_2021/figs/nbody_group.png
diff --git a/slides/figs/nbody_n2.png b/slides_2021/figs/nbody_n2.png
similarity index 100%
rename from slides/figs/nbody_n2.png
rename to slides_2021/figs/nbody_n2.png
diff --git a/slides/figs/nbody_qt.png b/slides_2021/figs/nbody_qt.png
similarity index 100%
rename from slides/figs/nbody_qt.png
rename to slides_2021/figs/nbody_qt.png
diff --git a/slides/figs/nbody_qt_withtree.png b/slides_2021/figs/nbody_qt_withtree.png
similarity index 100%
rename from slides/figs/nbody_qt_withtree.png
rename to slides_2021/figs/nbody_qt_withtree.png
diff --git a/slides/figs/parcours_larg.pdf b/slides_2021/figs/parcours_larg.pdf
similarity index 100%
rename from slides/figs/parcours_larg.pdf
rename to slides_2021/figs/parcours_larg.pdf
diff --git a/slides/figs/parcours_larg_0.pdf b/slides_2021/figs/parcours_larg_0.pdf
similarity index 100%
rename from slides/figs/parcours_larg_0.pdf
rename to slides_2021/figs/parcours_larg_0.pdf
diff --git a/slides/figs/parcours_larg_1.pdf b/slides_2021/figs/parcours_larg_1.pdf
similarity index 100%
rename from slides/figs/parcours_larg_1.pdf
rename to slides_2021/figs/parcours_larg_1.pdf
diff --git a/slides/figs/parcours_larg_2.pdf b/slides_2021/figs/parcours_larg_2.pdf
similarity index 100%
rename from slides/figs/parcours_larg_2.pdf
rename to slides_2021/figs/parcours_larg_2.pdf
diff --git a/slides/figs/parcours_larg_3.pdf b/slides_2021/figs/parcours_larg_3.pdf
similarity index 100%
rename from slides/figs/parcours_larg_3.pdf
rename to slides_2021/figs/parcours_larg_3.pdf
diff --git a/slides/figs/parcours_larg_4.pdf b/slides_2021/figs/parcours_larg_4.pdf
similarity index 100%
rename from slides/figs/parcours_larg_4.pdf
rename to slides_2021/figs/parcours_larg_4.pdf
diff --git a/slides/figs/parcours_larg_5.pdf b/slides_2021/figs/parcours_larg_5.pdf
similarity index 100%
rename from slides/figs/parcours_larg_5.pdf
rename to slides_2021/figs/parcours_larg_5.pdf
diff --git a/slides/figs/parcours_larg_6.pdf b/slides_2021/figs/parcours_larg_6.pdf
similarity index 100%
rename from slides/figs/parcours_larg_6.pdf
rename to slides_2021/figs/parcours_larg_6.pdf
diff --git a/slides/figs/parcours_prof.pdf b/slides_2021/figs/parcours_prof.pdf
similarity index 100%
rename from slides/figs/parcours_prof.pdf
rename to slides_2021/figs/parcours_prof.pdf
diff --git a/slides/figs/pointer_struct.svg b/slides_2021/figs/pointer_struct.svg
similarity index 100%
rename from slides/figs/pointer_struct.svg
rename to slides_2021/figs/pointer_struct.svg
diff --git a/slides/figs/prim_0.png b/slides_2021/figs/prim_0.png
similarity index 100%
rename from slides/figs/prim_0.png
rename to slides_2021/figs/prim_0.png
diff --git a/slides/figs/prim_1.png b/slides_2021/figs/prim_1.png
similarity index 100%
rename from slides/figs/prim_1.png
rename to slides_2021/figs/prim_1.png
diff --git a/slides/figs/prim_2.png b/slides_2021/figs/prim_2.png
similarity index 100%
rename from slides/figs/prim_2.png
rename to slides_2021/figs/prim_2.png
diff --git a/slides/figs/prim_3.png b/slides_2021/figs/prim_3.png
similarity index 100%
rename from slides/figs/prim_3.png
rename to slides_2021/figs/prim_3.png
diff --git a/slides/figs/prim_4.png b/slides_2021/figs/prim_4.png
similarity index 100%
rename from slides/figs/prim_4.png
rename to slides_2021/figs/prim_4.png
diff --git a/slides/figs/prim_5.png b/slides_2021/figs/prim_5.png
similarity index 100%
rename from slides/figs/prim_5.png
rename to slides_2021/figs/prim_5.png
diff --git a/slides/figs/prim_exercice.png b/slides_2021/figs/prim_exercice.png
similarity index 100%
rename from slides/figs/prim_exercice.png
rename to slides_2021/figs/prim_exercice.png
diff --git a/slides/figs/prim_solution.png b/slides_2021/figs/prim_solution.png
similarity index 100%
rename from slides/figs/prim_solution.png
rename to slides_2021/figs/prim_solution.png
diff --git a/slides/figs/quad_ex.svg b/slides_2021/figs/quad_ex.svg
similarity index 100%
rename from slides/figs/quad_ex.svg
rename to slides_2021/figs/quad_ex.svg
diff --git a/slides/figs/quad_img.svg b/slides_2021/figs/quad_img.svg
similarity index 100%
rename from slides/figs/quad_img.svg
rename to slides_2021/figs/quad_img.svg
diff --git a/slides/figs/quad_img_simple.svg b/slides_2021/figs/quad_img_simple.svg
similarity index 100%
rename from slides/figs/quad_img_simple.svg
rename to slides_2021/figs/quad_img_simple.svg
diff --git a/slides/figs/quad_img_simple_comp.svg b/slides_2021/figs/quad_img_simple_comp.svg
similarity index 100%
rename from slides/figs/quad_img_simple_comp.svg
rename to slides_2021/figs/quad_img_simple_comp.svg
diff --git a/slides/figs/quad_img_simple_comp_avg.svg b/slides_2021/figs/quad_img_simple_comp_avg.svg
similarity index 100%
rename from slides/figs/quad_img_simple_comp_avg.svg
rename to slides_2021/figs/quad_img_simple_comp_avg.svg
diff --git a/slides/figs/quad_img_simple_comp_loss.svg b/slides_2021/figs/quad_img_simple_comp_loss.svg
similarity index 100%
rename from slides/figs/quad_img_simple_comp_loss.svg
rename to slides_2021/figs/quad_img_simple_comp_loss.svg
diff --git a/slides/figs/quad_img_simple_variation.svg b/slides_2021/figs/quad_img_simple_variation.svg
similarity index 100%
rename from slides/figs/quad_img_simple_variation.svg
rename to slides_2021/figs/quad_img_simple_variation.svg
diff --git a/slides/figs/quad_struct.svg b/slides_2021/figs/quad_struct.svg
similarity index 100%
rename from slides/figs/quad_struct.svg
rename to slides_2021/figs/quad_struct.svg
diff --git a/slides/figs/quicksort.svg b/slides_2021/figs/quicksort.svg
similarity index 100%
rename from slides/figs/quicksort.svg
rename to slides_2021/figs/quicksort.svg
diff --git a/slides/figs/rotation_gauche_droite.png b/slides_2021/figs/rotation_gauche_droite.png
similarity index 100%
rename from slides/figs/rotation_gauche_droite.png
rename to slides_2021/figs/rotation_gauche_droite.png
diff --git a/slides/figs/sorted_list_example.svg b/slides_2021/figs/sorted_list_example.svg
similarity index 100%
rename from slides/figs/sorted_list_example.svg
rename to slides_2021/figs/sorted_list_example.svg
diff --git a/slides/figs/sorted_list_extract_any.svg b/slides_2021/figs/sorted_list_extract_any.svg
similarity index 100%
rename from slides/figs/sorted_list_extract_any.svg
rename to slides_2021/figs/sorted_list_extract_any.svg
diff --git a/slides/figs/sorted_list_extract_first.svg b/slides_2021/figs/sorted_list_extract_first.svg
similarity index 100%
rename from slides/figs/sorted_list_extract_first.svg
rename to slides_2021/figs/sorted_list_extract_first.svg
diff --git a/slides/figs/sorted_list_insert_any.svg b/slides_2021/figs/sorted_list_insert_any.svg
similarity index 100%
rename from slides/figs/sorted_list_insert_any.svg
rename to slides_2021/figs/sorted_list_insert_any.svg
diff --git a/slides/figs/sorted_list_insert_first.svg b/slides_2021/figs/sorted_list_insert_first.svg
similarity index 100%
rename from slides/figs/sorted_list_insert_first.svg
rename to slides_2021/figs/sorted_list_insert_first.svg
diff --git a/slides/figs/sorted_list_insert_one.svg b/slides_2021/figs/sorted_list_insert_one.svg
similarity index 100%
rename from slides/figs/sorted_list_insert_one.svg
rename to slides_2021/figs/sorted_list_insert_one.svg
diff --git a/slides/figs/sorted_list_position.svg b/slides_2021/figs/sorted_list_position.svg
similarity index 100%
rename from slides/figs/sorted_list_position.svg
rename to slides_2021/figs/sorted_list_position.svg
diff --git a/slides/figs/soubly_linked_list.svg b/slides_2021/figs/soubly_linked_list.svg
similarity index 100%
rename from slides/figs/soubly_linked_list.svg
rename to slides_2021/figs/soubly_linked_list.svg
diff --git a/slides/figs/taux_change.pdf b/slides_2021/figs/taux_change.pdf
similarity index 100%
rename from slides/figs/taux_change.pdf
rename to slides_2021/figs/taux_change.pdf
diff --git a/slides/figs/taux_change_graphe.pdf b/slides_2021/figs/taux_change_graphe.pdf
similarity index 100%
rename from slides/figs/taux_change_graphe.pdf
rename to slides_2021/figs/taux_change_graphe.pdf
diff --git a/slides/figs/taux_change_graphe_log.pdf b/slides_2021/figs/taux_change_graphe_log.pdf
similarity index 100%
rename from slides/figs/taux_change_graphe_log.pdf
rename to slides_2021/figs/taux_change_graphe_log.pdf
diff --git a/slides/figs/tri_bulles.svg b/slides_2021/figs/tri_bulles.svg
similarity index 100%
rename from slides/figs/tri_bulles.svg
rename to slides_2021/figs/tri_bulles.svg
diff --git a/slides/figs/tri_insertion.svg b/slides_2021/figs/tri_insertion.svg
similarity index 100%
rename from slides/figs/tri_insertion.svg
rename to slides_2021/figs/tri_insertion.svg
diff --git a/slides/figs/tri_piles.svg b/slides_2021/figs/tri_piles.svg
similarity index 100%
rename from slides/figs/tri_piles.svg
rename to slides_2021/figs/tri_piles.svg
diff --git a/slides_2021/gen_index.sh b/slides_2021/gen_index.sh
new file mode 100755
index 0000000000000000000000000000000000000000..5c72edf6c43ccbb286b6af2401b7c0e789f0a267
--- /dev/null
+++ b/slides_2021/gen_index.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+
+set -e
+
+function get_info() {
+    local field=$(echo "$fullName" | sed "$2q;d" $1);
+    IFS=$3;
+    local field=($field); 
+    if [ "${field}" != $5 ]; then
+        return 1
+    fi
+    local field=${field[1]};
+    IFS=$4;
+    local field=($field);
+    local field=${field[1]};
+    echo "$field"
+}
+
+function fail() {
+    printf '%s\n' "$1" >&2 ## Send message to stderr.
+    exit "${2-1}" ## Return a code specified by $2, or 1 by default.
+}
+
+OIFS=$IFS
+NUM_LINE=2
+PREFIX=""
+# PREFIX=cours/algo/slides/
+
+classes=()
+for i in *.md; do
+    [ -f "$i" ] || break
+    date="$(get_info $i 3 ":" '"' "date")"
+    if [ "$date" == 1 ]; then
+        fail "Error date field not found"
+    fi
+    comp="$(get_info $i 2 ":" '"' "title")"
+    if [ "$comp" == 1 ]; then
+        fail "Error title field not found"
+    fi
+    i="${i%.*}"
+    class="[${date} ${comp}](${PREFIX}${i}.pdf)"
+    classes+=("$class")
+done
+IFS=$'\n'
+classes=($(sort <<<"${classes[*]}"))
+date=$(date '+%Y-%m-%d')
+echo "---" >> index.md
+echo "title: \"Slides du cours d'algorithmique\"" >> index.md
+echo "date: \"${date}\"" >> index.md
+echo "---" >> index.md
+echo "" >> index.md
+echo "# Tous les slides du cours d'algorithmique" >> index.md
+echo "" >> index.md
+for i in ${classes[*]}; do
+    echo "* $i" >> index.md
+done
+
+
+IFS=$OIFS
diff --git a/slides/graphviz/quad_ex.dot b/slides_2021/graphviz/quad_ex.dot
similarity index 100%
rename from slides/graphviz/quad_ex.dot
rename to slides_2021/graphviz/quad_ex.dot
diff --git a/slides/graphviz/quad_img.dot b/slides_2021/graphviz/quad_img.dot
similarity index 100%
rename from slides/graphviz/quad_img.dot
rename to slides_2021/graphviz/quad_img.dot
diff --git a/slides/graphviz/quad_img_simple.dot b/slides_2021/graphviz/quad_img_simple.dot
similarity index 100%
rename from slides/graphviz/quad_img_simple.dot
rename to slides_2021/graphviz/quad_img_simple.dot
diff --git a/slides/graphviz/quad_img_simple_comp.dot b/slides_2021/graphviz/quad_img_simple_comp.dot
similarity index 100%
rename from slides/graphviz/quad_img_simple_comp.dot
rename to slides_2021/graphviz/quad_img_simple_comp.dot
diff --git a/slides/graphviz/quad_img_simple_comp_avg.dot b/slides_2021/graphviz/quad_img_simple_comp_avg.dot
similarity index 100%
rename from slides/graphviz/quad_img_simple_comp_avg.dot
rename to slides_2021/graphviz/quad_img_simple_comp_avg.dot
diff --git a/slides/graphviz/quad_struct.dot b/slides_2021/graphviz/quad_struct.dot
similarity index 100%
rename from slides/graphviz/quad_struct.dot
rename to slides_2021/graphviz/quad_struct.dot
diff --git a/slides_2021/intro.md b/slides_2021/intro.md
new file mode 100644
index 0000000000000000000000000000000000000000..5dc3246ee382521a65a0581f591cf669dc61b44b
--- /dev/null
+++ b/slides_2021/intro.md
@@ -0,0 +1,69 @@
+---
+title: "Introduction générale"
+date: "2020-09-16"
+---
+
+# La hotline
+
+Nom                    Mél                               Bureau
+--------------------   ------------------------------    --------------------
+Paul Albuquerque       paul.albuquerque@hesge.ch         B410
+Orestis Malaspinas     orestis.malaspinas@hesge.ch       A401
+--------------------   ------------------------------    --------------------
+
+Utilisez le libre service (l'horaire sera fixé prochainement).
+
+Salon de discussion [Matrix](https://matrix.to/#/!tuZtXjUSPbnRfBsFXv:matrix.org?via=matrix.org), installez [element.io](https://element.io).
+
+![](figs/matrix.png){width=20%}
+
+# Cyberlearn
+
+Tout le contenu de ce qu'on raconte se trouve sur cyberlearn:
+
+- Algorithmes et structures de données
+  - <https://cyberlearn.hes-so.ch/course/view.php?id=13941>
+  - Clé d'inscription: algo_2020_21
+
+- Programmation Sequentielle en C
+  - <https://cyberlearn.hes-so.ch/course/view.php?id=12399>
+  - Clé d'inscription: PS_2018
+
+# Organisation du module
+
+* Deux cours, 50% chacun.
+1. Algorithmes et structures de données:
+    * 1er semestre:
+        * bases de programmation en C jusqu'à Noël.
+        * algorithmique jusqu'à fin janvier.
+    * 2e semestre:
+        * algorithmique.
+    * Deux évaluations écrites par semestre.
+2. Programmation séquentielle en C
+    * Familiarisation avec l'environnement Linux.
+    * Travaux pratiques en C.
+    * Apprentissage du gestionnaire de versions: git.
+    * Plusieurs "petits" exercices illustrant les concepts d'algorithmique 
+      (1-2 séances).
+    * Évaluations:
+        * Un projet de programmation.
+        * Une évaluation machine.
+
+# Sondage: expérience de programmation
+
+## [Sondage: expérience de linux](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1291283)
+
+## [Sondage: expérience de programmation](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1035242)
+
+**Installez un lecteur de QR code s'il-vous-plaît.**
+
+# Questions?
+
+- N'hésitez pas à poser des *questions*, nous sommes là pour ça! [^1]
+- Ne restez pas coincés pendant des jours sur un problème.
+- Utilisez le *libre-service*!
+- N'hésitez pas à faire des *retours*: *négatifs* ou *positifs*.
+
+[^1]: Chaque étudiant·e·s a un quota de 5 questions par semestre.
+
+
diff --git a/slides_2021/metadata.yaml b/slides_2021/metadata.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..fb966bcfaf4429e7bff3faf9b8ceeed4484a184b
--- /dev/null
+++ b/slides_2021/metadata.yaml
@@ -0,0 +1,9 @@
+---
+subtitle: "Algorithmique et structures de données, 2021-2022"
+author: "Paul Albuquerque (B410), Pierre Künzli et Orestis Malaspinas (A401), ISC, HEPIA"
+institute: En partie inspirés des supports de cours de P. Albuquerque
+lang: fr-CH
+revealjs-url: /reveal.js
+mathjaxurl: "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML"
+---
+
diff --git a/slides_2021/my_highlight.theme b/slides_2021/my_highlight.theme
new file mode 100644
index 0000000000000000000000000000000000000000..1d80b47b144ca30f252d27a32e3d3775267c7bbb
--- /dev/null
+++ b/slides_2021/my_highlight.theme
@@ -0,0 +1,204 @@
+{
+    "text-color": null,
+    "background-color": "#f0f0f0",
+    "line-number-color": "#aaaaaa",
+    "line-number-background-color": null,
+    "text-styles": {
+        "Other": {
+            "text-color": "#8f5902",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Attribute": {
+            "text-color": "#c4a000",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "SpecialString": {
+            "text-color": "#4e9a06",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Annotation": {
+            "text-color": "#8f5902",
+            "background-color": null,
+            "bold": true,
+            "italic": true,
+            "underline": false
+        },
+        "Function": {
+            "text-color": "#000000",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "String": {
+            "text-color": "#4e9a06",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "ControlFlow": {
+            "text-color": "#204a87",
+            "background-color": null,
+            "bold": true,
+            "italic": false,
+            "underline": false
+        },
+        "Operator": {
+            "text-color": "#ce5c00",
+            "background-color": null,
+            "bold": true,
+            "italic": false,
+            "underline": false
+        },
+        "Error": {
+            "text-color": "#a40000",
+            "background-color": null,
+            "bold": true,
+            "italic": false,
+            "underline": false
+        },
+        "BaseN": {
+            "text-color": "#0000cf",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Alert": {
+            "text-color": "#ef2929",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Variable": {
+            "text-color": "#000000",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Extension": {
+            "text-color": null,
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Preprocessor": {
+            "text-color": "#8f5902",
+            "background-color": null,
+            "bold": false,
+            "italic": true,
+            "underline": false
+        },
+        "Information": {
+            "text-color": "#8f5902",
+            "background-color": null,
+            "bold": true,
+            "italic": true,
+            "underline": false
+        },
+        "VerbatimString": {
+            "text-color": "#4e9a06",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Warning": {
+            "text-color": "#8f5902",
+            "background-color": null,
+            "bold": true,
+            "italic": true,
+            "underline": false
+        },
+        "Documentation": {
+            "text-color": "#8f5902",
+            "background-color": null,
+            "bold": true,
+            "italic": true,
+            "underline": false
+        },
+        "Import": {
+            "text-color": null,
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Char": {
+            "text-color": "#4e9a06",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "DataType": {
+            "text-color": "#204a87",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Float": {
+            "text-color": "#0000cf",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Comment": {
+            "text-color": "#8f5902",
+            "background-color": null,
+            "bold": false,
+            "italic": true,
+            "underline": false
+        },
+        "CommentVar": {
+            "text-color": "#8f5902",
+            "background-color": null,
+            "bold": true,
+            "italic": true,
+            "underline": false
+        },
+        "Constant": {
+            "text-color": "#000000",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "SpecialChar": {
+            "text-color": "#000000",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "DecVal": {
+            "text-color": "#0000cf",
+            "background-color": null,
+            "bold": false,
+            "italic": false,
+            "underline": false
+        },
+        "Keyword": {
+            "text-color": "#204a87",
+            "background-color": null,
+            "bold": true,
+            "italic": false,
+            "underline": false
+        }
+    }
+}
diff --git a/slides/reveal.js/.gitignore b/slides_2021/reveal.js/.gitignore
similarity index 100%
rename from slides/reveal.js/.gitignore
rename to slides_2021/reveal.js/.gitignore
diff --git a/slides/reveal.js/.npmignore b/slides_2021/reveal.js/.npmignore
similarity index 100%
rename from slides/reveal.js/.npmignore
rename to slides_2021/reveal.js/.npmignore
diff --git a/slides/reveal.js/CONTRIBUTING.md b/slides_2021/reveal.js/CONTRIBUTING.md
similarity index 100%
rename from slides/reveal.js/CONTRIBUTING.md
rename to slides_2021/reveal.js/CONTRIBUTING.md
diff --git a/slides/reveal.js/LICENSE b/slides_2021/reveal.js/LICENSE
similarity index 100%
rename from slides/reveal.js/LICENSE
rename to slides_2021/reveal.js/LICENSE
diff --git a/slides/reveal.js/README.md b/slides_2021/reveal.js/README.md
similarity index 100%
rename from slides/reveal.js/README.md
rename to slides_2021/reveal.js/README.md
diff --git a/slides/reveal.js/css/layout.scss b/slides_2021/reveal.js/css/layout.scss
similarity index 100%
rename from slides/reveal.js/css/layout.scss
rename to slides_2021/reveal.js/css/layout.scss
diff --git a/slides/reveal.js/css/print/paper.scss b/slides_2021/reveal.js/css/print/paper.scss
similarity index 100%
rename from slides/reveal.js/css/print/paper.scss
rename to slides_2021/reveal.js/css/print/paper.scss
diff --git a/slides/reveal.js/css/print/pdf.scss b/slides_2021/reveal.js/css/print/pdf.scss
similarity index 100%
rename from slides/reveal.js/css/print/pdf.scss
rename to slides_2021/reveal.js/css/print/pdf.scss
diff --git a/slides/reveal.js/css/reveal.scss b/slides_2021/reveal.js/css/reveal.scss
similarity index 100%
rename from slides/reveal.js/css/reveal.scss
rename to slides_2021/reveal.js/css/reveal.scss
diff --git a/slides/reveal.js/css/theme/README.md b/slides_2021/reveal.js/css/theme/README.md
similarity index 100%
rename from slides/reveal.js/css/theme/README.md
rename to slides_2021/reveal.js/css/theme/README.md
diff --git a/slides/reveal.js/css/theme/source/beige.scss b/slides_2021/reveal.js/css/theme/source/beige.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/beige.scss
rename to slides_2021/reveal.js/css/theme/source/beige.scss
diff --git a/slides/reveal.js/css/theme/source/black.scss b/slides_2021/reveal.js/css/theme/source/black.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/black.scss
rename to slides_2021/reveal.js/css/theme/source/black.scss
diff --git a/slides/reveal.js/css/theme/source/blood.scss b/slides_2021/reveal.js/css/theme/source/blood.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/blood.scss
rename to slides_2021/reveal.js/css/theme/source/blood.scss
diff --git a/slides/reveal.js/css/theme/source/league.scss b/slides_2021/reveal.js/css/theme/source/league.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/league.scss
rename to slides_2021/reveal.js/css/theme/source/league.scss
diff --git a/slides/reveal.js/css/theme/source/moon.scss b/slides_2021/reveal.js/css/theme/source/moon.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/moon.scss
rename to slides_2021/reveal.js/css/theme/source/moon.scss
diff --git a/slides/reveal.js/css/theme/source/night.scss b/slides_2021/reveal.js/css/theme/source/night.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/night.scss
rename to slides_2021/reveal.js/css/theme/source/night.scss
diff --git a/slides/reveal.js/css/theme/source/serif.scss b/slides_2021/reveal.js/css/theme/source/serif.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/serif.scss
rename to slides_2021/reveal.js/css/theme/source/serif.scss
diff --git a/slides/reveal.js/css/theme/source/simple.scss b/slides_2021/reveal.js/css/theme/source/simple.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/simple.scss
rename to slides_2021/reveal.js/css/theme/source/simple.scss
diff --git a/slides/reveal.js/css/theme/source/sky.scss b/slides_2021/reveal.js/css/theme/source/sky.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/sky.scss
rename to slides_2021/reveal.js/css/theme/source/sky.scss
diff --git a/slides/reveal.js/css/theme/source/solarized.scss b/slides_2021/reveal.js/css/theme/source/solarized.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/solarized.scss
rename to slides_2021/reveal.js/css/theme/source/solarized.scss
diff --git a/slides/reveal.js/css/theme/source/white.scss b/slides_2021/reveal.js/css/theme/source/white.scss
similarity index 100%
rename from slides/reveal.js/css/theme/source/white.scss
rename to slides_2021/reveal.js/css/theme/source/white.scss
diff --git a/slides/reveal.js/css/theme/template/exposer.scss b/slides_2021/reveal.js/css/theme/template/exposer.scss
similarity index 100%
rename from slides/reveal.js/css/theme/template/exposer.scss
rename to slides_2021/reveal.js/css/theme/template/exposer.scss
diff --git a/slides/reveal.js/css/theme/template/mixins.scss b/slides_2021/reveal.js/css/theme/template/mixins.scss
similarity index 100%
rename from slides/reveal.js/css/theme/template/mixins.scss
rename to slides_2021/reveal.js/css/theme/template/mixins.scss
diff --git a/slides/reveal.js/css/theme/template/settings.scss b/slides_2021/reveal.js/css/theme/template/settings.scss
similarity index 100%
rename from slides/reveal.js/css/theme/template/settings.scss
rename to slides_2021/reveal.js/css/theme/template/settings.scss
diff --git a/slides/reveal.js/css/theme/template/theme.scss b/slides_2021/reveal.js/css/theme/template/theme.scss
similarity index 100%
rename from slides/reveal.js/css/theme/template/theme.scss
rename to slides_2021/reveal.js/css/theme/template/theme.scss
diff --git a/slides/reveal.js/dist/reset.css b/slides_2021/reveal.js/dist/reset.css
similarity index 100%
rename from slides/reveal.js/dist/reset.css
rename to slides_2021/reveal.js/dist/reset.css
diff --git a/slides/reveal.js/dist/reveal.css b/slides_2021/reveal.js/dist/reveal.css
similarity index 100%
rename from slides/reveal.js/dist/reveal.css
rename to slides_2021/reveal.js/dist/reveal.css
diff --git a/slides/reveal.js/dist/reveal.esm.js b/slides_2021/reveal.js/dist/reveal.esm.js
similarity index 100%
rename from slides/reveal.js/dist/reveal.esm.js
rename to slides_2021/reveal.js/dist/reveal.esm.js
diff --git a/slides/reveal.js/dist/reveal.js b/slides_2021/reveal.js/dist/reveal.js
similarity index 100%
rename from slides/reveal.js/dist/reveal.js
rename to slides_2021/reveal.js/dist/reveal.js
diff --git a/slides/reveal.js/dist/theme/beige.css b/slides_2021/reveal.js/dist/theme/beige.css
similarity index 100%
rename from slides/reveal.js/dist/theme/beige.css
rename to slides_2021/reveal.js/dist/theme/beige.css
diff --git a/slides/reveal.js/dist/theme/black.css b/slides_2021/reveal.js/dist/theme/black.css
similarity index 100%
rename from slides/reveal.js/dist/theme/black.css
rename to slides_2021/reveal.js/dist/theme/black.css
diff --git a/slides/reveal.js/dist/theme/blood.css b/slides_2021/reveal.js/dist/theme/blood.css
similarity index 100%
rename from slides/reveal.js/dist/theme/blood.css
rename to slides_2021/reveal.js/dist/theme/blood.css
diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/LICENSE b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/LICENSE
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/league-gothic/LICENSE
rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/LICENSE
diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css
rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css
diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot
rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot
diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf
rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf
diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff
rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff
diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css
similarity index 100%
rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css
rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css
diff --git a/slides/reveal.js/dist/theme/league.css b/slides_2021/reveal.js/dist/theme/league.css
similarity index 100%
rename from slides/reveal.js/dist/theme/league.css
rename to slides_2021/reveal.js/dist/theme/league.css
diff --git a/slides/reveal.js/dist/theme/moon.css b/slides_2021/reveal.js/dist/theme/moon.css
similarity index 100%
rename from slides/reveal.js/dist/theme/moon.css
rename to slides_2021/reveal.js/dist/theme/moon.css
diff --git a/slides/reveal.js/dist/theme/night.css b/slides_2021/reveal.js/dist/theme/night.css
similarity index 100%
rename from slides/reveal.js/dist/theme/night.css
rename to slides_2021/reveal.js/dist/theme/night.css
diff --git a/slides/reveal.js/dist/theme/serif.css b/slides_2021/reveal.js/dist/theme/serif.css
similarity index 100%
rename from slides/reveal.js/dist/theme/serif.css
rename to slides_2021/reveal.js/dist/theme/serif.css
diff --git a/slides/reveal.js/dist/theme/simple.css b/slides_2021/reveal.js/dist/theme/simple.css
similarity index 100%
rename from slides/reveal.js/dist/theme/simple.css
rename to slides_2021/reveal.js/dist/theme/simple.css
diff --git a/slides/reveal.js/dist/theme/sky.css b/slides_2021/reveal.js/dist/theme/sky.css
similarity index 100%
rename from slides/reveal.js/dist/theme/sky.css
rename to slides_2021/reveal.js/dist/theme/sky.css
diff --git a/slides/reveal.js/dist/theme/solarized.css b/slides_2021/reveal.js/dist/theme/solarized.css
similarity index 100%
rename from slides/reveal.js/dist/theme/solarized.css
rename to slides_2021/reveal.js/dist/theme/solarized.css
diff --git a/slides/reveal.js/dist/theme/white.css b/slides_2021/reveal.js/dist/theme/white.css
similarity index 100%
rename from slides/reveal.js/dist/theme/white.css
rename to slides_2021/reveal.js/dist/theme/white.css
diff --git a/slides/reveal.js/gulpfile.js b/slides_2021/reveal.js/gulpfile.js
similarity index 100%
rename from slides/reveal.js/gulpfile.js
rename to slides_2021/reveal.js/gulpfile.js
diff --git a/slides/reveal.js/js/components/playback.js b/slides_2021/reveal.js/js/components/playback.js
similarity index 100%
rename from slides/reveal.js/js/components/playback.js
rename to slides_2021/reveal.js/js/components/playback.js
diff --git a/slides/reveal.js/js/config.js b/slides_2021/reveal.js/js/config.js
similarity index 100%
rename from slides/reveal.js/js/config.js
rename to slides_2021/reveal.js/js/config.js
diff --git a/slides/reveal.js/js/controllers/autoanimate.js b/slides_2021/reveal.js/js/controllers/autoanimate.js
similarity index 100%
rename from slides/reveal.js/js/controllers/autoanimate.js
rename to slides_2021/reveal.js/js/controllers/autoanimate.js
diff --git a/slides/reveal.js/js/controllers/backgrounds.js b/slides_2021/reveal.js/js/controllers/backgrounds.js
similarity index 100%
rename from slides/reveal.js/js/controllers/backgrounds.js
rename to slides_2021/reveal.js/js/controllers/backgrounds.js
diff --git a/slides/reveal.js/js/controllers/controls.js b/slides_2021/reveal.js/js/controllers/controls.js
similarity index 100%
rename from slides/reveal.js/js/controllers/controls.js
rename to slides_2021/reveal.js/js/controllers/controls.js
diff --git a/slides/reveal.js/js/controllers/focus.js b/slides_2021/reveal.js/js/controllers/focus.js
similarity index 100%
rename from slides/reveal.js/js/controllers/focus.js
rename to slides_2021/reveal.js/js/controllers/focus.js
diff --git a/slides/reveal.js/js/controllers/fragments.js b/slides_2021/reveal.js/js/controllers/fragments.js
similarity index 100%
rename from slides/reveal.js/js/controllers/fragments.js
rename to slides_2021/reveal.js/js/controllers/fragments.js
diff --git a/slides/reveal.js/js/controllers/keyboard.js b/slides_2021/reveal.js/js/controllers/keyboard.js
similarity index 100%
rename from slides/reveal.js/js/controllers/keyboard.js
rename to slides_2021/reveal.js/js/controllers/keyboard.js
diff --git a/slides/reveal.js/js/controllers/location.js b/slides_2021/reveal.js/js/controllers/location.js
similarity index 100%
rename from slides/reveal.js/js/controllers/location.js
rename to slides_2021/reveal.js/js/controllers/location.js
diff --git a/slides/reveal.js/js/controllers/notes.js b/slides_2021/reveal.js/js/controllers/notes.js
similarity index 100%
rename from slides/reveal.js/js/controllers/notes.js
rename to slides_2021/reveal.js/js/controllers/notes.js
diff --git a/slides/reveal.js/js/controllers/overview.js b/slides_2021/reveal.js/js/controllers/overview.js
similarity index 100%
rename from slides/reveal.js/js/controllers/overview.js
rename to slides_2021/reveal.js/js/controllers/overview.js
diff --git a/slides/reveal.js/js/controllers/plugins.js b/slides_2021/reveal.js/js/controllers/plugins.js
similarity index 100%
rename from slides/reveal.js/js/controllers/plugins.js
rename to slides_2021/reveal.js/js/controllers/plugins.js
diff --git a/slides/reveal.js/js/controllers/pointer.js b/slides_2021/reveal.js/js/controllers/pointer.js
similarity index 100%
rename from slides/reveal.js/js/controllers/pointer.js
rename to slides_2021/reveal.js/js/controllers/pointer.js
diff --git a/slides/reveal.js/js/controllers/print.js b/slides_2021/reveal.js/js/controllers/print.js
similarity index 100%
rename from slides/reveal.js/js/controllers/print.js
rename to slides_2021/reveal.js/js/controllers/print.js
diff --git a/slides/reveal.js/js/controllers/progress.js b/slides_2021/reveal.js/js/controllers/progress.js
similarity index 100%
rename from slides/reveal.js/js/controllers/progress.js
rename to slides_2021/reveal.js/js/controllers/progress.js
diff --git a/slides/reveal.js/js/controllers/slidecontent.js b/slides_2021/reveal.js/js/controllers/slidecontent.js
similarity index 100%
rename from slides/reveal.js/js/controllers/slidecontent.js
rename to slides_2021/reveal.js/js/controllers/slidecontent.js
diff --git a/slides/reveal.js/js/controllers/slidenumber.js b/slides_2021/reveal.js/js/controllers/slidenumber.js
similarity index 100%
rename from slides/reveal.js/js/controllers/slidenumber.js
rename to slides_2021/reveal.js/js/controllers/slidenumber.js
diff --git a/slides/reveal.js/js/controllers/touch.js b/slides_2021/reveal.js/js/controllers/touch.js
similarity index 100%
rename from slides/reveal.js/js/controllers/touch.js
rename to slides_2021/reveal.js/js/controllers/touch.js
diff --git a/slides/reveal.js/js/index.js b/slides_2021/reveal.js/js/index.js
similarity index 100%
rename from slides/reveal.js/js/index.js
rename to slides_2021/reveal.js/js/index.js
diff --git a/slides/reveal.js/js/reveal.js b/slides_2021/reveal.js/js/reveal.js
similarity index 100%
rename from slides/reveal.js/js/reveal.js
rename to slides_2021/reveal.js/js/reveal.js
diff --git a/slides/reveal.js/js/utils/color.js b/slides_2021/reveal.js/js/utils/color.js
similarity index 100%
rename from slides/reveal.js/js/utils/color.js
rename to slides_2021/reveal.js/js/utils/color.js
diff --git a/slides/reveal.js/js/utils/constants.js b/slides_2021/reveal.js/js/utils/constants.js
similarity index 100%
rename from slides/reveal.js/js/utils/constants.js
rename to slides_2021/reveal.js/js/utils/constants.js
diff --git a/slides/reveal.js/js/utils/device.js b/slides_2021/reveal.js/js/utils/device.js
similarity index 100%
rename from slides/reveal.js/js/utils/device.js
rename to slides_2021/reveal.js/js/utils/device.js
diff --git a/slides/reveal.js/js/utils/loader.js b/slides_2021/reveal.js/js/utils/loader.js
similarity index 100%
rename from slides/reveal.js/js/utils/loader.js
rename to slides_2021/reveal.js/js/utils/loader.js
diff --git a/slides/reveal.js/js/utils/util.js b/slides_2021/reveal.js/js/utils/util.js
similarity index 100%
rename from slides/reveal.js/js/utils/util.js
rename to slides_2021/reveal.js/js/utils/util.js
diff --git a/slides/reveal.js/package-lock.json b/slides_2021/reveal.js/package-lock.json
similarity index 100%
rename from slides/reveal.js/package-lock.json
rename to slides_2021/reveal.js/package-lock.json
diff --git a/slides/reveal.js/package.json b/slides_2021/reveal.js/package.json
similarity index 100%
rename from slides/reveal.js/package.json
rename to slides_2021/reveal.js/package.json
diff --git a/slides/reveal.js/plugin/highlight/highlight.esm.js b/slides_2021/reveal.js/plugin/highlight/highlight.esm.js
similarity index 100%
rename from slides/reveal.js/plugin/highlight/highlight.esm.js
rename to slides_2021/reveal.js/plugin/highlight/highlight.esm.js
diff --git a/slides/reveal.js/plugin/highlight/highlight.js b/slides_2021/reveal.js/plugin/highlight/highlight.js
similarity index 100%
rename from slides/reveal.js/plugin/highlight/highlight.js
rename to slides_2021/reveal.js/plugin/highlight/highlight.js
diff --git a/slides/reveal.js/plugin/highlight/monokai.css b/slides_2021/reveal.js/plugin/highlight/monokai.css
similarity index 100%
rename from slides/reveal.js/plugin/highlight/monokai.css
rename to slides_2021/reveal.js/plugin/highlight/monokai.css
diff --git a/slides/reveal.js/plugin/highlight/plugin.js b/slides_2021/reveal.js/plugin/highlight/plugin.js
similarity index 100%
rename from slides/reveal.js/plugin/highlight/plugin.js
rename to slides_2021/reveal.js/plugin/highlight/plugin.js
diff --git a/slides/reveal.js/plugin/highlight/zenburn.css b/slides_2021/reveal.js/plugin/highlight/zenburn.css
similarity index 100%
rename from slides/reveal.js/plugin/highlight/zenburn.css
rename to slides_2021/reveal.js/plugin/highlight/zenburn.css
diff --git a/slides/reveal.js/plugin/markdown/markdown.esm.js b/slides_2021/reveal.js/plugin/markdown/markdown.esm.js
similarity index 100%
rename from slides/reveal.js/plugin/markdown/markdown.esm.js
rename to slides_2021/reveal.js/plugin/markdown/markdown.esm.js
diff --git a/slides/reveal.js/plugin/markdown/markdown.js b/slides_2021/reveal.js/plugin/markdown/markdown.js
similarity index 100%
rename from slides/reveal.js/plugin/markdown/markdown.js
rename to slides_2021/reveal.js/plugin/markdown/markdown.js
diff --git a/slides/reveal.js/plugin/markdown/plugin.js b/slides_2021/reveal.js/plugin/markdown/plugin.js
similarity index 100%
rename from slides/reveal.js/plugin/markdown/plugin.js
rename to slides_2021/reveal.js/plugin/markdown/plugin.js
diff --git a/slides/reveal.js/plugin/math/math.esm.js b/slides_2021/reveal.js/plugin/math/math.esm.js
similarity index 100%
rename from slides/reveal.js/plugin/math/math.esm.js
rename to slides_2021/reveal.js/plugin/math/math.esm.js
diff --git a/slides/reveal.js/plugin/math/math.js b/slides_2021/reveal.js/plugin/math/math.js
similarity index 100%
rename from slides/reveal.js/plugin/math/math.js
rename to slides_2021/reveal.js/plugin/math/math.js
diff --git a/slides/reveal.js/plugin/math/plugin.js b/slides_2021/reveal.js/plugin/math/plugin.js
similarity index 100%
rename from slides/reveal.js/plugin/math/plugin.js
rename to slides_2021/reveal.js/plugin/math/plugin.js
diff --git a/slides/reveal.js/plugin/notes/notes.esm.js b/slides_2021/reveal.js/plugin/notes/notes.esm.js
similarity index 100%
rename from slides/reveal.js/plugin/notes/notes.esm.js
rename to slides_2021/reveal.js/plugin/notes/notes.esm.js
diff --git a/slides/reveal.js/plugin/notes/notes.js b/slides_2021/reveal.js/plugin/notes/notes.js
similarity index 100%
rename from slides/reveal.js/plugin/notes/notes.js
rename to slides_2021/reveal.js/plugin/notes/notes.js
diff --git a/slides/reveal.js/plugin/notes/plugin.js b/slides_2021/reveal.js/plugin/notes/plugin.js
similarity index 100%
rename from slides/reveal.js/plugin/notes/plugin.js
rename to slides_2021/reveal.js/plugin/notes/plugin.js
diff --git a/slides/reveal.js/plugin/search/plugin.js b/slides_2021/reveal.js/plugin/search/plugin.js
similarity index 100%
rename from slides/reveal.js/plugin/search/plugin.js
rename to slides_2021/reveal.js/plugin/search/plugin.js
diff --git a/slides/reveal.js/plugin/search/search.esm.js b/slides_2021/reveal.js/plugin/search/search.esm.js
similarity index 100%
rename from slides/reveal.js/plugin/search/search.esm.js
rename to slides_2021/reveal.js/plugin/search/search.esm.js
diff --git a/slides/reveal.js/plugin/search/search.js b/slides_2021/reveal.js/plugin/search/search.js
similarity index 100%
rename from slides/reveal.js/plugin/search/search.js
rename to slides_2021/reveal.js/plugin/search/search.js
diff --git a/slides/reveal.js/plugin/zoom/plugin.js b/slides_2021/reveal.js/plugin/zoom/plugin.js
similarity index 100%
rename from slides/reveal.js/plugin/zoom/plugin.js
rename to slides_2021/reveal.js/plugin/zoom/plugin.js
diff --git a/slides/reveal.js/plugin/zoom/zoom.esm.js b/slides_2021/reveal.js/plugin/zoom/zoom.esm.js
similarity index 100%
rename from slides/reveal.js/plugin/zoom/zoom.esm.js
rename to slides_2021/reveal.js/plugin/zoom/zoom.esm.js
diff --git a/slides/reveal.js/plugin/zoom/zoom.js b/slides_2021/reveal.js/plugin/zoom/zoom.js
similarity index 100%
rename from slides/reveal.js/plugin/zoom/zoom.js
rename to slides_2021/reveal.js/plugin/zoom/zoom.js