A partir de problèmes accessibles à la compréhension mais souvent délicats à programmer en cycle 4, l’objectif n’est pas de programmer le problème lui-même mais des sous-problèmes qui lui sont associés.
Les activités associées à cette page sont conçues pour travailler la décomposition d’un problème en sous-problèmes. Il s’agit donc d’identifier des « sous-tâches ».
Les problèmes posés sont évidemment accessibles à la compréhension mais souvent délicats à programmer en cycle 4. Pour autant, l’objectif des séances n’est pas de programmer le problème lui-même mais des sous-problèmes qui lui sont associés.
Cela nécessite la plupart du temps un travail sur deux heures (à suivre ou non) afin de prendre le temps d’analyser ce qui est demandé et d’imaginer des sous-problèmes adaptés.
On peut remarquer que certains sous-problèmes (certaines sous-tâches) reviennent assez régulièrement :
Réaliser un compteur
Épeler un mot, un nombre
Établir une liste dans un domaine donné
...
Ces sous-problèmes font appel :
aux variables informatiques (sans que celles-ci soient typées en collège),
à la notion d’affectation (notée
en langage naturel : cette notation peut être utilisée de temps en temps au collège),
à l’instruction conditionnelle,
aux boucles qui amèneront à la boucle bornée (for),
à la boucle non bornée (while) au lycée.
Cette approche amène les élèves à réfléchir à la signification des programmes, à leurs adaptations. Par exemple, le programme « épeler un mot » utilisé dans l’activité « voyelles-consonnes » pourra être réutilisé et simplifié pour l’activité « des cubes ».
Par ailleurs, cela prépare les élèves à une approche de l’algorithmique de lycée en initiant une réflexion qui amènera aux fonctions ou encore aux bibliothèques sur Python par exemple.
Certaines de ces notions peuvent être utilement travaillées en algorithmique débranchée, on peut à ce sujet se référer