Licence CC BY

Pédagogie #1 : cohérence des notations entre le texte et le code

Dans cette série de billets, je mets en avant des choix pédagogiques que j’ai pu effectuer ou des questions que je me suis posées, par exemple suite à un retour en bêta de ma part ou à une remarque soulevée par un de mes lecteurs. L’objectif est à la fois de partager ma maigre expérience et d’initier l’échange sur ces problèmes pédagogiques.

Dans mon article « KRACK : attaques contre les communications Wi-Fi », j’introduis dans la deuxième section des formules pour décrypter les messages, puis je présente du code implémentant cette procédure. Par exemple :

L’attaquant obtient donc facilement $M_1 \oplus M_2$. Remarquons que s’il connait $M_1$, il détermine $M_2$ avec cette équation :

$$ \begin{aligned} M_2 &= M_2 \oplus 0 \\ &= M_2 \oplus (M_1 \oplus M_1) \\ &= (M_2 \oplus M_1) \oplus M_1 \\ &= (M_{2c} \oplus M_{1c}) \oplus M_1 \end{aligned} $$
1
2
3
4
5
6
7
8
>>> m1, m2, k = "Le sens de la vie est", "Ca passe ou ça KRACK!", "abcdefghijklmnopqrstu"
>>> mc1 = xor_str(m1, k)
>>> mc2 = xor_str(m2, k)
>>> mc_xor = xor_str(mc1, mc2)
>>> xor_str(m1, mc_xor)
'Ca passe ou ça KRACK!'
>>> xor_str(m2, mc_xor)
'Le sens de la vie est'

On remarque une correspondance entre les notations du texte et le nom des variables. Toutefois, ce n’était pas le cas dans la première version de ce passage. Voyez plutôt :

L’attaquant obtient donc facilement $M \oplus M'$. Remarquons que s’il connait $M$, il détermine $M'$ avec cette équation :

$$ \begin{aligned} M' &= M' \oplus 0 \\ &= M' \oplus (M \oplus M) \\ &= (M' \oplus M) \oplus M \\ &= (M'_{c} \oplus M_{c}) \oplus M \end{aligned} $$
1
2
3
4
5
6
7
8
>>> m1, m2, k = "Le sens de la vie est", "Ca passe ou ça KRACK!", "abcdefghijklmnopqrstu"
>>> mc1 = xor_str(m1, k)
>>> mc2 = xor_str(m2, k)
>>> mc_xor = xor_str(mc1, mc2)
>>> xor_str(m1, mc_xor)
'Ca passe ou ça KRACK!'
>>> xor_str(m2, mc_xor)
'Le sens de la vie est'

Un ami m’ayant fait la remarque que cette incohérence nuisait à la compréhension, je l’ai supprimée. Puis1 je me suis demandé si c’était effectivement judicieux. Dans la vidéo suivante, Derek Muller soutient que des explications claires facilitent, évidemment, la compréhension, mais que mâcher le travail au lecteur diminue son effort cognitif et donc sa capacité à assimiler la notion et à la retenir.2

Et alors :

L’incohérence ponctuelle des notations est-elle un moyen de stimuler l’attention du lecteur sans nuire à sa compréhension, et ainsi de lui permettre d’assimiler plus efficacement le concept expliqué ?


  1. J’admets que l’ordre de ma réflexion n’est pas optimal. 

  2. Je n’envisage bien sûr pas de résumer la vidéo en une phrase ; je vous conseille vivement de la visionner pour vous faire votre propre opinion et descendre ma reformulation possiblement médiocre. 



3 commentaires

Dans cette vidéo, Derek Muller soutient que des explications claires facilitent, évidemment, la compréhension, mais que mâcher le travail au lecteur diminue son effort cognitif et donc sa capacité à assimiler la notion et à la retenir.

J’ai regardé la vidéo, et je ne suis pas sûr qu’il dise cela. De ce que j’ai compris, il met en avant deux mécanismes :

  • la priorisation du système automatique sur le système qui réfléchit,
  • la mémoire de travail, limitée à une poignée de chunks.

Du coup, ce n’est pas tellement une histoire d’explication claire, mais plutôt qu’il faut éviter que le cerveau se dise « je connais, je déconnecte ». On peut éventuellement le faire en rendant les choses tordues, mais c’est plutôt un mauvais plan si tu veux garder un nombre limité de chunks (sachant que « c’est trop compliqué, je déconnecte » est aussi une possibilité).

L’incohérence ponctuelle des notations est-elle un moyen de stimuler l’attention du lecteur sans nuire à sa compréhension, et ainsi de lui permettre d’assimiler plus efficacement le concept expliqué ?

Pour moi, c’est très important que ce soit cohérent. Tu as un risque très fort de rendre un lecteur confus, en particulier s’il n’est pas familier avec le sujet. Imagine un cours de maths où les notations changent aléatoirement ou encore un cours de programmation avec des exemples volontairement faux !1

J’ai l’impression qu’engager le lecteur est un des objectifs de la pédagogie. Dans la vidéo, il parle justement des formes d’enseignement plus interactives, qui rajoutent des discussions, exercices, échanges en plus de la transmission pure et simple d’information.


  1. Déjà vu ici-même. ;) 

+1 -0

plutôt que de linker la vidéo, tu peux l’intégrer à ton billet stp?

artragis

C’est fait. C’est pour éviter au lecteur les allers-retours entre ZdS et YouTube ?

On peut éventuellement le faire en rendant les choses tordues, mais c’est plutôt un mauvais plan si tu veux garder un nombre limité de chunks

C’est une bonne remarque. Par contre, je ne pense pas qu’on ait ce problème en rendant la forme plus tordue. Il me semble difficile pour l’auteur d’imposer une forme exigeante puisque c’est un risque de perdre des lecteurs mais l’apprenant lui-même pourrait s’en imposer une.

Par exemple, peut-être qu’en visionnant une vidéo en baissant le volume, de sorte qu’il faille tendre l’oreille pour comprendre, on augmente nos performances (en stimulant le système qui réfléchit).


Une autre vidéo sur le sujet :

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte