diff --git a/slides/cours_8.md b/slides/cours_8.md
index 8155af0d87b3a10c3d75c90b23eadfed782915e8..b69cae3c4a576c94cf8cf5117b0e7e3cb1a4f0db 100644
--- a/slides/cours_8.md
+++ b/slides/cours_8.md
@@ -175,7 +175,7 @@ bool board[n][n];
 
 ```C
 // Pour chaque ligne placer la reine sur toutes les colonnes
-// Et compter les solutions
+//    et compter les solutions
 void nbr_solutions(board, coloumn, counter);
 // Placer la reine à li, co et rendre inaccessible devant
 void placer_devant(board_ini, board, li, co);
@@ -190,7 +190,7 @@ void placer_devant(board_ini, board, li, co);
 nbr_solutions(board, column, counter)
     // pour chaque ligne 
         // si la case libre
-            // si clumn < n - 1
+            // si column < n - 1
                 // créer un nouveau board, poser une reine 
                 //     et mettre à jour le tableau
                 // nbr_solutions(board, column, counter)
@@ -209,7 +209,7 @@ placer_devant(old_board, board, ligne, colonne)
     // board = copy(board); 
     // board est occupé à ligne/colonne
         // toutes les cases des colonnes
-        // suivantes sont mises à jour
+        //    suivantes sont mises à jour
 ```
 
 # Le code du problème des 8 reines (4/N)
@@ -228,8 +228,8 @@ void nb_sol(int n, bool board_ini[n][n], int co, int *ptr_cpt) {
     for (int li = 0; li < n; li++) {
         if (board_ini[li][co]) {
             if (co < n - 1) {
-                bool board[n][n]; // alocation à chaque
-                nouvelle tentative
+                bool board[n][n]; // allocation    
+                                  // à chaque nouvelle tentative
                 prises_devant(n, board_ini, board, li, co);
                 nb_sol(n, board, co + 1, ptr_cpt);
             } else {
@@ -278,7 +278,7 @@ void prises_devant(
 
 * de type `LIFO` (*Last in first out*).
 
-![Une pile où on ajoute A, puis B avant de les retirer. Souce:
+![Une pile où on ajoute A, puis B avant de les retirer. Source:
 [Wikipedia](https://upload.wikimedia.org/wikipedia/commons/e/e1/Stack_%28data_structure%29_LIFO.svg)](figs/Stack.svg){width=70%}
 
 ## Des exemples de la vraie vie
@@ -296,13 +296,13 @@ void prises_devant(
 
 . . .
 
-1. Empiler (push), ajouter un élément sur la pile,
-2. Dépiler (pop), retirer l'élément du sommet de la pile et le retrouner,
-3. Liste vide? (is_empty?)
+1. Empiler (push): ajouter un élément sur la pile.
+2. Dépiler (pop): retirer l'élément du sommet de la pile et le retrouner.
+3. Liste vide? (is_empty?).
 
 . . .
 
-4. Jeter un oeil (peek), retourner l'élément du sommet de la pile (sans le dépiler),
+4. Jeter un oeil (peek): retourner l'élément du sommet de la pile (sans le dépiler).
 5. Nombre d'éléments (length).
 
 ## Comment faire les 4,5 à partir de 1 à 3?
@@ -310,7 +310,7 @@ void prises_devant(
 . . .
 
 4. Dépiler l'élément, le copier, puis l'empiler à nouveau.
-5. Dépiler jusqu'à ce que la pile soit vide puis empiler à nouveau.
+5. Dépiler jusqu'à ce que la pile soit vide, puis empiler à nouveau.
 
 . . .
 
@@ -323,7 +323,7 @@ mémoire).
 
 ## Implémentation
 
-* Jusqu'ici on a pas du tout parlé d'implémentation (d'où le nom de structure
+* Jusqu'ici on n'a pas du tout parlé d'implémentation (d'où le nom de structure
   abstraite).
 * Pas de choix unique d'implémentation.
 
@@ -331,7 +331,7 @@ mémoire).
 
 . . .
 
-Et oui vous avez deviner: un tableau!
+Et oui vous avez deviné: un tableau!
 
 ## La structure: de quoi avons-nous besoin (pile de taille fixe)?
 
@@ -412,13 +412,13 @@ int stack_peek(stack *s) {
 # Gestion d'erreur, level 0
 
 * Il y a plusieurs façon de traiter les erreur:
-    * Rien faire (laisser la responsabilité à l'utilisateur).
+    * Ne rien faire (laisser la responsabilité à l'utilisateur).
     * Faire paniquer le programme (il plante plus ou moins violemment).
     * Utiliser des codes d'erreurs.
 
 ## La panique
 
-* En C on a les `assert()` pour faire paniquer un programme.
+* En C, on a les `assert()` pour faire paniquer un programme.
 
 
 # Assertions (1/3)
@@ -433,7 +433,7 @@ void assert(int expression);
 - Macro permettant de tester une condition lors de l'exécution d'un programme:
   - Si `expression == 0`{.C} (condition fausse), `assert()`{.C} affiche un message d'erreur sur `stderr`{.C} et termine l'exécution du programme.
   - Sinon l'exécution se poursuit normalement.
-  - Peuvent être désactivés avec `-DNDEBUG` (équivalent à `#define
+  - Peuvent être désactivés à la compilation avec `-DNDEBUG` (équivalent à `#define
     NDEBUG`)
 
 ## À quoi ça sert?
@@ -473,7 +473,7 @@ int stack_peek(stack *s) {
 - Vérification de la validité des pointeurs (typiquement `!= NULL`{.C}).
 - Vérification du domaine des indices (dépassement de tableau).
 
-## Bug vs erreur de *runtime*
+## Bug vs. erreur de *runtime*
 
 - Les assertions sont là pour détecter les bugs (erreurs d'implémentation).
 - Les assertions ne sont pas là pour gérer les problèmes externes au programme (allocation mémoire qui échoue, mauvais paramètre d'entrée passé par l'utilisateur, ...).