ajout le déclic et nettoie le readme
This commit is contained in:
parent
542e6f00e4
commit
d303326203
39
README.md
39
README.md
@ -1,41 +1,8 @@
|
||||
# Projet de livre.
|
||||
# Accompagner l'apprentisssage de la programmation
|
||||
|
||||
Un jour je trouverais un titre. **En attendant, je laisse ce titre un peu bidon**
|
||||
ou encore _les pieds dans le code_ ?
|
||||
|
||||
C'est l'histoire de plusieurs personnages qui découvre et apprenne des choses autour de la programmation. Ou bien, uniquement un personnage principal qui cherche à aprendre à programmer ?
|
||||
|
||||
Les personnages possible :
|
||||
- une femme, qui après des études d'histoire de l'art, et un séjour en asie du sud est, se dit qu'elle va plutôt faire de la programmation. S'il n'y a qu'un personnage principal, c'est elle. Les autres pourraient être traité comme des secondaires.
|
||||
- un homme, développeur expérimenté, mais sur un seul langage, doute encore de ces capacités, et se retrouve dans la difficulté pour s'adapter à la nouvelle techno du nouveau projet de sa boite
|
||||
- un homme, un peu vantard, suite à une reconversion via un boot camp (il était dans la sécurité avant), connais des difficultés pour trouver un poste, il enchaine les stages.
|
||||
- une femme, chef de projet
|
||||
- une femme, designeur, qui tente d'ajouter la programmation à ces cordes
|
||||
- un prof de math, reconveti dans la data science
|
||||
Un projet où j'aimerais documenter, écrire, partager ce que j'ai l'impression d'avoir appris, d'apprendre encore, autour de l'apprentissage en général et l'apprentissage de la programmation en particulier.
|
||||
|
||||
|
||||
en fait, il me faut faire ce travail de caractérisation. J'aimerais suivre, un peu, les conseils du livre « écrit un récit » que je suis en train de finir. Faire tout le travail préparatoire, bien que je souhaite uniquement faire de l'écrit.
|
||||
|
||||
Le but serais d'aborder l'apprentissage de la programmation sous forme d'un roman.
|
||||
|
||||
**J'aimerais permettre à certaines personnes d'apprendre à programmer, en lisant ce livre** Ou au moins, les aider dans cette démarches. Car juste le livre, ça ne suffit pas : il n'y a pas de mise en prratique. Par contre, peut-être que je trouverais un moyen de parler de certains site ou exercice dans le livre, qui serait en fait un vrai site. Pas beaucoup plus d'idée pour le moment.
|
||||
|
||||
Les grandes étapes (livres ou chapitre ?) pourrait être :
|
||||
|
||||
- apprendre à programmer plutôt qu'un langage !
|
||||
- choisir un langage (fiche langage ?)
|
||||
- démarrer sur un cour en ligne
|
||||
- choisir un ordinateur
|
||||
- aborder la lecture de code
|
||||
- observer la matière : boucle et structure conditionnées
|
||||
- observer la matière : organisation d'un programme en fonction des paradigme
|
||||
- observer la matière : les types de données
|
||||
- les gestes (du refactoring)
|
||||
- parler de code avec les autres dev
|
||||
- les outils : le terminal
|
||||
- les outils : git et les gestionnaires de version
|
||||
- le débug
|
||||
- déployer en production
|
||||
- l'expérience utilisateur : parler de code avec un client (payeur ou pas)
|
||||
- l'expérience utilisateur : apprendre le métier de l'autre
|
||||
- l'expérience utilisateur : indicateur et interview, mesurer ce qu'il faut faire
|
||||
- organiser une équipe (agilité, lean, ...)
|
||||
|
55
declic.md
Normal file
55
declic.md
Normal file
@ -0,0 +1,55 @@
|
||||
# Declic
|
||||
|
||||
J'ai observé qu'il y a parfois des personnes qui essaient d'apprendre la programmation et qui n'y arrivent pas. J'ai longtemps pousser ça derrrière une histoire de déclic. « elles n'ont pas encore eu le declic ».
|
||||
|
||||
À simplon, une partie des personnes de la 2eme promo, que j'avais vu en entretien, et que j'ai suivi pendant 6 mois à temps plein, n'ont pas réussi à « comprendre » ce qu'est l'informatique, la programmation.
|
||||
|
||||
Durant la promo becometech que j'ai accompagné sur un semestre, pareil
|
||||
|
||||
Même soucis au niveau du roolie club où finalement, les personnes qui n'avaient pas le déclic soient se métaient à part dans la communauté, soient ne revenaient pas. Certaines sont aller suivre une formation « bootcamp » et sont revenu ensuite. Certaines avaient découvert quelque chose durant la formation, d'autres restaient coincé.
|
||||
|
||||
Je pense que certaines personnes évoque le fait que l'informatique n'est pas fait pour tout le monde à cause de ça. De ce déclic. Je pense moi qu'il y a sans doute un truc à trouver. Il n'y a pas de raison qu'une personne ne comprenne pas ce qu'une autre arrive à comprendre. C'est un signe qu'il manque une information, que cette personne à besoin d'une autre approche. Il faut présenter les choses autrement. Référence au [maître ignorant de Jacques de Rancière](https://fr.wikipedia.org/wiki/Le_Ma%C3%AEtre_ignorant) et particulièrement aux [principes pédagogique de Jacoto](https://fr.wikipedia.org/wiki/Joseph_Jacotot#Principes) <q>Toutes les intelligences sont égales ;</q>
|
||||
|
||||
|
||||
Ce qui est dur, c'est de les voirent travailler, essayent encore et encore, et ne pas arriver à saisir ce qu'il se passe. Oh, parfois ces personnes arrivent à écrirent des bouts de code, un morceau de programme... Nous pourrions croire qu'elles ont compris ce qu'il se passe dans le programme, que maintenant c'est bon. Et en fait non. Il manque toujours quelque chose.
|
||||
|
||||
Montrer comment se servir d'un langage ou d'un framework sont, à mon avis, le meilleur moyen de ne pas déceller ce genre de cas. Ce qui amène parfois certaines personnes à sortir de formation en ayant l'impression que c'est ok, et dès les premières expériences sur le terrain, se font très mal. Psychologiquement, elles n'arrivent pas à se faire un trou dans le métier. Et à titre personnel, surtout dans le cas d'une reconversion, c'est dur, vraiment dur.
|
||||
|
||||
|
||||
Et si ce déclic était une histoire d'abstraction ? Une compréhension de ce qu'il se passe quand on écrit un programme, ou plutôt quand on l'execute ? J'écris un bout de code dans un éditeur, sur un ordinateur. Ce bout de code va être lu par d'autres personnes. Ce bout de code va être executé par ma machine peut-être, par une autre aussi sans doute... Ce n'est pas très simple je crois. Disons que j'ai l'impression que c'est simple pour moi aujourd'hui, et je pense que beaucoup de personnes qui apprennent la programmation trouve ça simple aussi une fois le cap franchi.
|
||||
|
||||
Comment on franchi ce cap ?
|
||||
|
||||
Il faudrait sans doute être bien sur de ce que c'est. Bien définir cet obstacle pour pouvoir le franchir.
|
||||
|
||||
Dans les boulots que j'ai fait, le rapport était très direct, les actions à faire simple, précise, claire. Étude de tourneur-fraiseur : la machine, la matière, les outils qui coupent, tu mets en action pour que ça fasse le boulot. Quand j'ai fait la plong chez Flunch, plateau cradeau, machine pour nettoyer, poubelle pour les dechets, meubles pour ranger. Dans les champs, des fruits à ramasser, dans un sceau, dans des barquettes...
|
||||
|
||||
Est-ce que l'informatique, la programmation, est à part ? Peut-être pas. J'imagine que ce genre d'abstraction existe dans d'autre secteur. Peut-être dans les secteur où il y a de l'exploration, de la recherche, beaucoup de relations humaines.
|
||||
|
||||
Je vois une différene un peu comme en math il y a des lois, des principes, posé, clair et précis, qu'on apprend à appliquer. 3 x 5 = 15. On a bon ou pas. Alors qu'en philo, on peut écrire 5 dissertation différente, avoir bon à chacune, ou mauvais à toutes... C'est un dialogue avec le ou les personnes qui corrigent.
|
||||
|
||||
Un programme, un logiciel, me semble suivre ce chemin. Nous pouvons très bien écrire un programme qui fera le même job de 30 façons différentes. Laquelle est la bonne ? À la fin, difficile de savoir. Elles fonctionnennt toutes. Référence à [Exercices in programming style](https://www.crcpress.com/Exercises-in-Programming-Style/Lopes/p/book/9781482227376) où Cristina évoque [Raymond Queneau](https://fr.wikipedia.org/wiki/Raymond_Queneau). Elles a écrit un programme qui fait la même chose, strictement, mais de 30 manières différentes (en python). C'est passionnant.
|
||||
|
||||
|
||||
Peut-être faut-il explorer cette piste avec les personnes qui coince.
|
||||
|
||||
|
||||
Quelle différence entre une personne qui, d'après ce que je crois, n'a pas encore eu le déclic dont je parle ici, et une qui l'aurais eu ? Je crois que ça s'exprime par une niveau d'autonomie plus grand. La personne qui a eu le déclic va pouvoir _manipuler_ le code plus facilement, sans peur de tout casser, sans crainte de se tromper, sans peur de l'erreur.
|
||||
|
||||
Les personnes qui n'ont pas le déclic se rerouve coincé à au moment de choisir s'il faut mettre en place une boucle ou une structure conditionné, s'il faut mettre en place une structure de donnée plutôt qu'une autre, si le code pourrait être ranger autrmenet, remanié pour plus de lisibilité.
|
||||
|
||||
Comment acquérir cette capacité à projeter ? Est-ce que les personnes qui ont eu le déclic arrivent à se faire une représentation mentale de leur programme, de leur bout de code et les autres non ? Peut-être. Je ne parle par de voir le code complet à l'avance, mais d'être en capacité de se construire une représentation de ce qu'il y a dans le code à un instant donnée, et d'avoir une idée de quoi faire pour insérer une modification du comportement du programme (supprimer une ligne, extraire une variable, ajouter une strcuture de donnée).
|
||||
|
||||
|
||||
|
||||
Est-ce qu'il y a un parallèle avec la conduite ? Est-ce qu'on peut conduire une voiture sans comprendre comment elle fonctionne ? Je crois que beaucoup de personne font ça. Est-ce que ça signifie qu'on pourrait faire programmer des personnes, leurs faire passer ce « déclic » sans pour autant aborder l'abstraction dont je parle plus haut ?
|
||||
|
||||
Une approche façon cuisine à code, où on se content de reproduire sans cherche à comprendre, permettrais d'arrive à ça du coup. Et peut-être que c'est ce qu'il se passe pour certaines personnes. Une forme de laché prise « j'arrête d'essayer de comprendre, je fais et c'est tout ». Et peut-être que plus tard, des choses apparaissent.
|
||||
|
||||
|
||||
|
||||
|
||||
Est-ce que ce déclic est le fameux plateau que certaines personnes n'arrivent pas à franchir quand elles sont seules chez elles ?
|
||||
|
||||
La plupart des personnes qui apprenent la programmation seule, chez elle, en ligne, coince à un moment donnée. Il y a un cap qu'elles n'arrivent pas à franchir seule. Le collectif ou un mentor aide plutôt bien dans ces moments là. Et parfois, c'est plus compliqué que d'autre. C'est sans doute ce déclic qui manque je crois. Au moins dans certains cas.
|
||||
|
23
grandes-etapes.md
Normal file
23
grandes-etapes.md
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
Une liste de truc qu'on peut faire pour apprendre à programmer.
|
||||
|
||||
- apprendre à programmer plutôt qu'un langage !
|
||||
- choisir un langage (fiche langage ?)
|
||||
- démarrer sur un cour en ligne
|
||||
- choisir un ordinateur
|
||||
- aborder la lecture de code
|
||||
- observer la matière : boucle et structure conditionnées
|
||||
- observer la matière : organisation d'un programme en fonction des paradigme
|
||||
- observer la matière : les types de données
|
||||
- les gestes (du refactoring)
|
||||
- parler de code avec les autres dev
|
||||
- les outils : le terminal
|
||||
- les outils : git et les gestionnaires de version
|
||||
- le débug
|
||||
- déployer en production
|
||||
- l'expérience utilisateur : parler de code avec un client (payeur ou pas)
|
||||
- l'expérience utilisateur : apprendre le métier de l'autre
|
||||
- l'expérience utilisateur : indicateur et interview, mesurer ce qu'il faut faire
|
||||
- organiser une équipe (agilité, lean, ...)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user