Styles

vendredi 20 juin 2008

Apprentissage, mémoire et langage

Bien que le fait de parler ou d'écrire est l'inverse de l'action concrète sur le monde physique, en informatique, il semblerait que ce soit l'inverse, écrire dans un langage de programmation est justement la seule et unique forme qui permette l'action, l'action d'un automate électronique, projection du moi (psychologie de comptoir bonsoir).

C'est quelque chose d'assez unique d'avoir seulement à parler pour que la chose obéisse immédiatement. Face à ce pouvoir du langage de programmation, le programmeur doit se sentir bien seul et impuissant dans le monde des humains, rendez-vous compte, vous leur dites des choses, et ils n'obéissent pas ! :)

La maîtrise d'une langue, et surtout sa propre langue est fondamentale pour permettre la réflexion. Il est tous aussi important de savoir passer d'un langage de programmation à un autre, savoir programmer dans une sorte de méta-langage applicable à n'importe quel langage de programmation.

Pour apprendre une langue, ou n'importe quel fait, il existe un outil bien intéressant et qui ouvre de nouvelle perspective d'apprentissage qui n'étaient pas possible ou pratique avant l'apparition de la micro-informatique. Il s'agit d'Anki (mot japonais signifiant "mémoriser"). Bien que cet outil soit écrit en python [1], il permet de travailler de façon continue et productive son apprentissage de faits, comme des mots de vocabulaire, des dates historiques, des bonnes pratiques, les principes sous-jacent à l'orienté-objet, etc.

La mémoire est volatile, c'est tout le problème. Si on ne se remémore pas les choses que l'on a apprises, on les oublie plus ou moins vite. Cela me rappelle les méthodes d'apprentissage énumérées dans l'excellent livre "Your Memory" de Kenneth L. Higbee, comme la méthode SQ3R :

- Survey : lire/apercevoir l'ensemble du document à mémoriser, la structure du document,

- Question : lors de cette prise de hauteur, se poser des questions sur chacun des points qu'on ne comprend pas, les noter quelques part,

- Read : lire ce que l'on veut mémoriser, répondre aux questions,

- Recite : réciter ce que l'on vient de mémoriser,

- Review : réviser ce que l'on a appris, se reposer les questions et y répondre par soi-même.

Ce qui est le plus important dans cette méthode, c'est la dernière étape : la révision ! Sans elle, aucun acquis, aucun apprentissage à long terme, aucun savoir ou savoir faire. C'est bien tout le problème, à l'école, des épreuves comme les devoirs surveillés, qui, une fois passés, peuvent être oubliés complètement par les élèves. C'est tout l'intérêt, (limité il est vrai) du baccalauréat qui vise à voir si l'élève a réellement assimilé les connaissances qu'il a apprises durant l'année (et pourquoi pas couvrir plus d'une année ?)

Anki permet de faire une révision progressive de toutes les connaissances que vous avez envie de maîtriser. Chaque jour, vous ne révisez que ce qui est nécessaire, l'outil calculant le meilleur moment pour vous faire réviser, en fonction de vos réussites précédentes de remémoration, comme il est dit sur le site d'Anki :
Anki se base sur une théorie appelée la répétition espacée. En termes simples, cela signifie qu'à chaque fois que vous révisez une matière, vous devez attendre plus longtemps que la dernière fois avant de la réviser à nouveau. Cela maximise le temps passé à étudier des matières difficiles et minimise le temps passé à réviser les choses que vous savez déjà.

Le concept est simple, mais la grande majorité des outils de mémorisation et des programmes de flashcards existants, soient évitent complètement le concept, soient implémente des méthodes loin d'être optimales qui étaient à l'origine conçues pour leur utilisation avec du papier et des crayons.
Personnellement, j'utilise Anki que pour la révision espacée, pas pour l'apprentissage proprement dit, car comme nous le dit très clairement Kenneth L. Higbee, un moyen de mémoriser profondément une matière est le surapprentissage : on continue à apprendre et réciter (répéter) au delà du moment où on a l'impression qu'on a assimilé la connaissance.

Utilisez-vous Anki ou d'autres moyens (flashcards...) pour vous remémorer des faits techniques relatifs à l'informatique ? Lesquels ?

[1] Faut le faire : python craint encore plus que Java, c'est dire ! :)

Aucun commentaire: