
Beaucoup de gens connaissent Scratch, un environnement de programmation pour enfants dans lequel l'apprentissage se rĂ©sume gĂ©nĂ©ralement Ă la crĂ©ation de projets crĂ©atifs selon le principe « du simple au complexe ». En mĂȘme temps, « l'approche classique » de l'apprentissage de la programmation (variables â branches â boucles â fonctions â structures â objets â âŠ) dans Scratch est difficile.
Cependant, changer la sĂ©quence d'apprentissage des concepts (appelons-les concepts) de la programmation structurĂ©e, orientĂ©e objet et Ă©vĂ©nement, en les cachant derriĂšre des sprites colorĂ©s et des animations interactives, ne signifie pas que ces concepts ne doivent pas ĂȘtre mis en avant. Surtout si l'objectif n'est pas tant le dĂ©veloppement des capacitĂ©s crĂ©atives que l'apprentissage de la programmation. J'ai essayĂ© de reflĂ©ter cette idĂ©e dans mon .
La premiĂšre chose qu'un scratcheur dĂ©butant rencontre, ce sont les sprites. Bien qu'il n'y ait pas de programmation orientĂ©e objet en soi dans Scratch, les sprites peuvent ĂȘtre considĂ©rĂ©s comme des objets. A ce stade, l'Ă©tudiant voit qu'un programme peut avoir de nombreux objets dont le comportement est contrĂŽlĂ© par des scripts qui leur sont extĂ©rieurs. Les sprites reçoivent des commandes ou transmettent des informations sur leur Ă©tat Ă la demande, c'est-Ă -dire que la programmation se rĂ©sume Ă gĂ©rer des objets.
La deuxiĂšme chose qui frappe immĂ©diatement un jeune programmeur dans Scratch est le concept de multithreading. Chaque sprite peut avoir plusieurs scripts exĂ©cutĂ©s simultanĂ©ment. Plusieurs sprites peuvent Ă©galement exĂ©cuter leurs programmes simultanĂ©ment les uns avec les autres. De plus, il sâavĂšre plus difficile dâorganiser une exĂ©cution sĂ©quentielle.


DĂšs la premiĂšre leçon, nous ne pouvons Ă©viter de nous familiariser avec les cycles. Sinon, le chat ne sâenfuira pas vraiment. A ce stade, la connaissance doit rester intuitive et superficielle. Nous le limitons aux boucles « rĂ©pĂ©ter toujours » et « rĂ©pĂ©ter... fois », qui sont plus faciles Ă comprendre. La boucle conditionnelle est Ă©tudiĂ©e dans une leçon spĂ©cifiquement consacrĂ©e aux boucles. Cette leçon suppose la connaissance des expressions et variables boolĂ©ennes.
Ătant donnĂ© que Scratch est un environnement pilotĂ© par des Ă©vĂ©nements, les blocs d'instructions conditionnelles sont plus faciles Ă apprendre avant les variables. La condition peut ĂȘtre liĂ©e Ă certains Ă©vĂ©nements.

à mon avis, cette séquence est meilleure, puisque pour chaque leçon nous introduisons un minimum de notions. Et pas abstraits, mais on voit immédiatement leurs avantages pratiques.
Si vous étudiez d'abord les variables, leur objectif et leurs avantages sont difficiles à démontrer, car l'opérateur conditionnel, la saisie de données et la génération de nombres aléatoires n'ont pas été étudiés auparavant.
Dans Scratch, sans compter les listes, le programmeur rencontre trois types de données : les nombres, les chaßnes et les booléens. Dans ce cas, le type est lié à la valeur et non à la variable. Il n'est pas nécessaire de convertir les chaßnes en nombres et inversement. Les chaßnes ne sont pas citées.
Un bloc qui renvoie une valeur boolĂ©enne et possĂšde une forme angulaire caractĂ©ristique peut ĂȘtre insĂ©rĂ© dans des champs arrondis. Lâinverse nâest pas vrai : lorsquâune expression boolĂ©enne est supposĂ©e, une variable rĂ©guliĂšre ne peut pas ĂȘtre insĂ©rĂ©e.

Scratch est implémenté de maniÚre à ce qu'aucune erreur critique ne se produise lors de l'exécution. Apparemment, c'est pourquoi, si vous essayez d'utiliser une chaßne dans une opération arithmétique, elle est remplacée par zéro (voir la premiÚre capture d'écran).
Le programmeur doit savoir que les capacités des langages de programmation sont étendues par les bibliothÚques. En travaillant dans Scratch, l'étudiant peut enchaßner des ajouts qui conduisent à l'apparition de nouvelles commandes dans l'environnement.

Les fonctions de Scratch sont implĂ©mentĂ©es dans la section "Autres blocs", oĂč d'une part vous crĂ©ez votre propre bloc qui peut ĂȘtre insĂ©rĂ© dans d'autres scripts. Dâun autre cĂŽtĂ©, il faut comprendre la fonctionnalitĂ© de ce bloc, câest-Ă -dire ce quâil va faire.

Il nây a aucune valeur de retour de la fonction scratch.
Ainsi, lâapprentissage des concepts de programmation dans un environnement Ă©vĂ©nementiel laisse des traces. Essentiellement, nous Ă©tudions dâabord des concepts plus complexes et abstraits et ce nâest quâen approfondissant le processus que nous passons aux Ă©lĂ©ments de la programmation structurĂ©e. Que ce soit un plus ou un moins pour une premiĂšre connaissance est un point discutable.
Source: habr.com
