Initiation à la programmation, quelques définitions
Algorithme
Un algorithme est une suite d’instructions détaillées qui, si elles sont correctement exécutées, conduit à un résultat donné. Les instructions doivent être suffisamment précises pour pouvoir être mises en oeuvre correctement par l’exécutant.
"À l’école primaire les élèves peuvent prendre conscience du caractère systématique des procédés qu’ils ont appris – à l’école ou hors de l’école – pour résoudre certains problèmes : faire un gâteau, fabriquer un objet en argile, peser un objet avec une balance Roberval. Ils peuvent aussi distinguer, au sein de ces procédés, ceux qui s’appliquent à des objets constitués de symboles, tels des lettres et des chiffres : mettre un mot au pluriel, effectuer une addition, rechercher un mot dans un dictionnaire, rendre la monnaie... Ils peuvent prendre conscience de la pluralité des algorithmes qui permettent de résoudre un même problème, par exemple chercher un mot dans un dictionnaire." (In Bulletin de la société informatique de France – numéro 9, septembre 2016)
Programmation
Un programme est une suite d'actions à exécuter dans un ordre bien défini que l'on envisage de réaliser. Il n'est pas nécessaire de parler d'informatique quand on envisage l'idée de"programme". La programmation nécessite d'avoir un langage formel pour coder l'information de chaque action. Ce code de communication indiquera à l'executant les actions à réaliser. Si l'executant est une machine, on parlera de programmation informatique "À l’école primaire, les élèves peuvent aborder la notion de langage en décrivant par exemple des chorégraphies sommaires dans un langage formel approprié – par exemple : avancer trois mètres vers le nord, puis quatre mètres vers l’est et trois mètres vers le sud : « N3 ; E4 ; S3 ». S’ils utilisent au départ des langages définis par les enseignants, ils peuvent ensuite créer de tels langages eux-mêmes. Ils peuvent apprendre à traduire un message d’un langage dans un autre. Ils peuvent aussi dé- couvrir la notion de langage formel, à travers une initiation à un langage de programmation. Ils peuvent comprendre la place que les langages formels ont tenu dans notre culture à travers l’exemple de la notation musicale ou des langages d’expression des nombres". (In Bulletin de la société informatique de France – numéro 9, septembre 2016)
Aujourd’hui, outre les possibilités de codage de déplacements, la programmation d’algorithmes va permettre de faire entrer les élèves dans l’informatique créative. Faire en sorte que les élèves expriment leur créativité et inventivité (jeu, etc.) en termes de « problème à résoudre » et de moyens systématiques de résolution de ces problèmes (i.e., d’algorithme et de programme).
Ces pratiques ont trois dimensions : - une dimension intellectuelle, car elle encourage à une structuration de la pensée dans le cadre par exemple de la résolution de problème ( pensée informatique), - une dimension physique, car elle encourage les interactions avec autrui, la collaboration, - une dimension affective, car elle encourage la confiance en soi et l’engagement.
L’apprentissage devrait pouvoir associer trois types essentiels de démarche :
-une démarche de projet active et collaborative qui suppose la négociation des objectifs et la répartition des tâches, la communication entre élèves contributeurs d’un même projet et qui permet l’intervention de plusieurs disciplines ;
-une démarche de création : l’enseignement doit se traduire par la réalisation de productions collectives (programmes, applications, animations, sites, etc.), au cours desquelles les élèves développent leur autonomie, mais aussi le sens du travail collaboratif ;
- une démarche interdisciplinaire qui favorise la mise en œuvre de diverses activités de création numérique.