Comment apprendre la programmation aux enfants ?

Assez intéressant, fun et ludique pour un enfant, même, disons, à 14 ans ?

Entièrement d’accord, j’ai eu un module d’Ocaml l’année dernière, la spécificité était que l’on nous interdisait tout aspect impératif du langage pour nous forcer à en découvrir les aspects fonctionnels. J’ai été agréablement surpris par ce langage, autant pratique qu’élégant.

Il nous arrive de faire des activités, pour les lycéens qui veulent apprendre à developper, durant lesquelles on utilise CodeCombat, une plateforme de type RPG où l’on apprend le JavaScript pour se faire combattre des héros. Plutôt ludique, je pense que ca peut s’appliquer à plus jeune que des lycéens.

1 « J'aime »

Deux articles de Xavier Dupré plein de suggestions :
http://www.xavierdupre.fr/blog/2014-04-10_nojs.html
http://www.xavierdupre.fr/blog/2014-07-12_nojs.html

sebsauvage liste également de nombreuse resources vidéo-ludiques dans ses liens.

J’utilise Scratch dans le cadre des Coding Gouters que j’anime. Ça marche super bien et même les enfants aussi jeune que ~8 ans peuvent le comprendre. Google a un projet très similaire aussi, Blockly.


https://blockly-games.appspot.com/?lang=fr

2 « J'aime »

J’ai découvert récemment avec mon fils de 11 ans Petit Computer, sur Nintendo DS. Plus qu’un langage de programmation, c’est une véritable boîte à outils, avec une base de données de personnages, objets et éléments de décors. Le langage en lui-même est fortement inspiré du Basic (ça me rappelle de vieux souvenirs…) et l’aspect programmation de jeux est évidemment très enthousiasmant pour un enfant de cet âge!

Apprendre à faire aimer les math ? C’est tout bête mais quand j’étais à l’école (au collège) j’étais toujours un des meilleurs de ma classe en math, c’est une matière que j’aimais bien et je pense que ça ma beaucoup aider à me diriger vers le développement web bien des années plus tard, car au final quand on code c’est un peu comme les math, c’est de la logique pure et dure et pour comparer, créer une fonctionnalité pour un blog par exemple, ça peut être comme résoudre un problème en math, il faut trouver des solutions, tester et trouver ce qui cloche si ça ne marche pas. Voilà, c’est une idée comme une autre à analyser :)

Aux Etat-Unis, Code.org marche plutôt bien, voici la vidéo d’introduction.
Même le président Obama a participé à l’une de ces fameuses “Hour of Code” !

Le principe est simple, une grosse abstraction ludique en drag n drop de bloc de code.

Que pensez-vous du fait d’abstraire à ce point le code ?

Notre ami Rasmus a parlé de http://scratch.mit.edu/ , utilisé par son fils, au forum PHP de Lyon, cette année. J’y ai jeté un coup d’oeil et ça a l’air pas mal :)

Il est vrai que OCaml souffre d’une mauvaise réputation à la fac et seul une minorité continuent leurs chemins avec ce langage. Mais pour le coup, je pense pas qu’il faut blâmer le langage mais surtout l’aspect national de cette décision et sa désorganisation. Je suis sûr que si les cours d’OCaml étaient faits par quelqu’un appartenant au milieu OCaml (comme c’est le cas à Paris 7 par exemple), tout le monde y trouverais son compte.

Maintenant, tout le monde ne sait pas coder en OCaml, tout le monde n’a pas la même affinité à OCaml et c’est particulièrement vrai pour les professeurs en informatique à qui on impose (peut être pour un protectionnisme du patrimoine français puisque qu’OCaml est français) d’apprendre ce langage aux étudiants. Il en résulte donc (comme une majorité des cours à la fac) une approche en effet terne et inintéressant du langage.

