Les outils d’apprentissage des mécanismes de la programmation

Mots clés:
Apprentissage de la programation

 

L’apprentissage des concepts de programmation

Savoir programmer nécessite certes de connaître plusieurs langages (et d’en maîtriser 1 parfaitement), mais aussi de bien comprendre les structures sous-jacentes à la programmation, à savoir l’algorithmie et les concepts liés à la POO (Programmation Orientée Objet).

L’algorithmie permet en effet de concevoir puis réaliser des programmes élégants, c-a-d bien construits, optimisés et programmés en un temps raisonnable. Dans ce cadre, un site tel que celui des Olympiades Internationales d’Informatique est incontournable (et de plus, très pédagogique !). Pour les plus littéraires, l’Introduction à l’algorithmique est l’une des bibles de la programmation (attention : non-matheux s’abstenir).

La Programmation Orientée Objet (POO) rajoute toute une série de notions abstraites qui sont loin d’être intuitives. Le MOOC (Massive Online Open Course) de Coursera relatif à la programmation en Java (une initiation) de l’Ecole Polytechnique Fédérale de Lausanne est une excellente première approche. Toutes les notions de la POO (classe, objet, constructeur, encapsulation, héritage, …) sont expliquées simplement avec des exemples parlant.

Cependant, dans les 2 cas précédents, nous restons attachés à des langages et non à des mécanismes à automatiser. Or il existe de très bons logiciels d’apprentissage, souvent présentés pour des enfants, qui peuvent permettre d’acquérir de façon ludique les bases de la programmation.

 

Scratch : logiciel d'apprentissage à la programmation

Scratch

Développé au sein du MIT, ce logiciel d’apprentissage pour les enfants permet de façon très ludique d’acquérir les mécanismes liés à la programmation (qu’est-ce qu’une boucle, qu’est-ce qu’une condition, …). En déplacement des blocs, tel un puzzle, il est ainsi possible assez facilement de créer une animation, un jeu ou un contenu pédagogique (un cours de physique, de français, …). Une très forte communauté francophone s’est appropriée cette application, il est ainsi assez simple de trouver toute un littérature aussi bien sur l’apprentissage de l’application que sur des exercices à réaliser quel que soit l’âge de l’apprenant. Ainsi, des ateliers de CodingGoûters, des Code4Kids ou des Devoxxx4Kids se basent notamment sur ce logiciel.

 

Tangara : logiciel d'apprentissage à la programmationTangara

Tangara est une application française développée par l’association Colombbus. Très bien faite, elle permet véritablement d’apprendre à programmer, au sens où c’est du code qu’il faut saisir (un code fortement simplifié mais où la syntaxe à son importance). Une documentation très pédagogique permet de comprendre la philosophie du logiciel et toutes ses possibilités. Aussi bien tourné vers les adolescents que vers les adultse, Tangara permet de bien comprendre la programmation orientée objet. Plusieurs kits pédagogiques sont mis à la disposition de tout animateur d’ateliers.

 

Parmi les autres applications très intéressantes, nous pouvons citer :

  • RobotProg qui de façon très visuel permet de comprendre les bases de l’algorithmique,
  • Alice qui est tourné vers la 3D,
  • LARP pour les plus âgés que veulent apprendre à correctement formaliser un algorithme. Ce projet est arrêté, mais il permet de bien comprendre la programmation procédurale et la modularisation d’un programme.

A ces applications, s’ajoutent dorénavant tous les sites en ligne d’apprentissage, qu’ils soient sous forme de jeux ou de didacticiels.

 

Pour aller plus loin :

Formation Développeur (se) logiciel / web

Formation Concepteur (rice) Développeur (se) Informatique