Apprendre la programmation à un enfant/ado

a marqué ce sujet comme résolu.

Bonjour à tous, J'ai actuellement dans ma famille un jeune de 12ans qui aime comme vous et moi se triturer le cerveau avec des choses parraissant totalement abstraites pour le commun des mortels. Le genre qui te mets la misère au rubik's cube en 20sec chrono…résouds des problèmes les doigts dans le nez. S'intéresse à tout. Ce genre de truc quoi!

Je sais qu'il y a tout un tas de ressources sur le net. J'ai pas mal tourné. Je pensais à Minecraft Python. Le raspberry pi ou arduino. Seulement voilà. Je n'ai pas touché à ces choses-là. Et je ne voudrais pas l'en dégoûter.

Le deal serait de trouver un bouquin, soft ou tuto YouTube qui ne serait pas trop compliqué et ne rendrai pas la choses inintéressante à cause d'exemple bidon du style "afficher un coeur animé avec des paillettes sur un écran de calculatrice".

Les raspberry et arduino m'avait l'air super intéressant pour le côté " très concret" de la chose.

Voilà. P'tet un futur passionné et j'voudrais pas tout casser à cause d'une pédagogie maladroite.

Heu… Eusèbe, t'es conscient qu'à 12 ans, on sait à peine ce qu'est une fonction ? Proposer un bouquin de près de 400 pages sur un langage fonctionnelle est un peu hors sujet.

Sinon, bien que je n'ai rien à proposer en tant que tel, je pense qu'il ne faut pas dramatiser : quelqu'un de curieux ne va pas être dégouté par un léger manque de pédagogie (sauf si on le force à faire la chose en question, mais c'est un autre problème). Au pire, il trouvera cela inintéressant et ne retombera dessus que dans quelques années.

+8 -0

Heu… Eusèbe, t'es conscient qu'à 12 ans, on sait à peine ce qu'est une fonction ? Proposer un bouquin de près de 400 pages sur un langage fonctionnelle est un peu hors sujet.

Pourquoi ? Dans quel langage intéressant peut-on faire l'économie de la notion de fonction, de toute façon ?

Quand j'avais 11/12 ans, je programmais un peu à l'aide du site Developpez.com. Il y avait des cours assez difficiles mais c'était pas impossible non plus, et j'était loin d'être un génie scolaire ou quoi que ce soit, lol. :-p J'avais même fait un petit interpréteur en C (à peine deux commandes, je pense) mais j'ai eu une très bonne expérience. Il y a des anciens tutoriels du site du zéro (python, java) qui sont pas mal.

Non comme tuto Python, ni celui d'OC, ni celui actuel de ce site ne sont meilleurs que le Swinnen dont Eusèbe a donné le lien plus haut. J'espère pouvoir sortir le mien (qui a pour but de corriger les défauts des 3 sus-cités) un jour, mais c'est pas pour demain.

Et franchement, pour un hacker en herbe de 12 ans (dans le sens noble du terme), apprendre Python est une excellente idée, parce qu'il pourra toujours poursuivre son apprentissage de Python en bidouillant des programmes sur un Raspberry, et ça lui servira probablement toute sa vie (dixit un senior python developper de 31 ans).

Je suis convaincu que c'est le meilleur point de départ possible. Ça, et installer et apprendre à se servir de Linux, possiblement en parallèle.

Aussi il ne faut pas hésiter à le brancher sur ce forum. On l'accueillera à bras ouverts !

+12 -0

salut,
Comme mes compères plus haut, je te conseil de partir sur un raspberry pi, couplé avec python tu peux très vite faire des choses très sympa.
Lui faire manger un bouquin de 400 page sur un langage ca va le dégouter.
De cette manière ça tourne l'apprentissage en jeu.
Il existe des kits pour commencer avec un raspberry pi, commence par allumer une led ensuite un moteur et trouve lui un projet à faire (il faut pas lui imposer un truc, discute avec lui sur ce qu'il aimerait faire)

enfin c'est ce que je ferai avec un ado

+0 -0

C'est vrai que je devrais pas chercher trop loin non plus. Je suis à l'aise en Python et sur linux qui plus est. Je vais en causer avec lui.

L'avantage du raspberry et de linux c'est qu'il y a des magasines. Et les gosses(comme les grands) aiment bien lire les mags.

Le bouquin de swinnen je l'ai lu. Je pense que t'attaques ça quand tu es sûr d'aimer la programmation (et le langage) et les exemples sont pas très parlant(surtout pour un jeune) c'est con parce qu'il est top sinon.

J'avais pensé à codingame aussi!

Merci pour vos conseils en tout cas!

+0 -0

Si le bonhome n'a pas encore fait ses premiers pas avec Linux, le RPi peut être une bonne idée. C'est pas cher (ça peut être le cadeau d'anniversaire idéal), il a pas à s'ennuyer à dual-booter ou perdre son Windows/OS X et l'aspect de la chose peut rendre ça assez ludique.

Et je conseille Python pour la simple raison que tu connais déjà ce langage, tu seras donc en mesure de l'aider efficacement.

Pourquoi ne pas lui proposer d'apprendre la programmation web (html/css/js) ? Personnellement je trouve ça super car c'est très concret, visuel et dés que tu as les bases tu peux faire de choses.

Pis c'est gratuit, on trouve plein de tutos, une grosse communauté pour aider etc. Et si ça lui plait vraiment et qu'il continue il pourra après faire des logiciels, des applications ou même des jeux en utilisant ses compétences.

Je penses que ça pourrait être une bonne idée de voir si ça l'intéresserait d'apprendre à créer son propre site internet !

+4 -3

Je propose http://caml.inria.fr/distrib/books/llc.pdf. Sinon http://inforef.be/swi/python.htm est pas mal, mais si vraiment il est curieux et aime réfléchir, le premier sera bien plus intéressant.

Eusèbe

Le soucis d'Ocaml, c'est que lorsqu'on débute, le compilateur crache des informations qui ne sont pas toujours facile à comprendre, surtout si on est un enfant de 12 ans. Je pense qu'il vaut mieux dans une première approche avoir un interpréteur un peu plus permissif quitte à avoir des erreurs à l'éxécution, mais au moins c'est moins rebutant quand on débute et surtout quand on a pas (ou peu de recule) sur ce qu'on en fait. De plus, là où le fonctionnel s'avère extrêmement pratique a très peu de chance d'intéresser un enfant de 12 ans. A l'inverse, un langage impératif générant énormément d'effets de bords comme pour utiliser une Arduino, faire un site web ou autre, c'est beaucoup plus intuitif et facile à appréhender je pense.

Par contre, là où le fonctionnel à une grosse utilité, c'est que la sémantique d'une variable rejoint fortement de celle utilisée en maths : dans $x=5$, $x$ est juste un nom, et pas un emplacement mémoire en maths où dans un langage fonctionnel pur, ce qui n'est pas le cas en impératif. Cela peut donc être perturbant. Mais comme à 12 ans, on fait quasiment pas de manipulation symbolique en maths, cette remarque serait plus pertinente si la personne était un peu plus âgée.

Pas con le HTML/css/js. Après j'ai peur qu'il se noie dans la masse de framework que le monde du dev web va conseiller et vanter les mérites au monde entier. Je dis ça car à titre perso j'me suis pas mal enlisé dans le monde des technos hype sans avoir le niveau(mais tout le monde te dis que c'est bien alors tu suis quoi) et j'y ai perdu beaucoup de temps.

Sinon je lui ai parlé des possibilités du raspberry et ça à l'air de le brancher. J'ai trouvé un mag qui s'appelle "Hackable" ça à l'air pas mal aussi.

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