En vrai, OCaml est un très bon langage pour un apprentissage poussé de l’informatique théorique puisqu’il se focalise entre autre sur la correspondance de Curry-Howard et je pense qu’un vrai informaticien à tout intérêt à apprendre ce langage (ou un langage comme Haskell ou encore Scala qui se basent sur la même idéologie) pour enfin entrevoir une liaison concrète entre l’informatique technique et l’informatique théorique. Bien entendu, ce n’est pas avec un « 10 minutes with OCaml » qu’on y parvient.

Au delà, depuis pas mal d’année désormais, OCaml fait l’effort de devenir de plus en plus mainstream dans le sens où il embarque désormais un package manager, un build system et un bon écosystème. Ce qui peut amener un aspect fun dans les cours avec ce langage.

Enfin, je pense pas que ça soit un langage fait pour les très petits puisque ce qui est réellement intéressant dans OCaml reste son aspect théorique (lambda calcul, inférence des types, pattern-matching, etc …) très conséquent qui peut être la base de pas mal de R&D dans le milieu de l’entreprise (ce qui est le cas chez Facebook par exemple).

2 « J'aime »

Dans le même (bon) esprit, Code Club (www.clubcode.org) se base aussi sur Scratch, le niveau avancé étant en Python…

J’ai récemment découvert Lightbot qui est très bien pour s’initier à la logique de la programmation.

Génial ! Je ne connaissais pas. C’est vraiment bien fait. Je vais tester sur mon fils de bientôt 7 ans :smile:

1 « J'aime »

Essai intéressant fait sur iPad avec la version gratuite (chercher lightbot).
Mon fils (bientôt 7 ans) se débrouille bien avec les fonctions basiques, les procédures simples mais pas plus pour l’instant. Il a bien accroché.

Il a essayé des trucs comme “faire sauter le robots de 3 cases de haut” pour voir ce que ça fait. Je n’y avais pas pensé ;)
Comme quoi pour programmer il faut de la logique et surtout de la créativité !

Pour ceux dont les enfants comprennent l’anglais, j’ai récemment découvert aussi ce site, qui propose des stages de vacances online qui ont l’air bien sympa:
http://makercamp.com
La semaine prochaine, le thème est le développement de jeux. Thème porteur :-)
En plus, un shop bien fourni, aussi!

Mon top 3 :

  1. KidsRuby: rend facile l’apprentissage du code.

  2. MIT App Inventor: le nom parle de lui-même, c’est un outil pour construire des appli, pour les plus de 9 ans.

  3. Alice: une introduction pour créer des films animés et des jeux vidéos par l’intermédiaire d’un langage simple, orienté objet. Il y a également une version « spéciale fille », Storytelling Alice, spécialement orientée vers la création d’histoires.4. Scratch: développé par le MIT, ce logiciel permet de programmer des films, des jeux et des histoires interactives. Parfait pour les enfants de plus de 8 ans (la traduction française est parfois un peu étrange mais ce n’est pas très gênant). Les enfants utilisent un langage de programmation fait de briques qu’ils glissent sur l’espace de travail pour animer des lutins. Il y a des briques pour mettre en place des boucles, créer des variables, faire des sons… Les guides, la communauté aident les parents et les enfants à démarrer. Pas besoin d’être un expert en programmation pour proposer ce jeu à vos enfants.

J’ai entendu plusieurs fois entendu parler de GoldieBlox dernièrement :

Une de mes profs a lancé l’atelier-goûter du code pour les enfants à Marseille, apparemment ça a du succès et les enfants sont contents et apprennent vite ! http://www.ateliergouterducode.org/

Scratch est parfaitement à la découverte de la programmation.
Je réalise une série de capsules destinées à vous y aider :

Bonsoir,
Excellente idée j’ai jamais pensé à ça alors que le dicton dit: “apprenez à vos enfants alors qu’ils jouent” :)

Récemment j’ai joué avec Sonic Pi. L’interface est simple, les tutoriels très bien faits et accessibles. Ça a été pensé pour permettre aux enfants d’apprendre à coder tout en faisant de la musique. Ça peut etre une piste intéressant pour les enfants qui aiment la musique.

Human Coders - Le centre de formation recommandé par les développeur·se·s pour les développeur·se·s