« Scratch » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
 
(78 versions intermédiaires par 7 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
{{Incomplet}}


== Définition ==
'''En préparation''' : Page d'introduction général à Scratch d'un point de vue théorique/conceptuel. Pour approche technique voir les pages des différentes versions.
Scratch est un outil de programmation pour la création et l'édition des jeux, histoires interactives, et des animations intégrant les multimédias (son, images, texte). Scratch a été développé en 2006<ref>http://en.wikipedia.org/wiki/Scratch_%28programming_language%29</ref> par l'équipe Lifelong Kindergarten Group du [http://www.media.mit.edu/ MIT Media Lab]. Son développement est soutenu par plusieurs fondations américaines.


== Description ==
Idéalement cette page devrait proposer :
Scratch est un langage de programmation orienté objet (object oriented programming language) rendu dans une interface graphique. Le logiciel est disponible en plusieurs langues, et permet aux non-programmeurs de créer des animation, jeux interactifs, et des visualisations sans devoir écrire en code.  Scratch cible comme utilisateurs les enfants à partir de 10 ans, mais également les enseignants qui souhaitent intégrer les TIC dans leur programme d'études.


===Interface et fonctions de Scratch===
* Présentation du ''projet Scratch'' (histoire, finalité, etc.)
[[image:scratch.png|thumb|640px|none|Capture d'écran de l'environnement Scratch]]
* Exemples d'application dans contexte pédagogique
== Introduction ==
Scratch est un langage de programmation visuel (VPL). Le site web permet de programmer, d'enregistrer et de partager les réalisations, simplement en créant un compte gratuit. 


L'interface de Scratch est composée d'une scène (en haut à droite) sur laquelle on pose les différents objets (''sprites'')  et d'où on peut démarrer et arrêter l'animation. Une sélection blocs de commandes (haut à gauche) permet de choisir les composants (à gauche) et de les glisser vers l'espace de travail réservé à la composition des scripts (au centre) ou la modification des objets. Ce champs offre des onglets qui permet d’accéder et de modifier à des fichiers et des médias qui peuvent êtres soit crées à l'intérieure de Scratch (images, enregistrements de sons), soit crées ailleurs et importés. Le champ en bas à droite est réservé aux objets. A ces objets peuvent être créés ou importés. Avec les scripts on définit leur propriétés, et leur actions (rôles). La scène aussi peut avoir des scripts propres à elle qui gèrent la mise en scène des différents objets.
Scratch permet aux enfants et adolescents d'appréhender les nouvelles technologies et de comprendre ce qu'il se passe réellement lorsqu'ils les utilisent. Le constat a été rapidement fait, que même si on se réfère aux adolescents comme à des "digital native" peu d'entre eux sont capables de créer leur propre jeu, applications ou simulations. C'est "comme s'ils pouvaient lire, mais pas écrire"<ref>[http://web.media.mit.edu/~mres/papers/Scratch-CACM-final.pdf], Scratch : Programming for All</ref>. L'habileté numérique n'inclue pas seulement la capacité à écrire des messages, faire des recherches sur internet ou communiquer, mais aussi toutes les compétences de design, de création et d'inventivité que permettent de développer les nouveaux médias. Pour atteindre ce but, il est nécessaire de développer des compétences en programmation.
====Blocs de commandes====
La zone à gauche offre un menu de types de commandes. En cliquant sur un item dans le menu, un choix de blocs de commandes est affiché. Pour intégrer un bloc dans un script, il suffit de le glisser vers l'espace de travail.
* '''Mouvement''' : commandes pour déplacer, positionner, ou tourner un objet (''sprite'')
* '''Apparence''' : commandes pour changer les aspects graphiques liés à l'affichage d'un objet : changer un costume, appliquer un effet, changer la taille, le plan d'affichage, afficher des bulles de texte
* '''Sons''' : commandes pour ajouter du son, gérer le son, appliquer des filtres aux sons
* '''Stylo''' : commandes pour créer et effacer des traces dessinées sur la scène (n'importe quel objet auquel on applique ces commandes peut servir comme un stylo)
* '''Contrôle''' : commandes pour définir et orchestrer les interactions entre les objets et entre l'utilisateur et les objets
sur la scène au moment du déroulement de l'animation (comment les actions se lancent, s’arrêtent, sous quelle condition, etc.)
* '''Capteurs''' : pour définir les paramétrés d'interaction entre les objets et à intégrer dans les commandes de contrôle d'un script.
* '''Opérateurs''' : pour définir les conditions à respecter pour qu'une interaction soit prise en compte dans un script
* '''Variables''' : pour définir des variables et leurs valeurs à intégrer dans les commandes
====Espace de travail====
=====Niveau script=====
Cet espace se trouve au milieu de l'interface. Si la scène est choisi dans la [[Scratch#Libraire |librairie]] toute commande agira sur les objets sur la scène.
*<a name="script"/>'''Scripts liés à la scène'''
Pour accéder à l'espace de travail pour construire les scripts en ajoutant des commandes, propriétés et variables relatives à la mise en scène des objets.
* '''Arrière-plans'''
On peut '''dessiner''' un arrière-plan (couleurs,formes), '''importer''' une image à mettre en arrière-plan, ou '''prendre une photo''' directement avec la camera de l'ordinateur et l’insérer en arrière-plan
* '''Sons liés à la scène'''
On a l'option d'importer un fichier son (mpeg) ou d'enregistrer un nouveau son utilisant le micro de l'ordinateur et l’insérer de suite dans un <a href="#script">script</a> lié à la scène, p. ex. un bruit de fond, une bande-son. Tous les sons enregistrés devient disponibles à être importés ultérieurement.


=====Niveau objet=====
L'habileté à programmer devient aussi une compétence transversale et ainsi transposable dans d'autres domaines. En programmant, on développe des compétences d'organisation des tâches, de gestion des problèmes et le statut de l'erreur prend une autre dimension, qui n'est pas celle de la faute, mais plutôt d'un essai non concluant.  
Cet espace se trouve au milieu de l'interface. Si un objet est choisi dans la [[Scratch#Libraire_d'objets |librairie]] toute commande s'applique sur l'objet même.
* '''Scripts liés aux objets'''
Cet espace espace se trouve au milieu de l'interface. On y accède en cliquant l'onglet au dessus. C'est l'espace de travail pour construire les scripts en ajoutant des commandes, actions, propriétés et variables pour les objets mêmes. Leur ''mise en scène'' est fait dans l'espace scripts de la scène même.
* '''Costumes'''
Cet espace espace se trouve au milieu de l'interface. On y accède en cliquant l'onglet au dessus. Ici on peut donner aux objets dans la librairie des apparences différentes qui peuvent être après manipulées par les commandes insérées dans les <a href="#script">scripts</a.
* '''Sons liés aux objets'''
On a l'option d'importer un fichier son (mpeg) ou d'enregistrer un nouveau son utilisant le micro de l'ordinateur et l’insérer de suite dans un <a href="#script">script</a> lié à un objet, p. ex. des paroles, un feedback sonore. Tous les sons enregistrés devient disponibles à être importés ultérieurement.


====Librairie d'objets====
=== Histoire ===
* Dessiner un nouvel objet
Le groupe Lifelong Kindergarten du Media Lab de MIT, dirigé par Mitchel Resnick, en partenariat avec  l'entreprise the Playful Invention Company (Montreal), fondée par Brian Silverman et Paula Bonta, ont développé une première version de Scratch en 2003. Scratch implémente d’une manière dynamique le langage de programmation Smalltalk fondé sur Squeak.<ref name="Wikipédia">[https://fr.wikipedia.org/wiki/Scratch_(langage)], Wikipédia.</ref> La dernière version, sortie en janvier 2019, est programmée en JavaScript. Le code est sous licence [[Licences Creative Commons et Copyleft|Creative Common.]]
* Choisir un objet existant
* Obtenir un objet surprise (aléatoire selon ce qui existe déjà)


====La scène====
Pour les chercheurs et ingénieurs du MIT Media lab, l'idée de créer un langage de programmation aussi simple d'utilisation que les blocs est venu suite à leur nombreuses collaboration avec Lego pour développer les LegoMeindstroms et autres kits de robotiques. L'idée était de transposer la manière dont les enfants jouent avec les briques de Lego dans un langage de programmation pour le rendre accessible aux plus jeunes et aux plus néophytes. Le design des briques permet de comprendre simplement lesquelles sont utilisables ensemble et la manière de les associer. Le but est de pouvoir essayer d'assembler les blocs de multiples manières en les associant ou dissociant facilement. Le terme même de Scratch fait référence aux DJ de Hip hop qui "bricolent" avec la musique en jouant avec les vinyles afin de créer de nouveaux morceaux en les mélangeant de manière créative, tout comme il est possible de le faire avec les blocs de programmation.
En haut à gauche on trouve la scène principale sur laquelle on place les objets en composant des scripts pour contrôler les actions et les faire interagir (apparaitre, disparaitre, bouger, etc.).
Au dessus de la scène se trouvent les contrôles qui permettent de lancer et d'arrêter l'animation et donc la tester.


== Usages ==
=== Principe ===
===Étudiants===
C'est “un logiciel de programmation visuelle" (VPL) destiné principalement aux enfants, mais aussi aux adolescents, qui permet de créer facilement des histoires interactives, des jeux et des animations. Scratch a été développé dans le but que les personnes qui l'utilisent puissent se l'approprier et y ajouter leur propre contenu. Les développeurs partent du principe que plus les utilisateurs peuvent développer leur propre projet, avec leur propre matériel, plus ils auront envie de l'utiliser et de l'explorer. C'est pour cette raison qu'en développant Scratch, la diversité et la personnalisation sont des éléments incontournables qui influences les décisions de développement.  
En utilisant Scratch, les étudiants peuvent construire des projets et apprendre les concepts de base de la programmation. Vu que ces projets peuvent eux mêmes être basés sur une thématique sous exploration dans un contexte scolaire, l'utilisation de Scratch peut répondre à plusieurs objectifs d'apprentissage dans une approche de [[Apprentissage par projet|pédagogie par projet]].


===Enseignants===
Dans le processus de conception et de programmation des projets de Scratch, les jeunes apprennent à penser de façon créative, à raisonner systématiquement, et travailler en collaboration".<ref>[https://fr.flossmanuals.net/initiation-a-scratch/quest-ce-que-scratch//], FlossManual.</ref>
Grâce à facilité du logiciel et de l'accessibilité de son interface beaucoup d'enseignant utilisent Scratch pour construire leur propres visualisations et animations interactives pour présenter à leurs étudiants des concepts complexes.  
Aujourd'hui, Scratch compte plus de 20 millions de projets partagé et 17 million d'utilisateurs (au 01/03/2017).<ref name="Scratch_wiki">[https://fr.scratch-wiki.info/wiki/Discussion_Scratch_Wiki_en_Français:Accueil_de_la_Communauté] , Scratch_wiki.</ref>


===Les chercheurs en sciences de l'éducation===
=== Communauté ===
Scratch est fondé sur une approche d'apprentissage par design ([http://edutechwiki.unige.ch/en/learning_by_design learning by design]), ancré dans une pédagogie [http://edutechwiki.unige.ch/en/Constructivism constructioniste]. Des [http://info.scratch.mit.edu/Educators références et des ressources] pour les enseignants et les chercheurs sont mises à disposition sur leur site.
Scratch a pour slogan « Imagine, Programme, Partage ! ». Le partage est en élément central de la pédagogie de Scratch, que donne aussi la possibilité aux utilisateurs de “recycler des projets existants pour en inventer de nouveaux”. Scratch est “un environnement de développement, de site web, et un lecteur de scripts Scratch” <ref name="Scratch_wiki" /> Il permet de rendre utilisable en ligne les projets réalisés, au moyen du plugin Adobe Flash Player lequel transforme les projets Scratch en applications web.<ref name="Wikipédia" />


== Teléchargement et installation ==
Une communauté hébergée sur le site de Scratch permet de partager les créations avec d'autres participants tout autour du monde. Scratch a comme priorité que cette communauté soit positive, encourageante et motivante en demandant à ses membres de respecter [https://scratch.mit.edu/community_guidelines Règles de conduite de la communauté].
Scratch est libre à [http://fr.freedownloadmanager.org/Windows-PC/Scratch-2-Offline-Editor-GRATUIT.html télécharger] et peut être installé sur Mac, Windows et Ubuntu (Linux). Le choix de langue se fait depuis l'interface du logiciel.
*[http://info.scratch.mit.edu/Support/Get_Started Commencer avec Scratch] - installation et [http://scratchfr.free.fr/k1n8g7/ScratchRefGuidefrv14A4.pdf guide] de mise en route (choix de langue depuis le menu à droite de la page).


Les projets créés en Scratch peuvent être enregistrés dans un format natif à Scratch (.sb file extension), visionnés et modifiés ou exporté en format Flash (.swf) et intégrés dans une page web.
=== Objectifs ===
Scratch a pour objectif l'enseignement de la programmation aux enfants et adolescents, en mettant en œuvre visuellement des concepts de base tels que les boucles, les tests, les affectations de variables. Il est dynamique tant qu’il permet de modifier le code du programme en cours d'exécution. Le code est inscrit sous forme de briques en couleurs en plusieurs langues, donnant la possibilité à l’enfant de choisir sa langue maternelle.


L'installation par défaut inclut plusieurs exemples de projets et une grande sélection de sons et d'objet graphiques que l'on peut importer dans la librairie d'un projet pour démarrer.
En utilisant Scratch, les enfants apprennent aussi à découper une tâche en sous-tâches et à résoudre des problèmes selon les principes de la [[pensée computationnelle]].  


== Examples ==
Au-delà de cet objectif principal et initial, Scratch permet de développer des applications qui peuvent avoir elle-mêmes des objectifs pédagogiques et être utilisées dans des environnements pédagogiques.
* Une vidéo de Scratch utilisé en classe avec un tableau interactif [http://scratched.media.mit.edu/resources/scratch-%C3%A0-la-maternelle in preschool]
* Plein de projets et de ressources sont disponible depuis le site [http://scratched.media.mit.edu/stories ScratchEd] (vidéos, témoignages, propositions d'activités).


== Tutoriels ==
=== Blocs ===
* [http://info.scratch.mit.edu/fr/Support/Scratch_Cards Cartes Scratch] - un moyen rapide d'apprendre les instructions de programmation de Scratch
{| class="wikitable centre" style="width:60%;"
* [http://scratched.media.mit.edu/resources/search/results/taxonomy%3A37 Tutoriels] - Collection de tutoriels et projets pour apprendre à programmer avec Scratch (anglais et français)
|+ Les couleurs des blocs, leur signification, fonctionnalités et les éléments
* [http://webpages.uncc.edu/krs/courses/1214/software_tools/scratch/ScratchReferenceGuide.pdf Reference Guide]
|-
! scope="col" | Couleur
! scope="col" | Signification
! scope="col" | Fonctionnalités
! scope="col" | Elements
! scope="col" | Exemple


=== Tutoriel d'introduction pour les FEP ===
|-
==== Dessiner des formes et créer une interaction ====
| style="width:15%;" |
*Vu globale de l'[[Scratch#Interface_de_Scratch | interface]]
Bleu foncé
*Ouvrez un nouveau fichier
| style="width:15%;" |
*Créer ou importer un objet (sprite) - un crayon
Mouvements
**fichiers existants
| style="width:45%;" |
**nouveau (ou modifier un objet existant)
Ces blocs reprennent tous les déplacements possibles du lutin, ainsi que des blocs pour connaître sa position à tout moment dans la scène. Certains permettent de faire pivoter le lutin sur lui-même (le faire tourner).
**Costumes - changer l'apparence des objets (taille, couleur)
| style="width:15%;" |
**nommer l'objet
move, turn, go to, rotation
| style="width:15%;" |
[[Fichier:Move-scratch-28-01-2020.png|100px|centré]]
|-
| style="width:15%;" |
Violet
| style="width:15%;" |
Apparence
| style="width:45%;" |
Ces blocs servent à modifier temporairement ou définitivement l'apparence des lutins.
| style="width:15%;" |
say, think, change color, change size
| style="width:15%;" |
[[Fichier:Say-scratch-28-01-2020.png|120px|centré]]
|-
| style="width:15%;" |
Rose
| style="width:15%;" |
Son
| style="width:45%;" |
Ces blocs permettent de jouer des sons.
| style="width:15%;" |
play sound, set volume, change volume
| style="width:15%;" |
[[Fichier:Moew-scratch-28-01-2020.png|120px|centré]]
|-
| style="width:15%;" |
Jaune
| style="width:15%;" |
Evénements
| style="width:45%;" |
Ces blocs servent pour la plupart à lancer un script quand il se passe une action précise ; les autres servent à déclencher ces événements.
| style="width:15%;" |
when X then ..., broadcast
| style="width:15%;" |
[[Fichier:Events-Scratch-28-01-2020.png|120px|centré]]
|-
| style="width:15%;" |
Orange clair
| style="width:15%;" |
Contrôle
| style="width:45%;" |
Ces blocs servent pour la plupart à lancer un script quand il se passe une action précise ; les autres servent à déclencher ces événements.
| style="width:15%;" |
wait, repeat, if - else
| style="width:15%;" |
[[Fichier:Control-Scratch-28-01-2020.png|120px|centré]]
|-
| style="width:15%;" |
Bleu clair
| style="width:15%;" |
Capteurs
| style="width:45%;" |
Ces blocs servent à mesurer ou détecter certaines valeurs, mais aussi à poser des questions.
| style="width:15%;" |
touching color, mouse X, mouse Y
| style="width:15%;" |
[[Fichier:Sensing-Scratch-28-01-2020.png|120px|centré]]
|-
| style="width:15%;" |
Vert
| style="width:15%;" |
Opérateurs
| style="width:45%;" |
Ces blocs servent à effectuer des opérations mathématiques, à générer l'aléatoire et à analyser des chaînes de caractères.
| style="width:15%;" |
+, -, <, >, and, or, not
| style="width:15%;" |
[[Fichier:Operators-Scratch-28-01-2020.png|100px|centré]]
|-
| style="width:15%;" |
Orange foncé
| style="width:15%;" |
Variables
| style="width:45%;" |
Ces blocs permettent de gérer et créer des variables, qui sont des objets contenant une valeur.
| style="width:15%;" |
set "my variable" to
| style="width:15%;" |
[[Fichier:Variable-scratch-28-01-2020.png|120px|centré]]
|}


*Créer un script qui dessine un triangle
== ScratchED ==
**tester avec les contrôles
Lors de sa création, Scratch avait été conçu comme outil d'aide à l'apprentissage de la programmation en tant qu'activité personnelle et en dehors des bancs de l'école. Ce projet n'a donc pas été conçu, à la base, pour les éducateurs souhaitant intégrer la programmations dans leurs programmes. Cependant, depuis 2007, grâce à la croissante demande des éducateurs d'avoir la possibilité d'implémenter Scratch dans des programmes éducatifs, Karen Brennan, à l'époque étudiante de troisième cycle (''graduate student'') du MIT a commencé à développer un environnement qui pouvait répondre à ces besoins. C'est ainsi que ScratchED a pu se développer. Le site ScratchED pour les éducateurs a été mis en ligne en l'été 2009 et a permis aux enseignants intéressés, ou travaillant déjà activement avec Scratch, de pouvoir utiliser ce site pour partager des histoires, échanger des ressources, poser et répondre à des questions, et trouver d'autres éducateurs intéressés par les mêmes sujets. Pour le développement du site, Karen Brennan s'est inspirée à d'autres communauté en ligne dédiée aux enseignants, comme [https://tappedin.org/ Tapped In] (communauté en ligne internationale de professionnels de l'éducation, fermée depuis 2013), ''Inquiry Learning Forum'' (communauté pour les éducateurs K-12 et les étudiants universitaires, qui désormais n'existe plus), ou WIDE World (programme de Harvard, qui proposait des cours de perfectionnement professionnel en ligne pour les enseignants, elle aussi non plus existante). Pendant les 10 ans qui ont suivi le lancement du site, 27169 éducateurs du monde entier ont rejoint la communauté en ligne ScratchEd et ont contribué à 354 histoires, 1027 ressources et 4749 messages de discussion. De mai 2009 à mai 2019, le site a reçu 10,35 millions de pages vues par 2,5 millions de visiteurs uniques (Karen Brennan, article consulté sur http://scratched.gse.harvard.edu/about.html, le 03/05/2020).
***faire apparaître (montrer) et cacher l'objet
**manipuler le mouvement - bouger le stylo et tracer un triangle
***avancer
**tourner
*Gérer le temps
*Répéter les actions
*Changer l'apparence des objets 
** stylo - changer la couleur du trait
** capteurs - ajouter un champs texte à saisir
** opérateurs - créer une condition
** ajouter du son
* Dupliquer et modifier les objets et scripts
** gérer l'action depuis la scène
*** ajouter des actions à la scène
*** tester et déboguer
[http://tecfa.unige.ch/tecfa/teaching/formcont/certificatElearning/ateliersWebMast/AtelierScratch/shapes_26.sb Projet terminé] à télécharger.


== Communauté ==
En début de 2019, Karen Brennan a décidé de transformer le site ScratchED en archive statique pour se dédier à d'autres projets visant à supporter des enseignants souhaitant travailler avec Scratch. Elle a donc crée le [http://scratched.gse.harvard.edu/guide/ ''Creative Computing Curriculum''] et les [https://meetups.gse.harvard.edu/ ''Scratch Educator Meetups'']. Bien que il ne soit plus possible s'inscrire au site ScratchEd et y contribuer activement, toutes les ressources continuent à êtres disponibles pour être explorés.
Scratch a une large communauté de développeurs, enseignant et étudiants qui partagent leur projets, ressources et idées.


===Communauté d'étudiants===
===Creative Computing Curriculum===
Depuis l'interface de Scratch, les étudiants peuvent directement partager leur projets via le site [http://scratch.mit.edu/ Scratch website] et les poster sur une des pages de galleries ou projects pages. Les projets partagés peuvent être téléchargés et modifiés par les membres de la communauté.  
Le [http://scratched.gse.harvard.edu/guide/ ''Creative Computing Curriculum''] a été développée par les membres du [http://creativecomputing.gse.harvard.edu/ Creative Computing Lab] de la [https://www.gse.harvard.edu/ Harvard Graduate School of Education] - principalement Christan Balch, Michelle Chung et Karen Brennan. Le programme d'études pour Scratch 3.0 et le site web du curriculum ont été réalisés par Laura Peters.


===Communauté d'enseignants===
Le ''Creative Computing Curriculum'' est une collection de stratégies, suggestions, et activités pour les éducateurs afin de les aider à concevoir une expérience d'introduction à la programmation créative en utilisant le langage de programmation visuelle de Scratch. Les activités sont conçues pour aider à se familiariser et à accroître la maîtrise de la créativité computationnelle et de la [[pensée computationnelle]]. La dernière édition du curriculum comprend des images de blocs et de projets, ainsi que des révisions mineures du contenu pour refléter le nouveau site web Scratch 3.0. Cette édition du curriculum est également disponible dans [https://docs.google.com/presentation/d/e/2PACX-1vTejqFgcPqVm6X5Kbi54b-otyJps8gg43W6Lhk5036ZYvROPX_ywq35tgLKjhkVUv2b3RPGzBVL-4jg/pub?start=false&loop=false&delayms=3000&slide=id.g5b8ca8650d_0_0 Google Slides] sous forme d'unités individuelles, d'activités ou de programme complet.
[http://scratched.media.mit.edu/ ScratchEd] est une communauté en ligne active où les enseignants peuvent partager leurs expériences, ainsi que leurs leçons,  et les ressources, projets ou tutoriels qu'ils ont créé et souhaitent mettre à la disposition de la communauté.


==Links==
Le curriculum est composé de 7 unités (plus une Introduction et une Appendix) :
*[http://scratch.mit.edu/projects/relyt12101/125297 History of Scratch] fait avec Scratch (e anglais)
# Unité 0 : Démarrage (''Getting Started'')
# Unité 1 : Exploration (''Exploring'')
# Unité 2 : Animations (''Animations'')
# Unité 3 : Histoires (''Stories'')
# Unité 4 : Jeux (''Games'')
# Unité 5 : Aller plus loin (''Diving Deeper'')
# Unité 6 : Hackathon (''Hackathon'')
 
Les activités du curriculum sont conçues pour aider les élèves à se familiariser et à mieux maîtriser la créativité et la pensée computationnelle, tout en s'appuyant sur leur créativité et leurs intérêts personnels. En particulier, les activités encouragent l'exploration des concepts clés de la pensée computationnelle (séquence, boucles, événements, conditions, opérateurs, données) et des pratiques clés de la pensée computationnelle (expérimentation et itération, test et débogage, réutilisation et remixage, abstraction et modularisation).
 
===Scratch Educator Meetups===
Comme le ''Creative Computing Curriculum'', les [https://meetups.gse.harvard.edu/ ''Scratch Educator Meetups''] (rencontres d'éducateurs Scratch) ont été développé par les membres du [http://creativecomputing.gse.harvard.edu/ Creative Computing Lab] de la [https://www.gse.harvard.edu/ Harvard Graduate School of Education]
 
Les ''Scratch Educator Meetups'' sont des expériences d'apprentissage professionnel pour les éducateurs qui souhaitent enseigner avec l'environnement de programmation visuelle de Scratch. Durant ces événements les éducateurs peuvent partager leurs expériences et rencontrer des autres éducateurs, explorer et apprendre en travaillant sur des projets Scratch, participer à des défis, et réfléchir aux manières d'appliquer ces nouvelles connaissances dans leur environnement professionnel, notamment dans leur classe. Ces événement réunissent des éducateurs de provenance différente
(écoles, musées, bibliothèques), avec des profils variés (école maternelle, primaire, secondaire, d'informatique ou de sciences sociales ou visuelles) et différents dégrées d'expertise avec Scratch (novices ou avancés).
 
Les événements sont organisés régulièrement dans tout le monde, surtout aux États-Unis.
 
== Scratch Jr. ==
Scratch Jr. est une version simplifiée de Scratch pour tablettes iOS, Androïdes ou Chrombook. Contrairement à Scratch, la version pour tablette utilise des blocs de programmation qui ne contiennent pas d'écriture. Cela permet aux enfants plus jeunes, souvent non-lecteurs, de pouvoir programmer à l'aide de symboles. En effet, à la place d'avoir un bloc "avancer de 10 pas" comme sur Scratch, le bloc contiendra une flèche avec un espace pour noter le nombre de pas. Si l'enfant ne maîtrise pas les nombres, il peut simplement aligner autant de fois qu'il le souhaite le même bloc pour que son personnage avance.
 
Scratch Jr. offre moins de familles de blocs que Scratch, mais les couleurs gardent la même signification sur les deux plateformes, ce qui permet de passer aisément de l'une à l'autre.
 
<gallery>
Fichier:Bloc ScratchJr.png|Bloc ScratchJr permettant de programmer les mouvements
Fichier:Bloc Scratch.png|Bloc Scratch permettant de programmer les mouvements
</gallery>
 
Avec l'apparition des tablettes dans les écoles, ScratchJr devient un outil fréquemment utilisé pour initier les enfants à la programmation.<ref>[https://fr.wikipedia.org/wiki/ScratchJr], Wikipédia.</ref>
 
 
== Scratch et le Constructionnisme ==
'''(Section à compléter)'''
 
Le [[constructionnisme]] affirme que le [[constructivisme]] fonctionne particulièrement bien lorsque l'apprenant est engagé dans la construction de quelque chose avec une signification personnelle ou sociale (Bruckman, 2006 ; Papert, 1980, évoqués par Brennan, 2015), qui est développé grâce à des interactions avec d'autres personnes (Papert, 1980 ; Rogoff, 1994, évoqués par Brennan, 2015), et qui favorise la réflexion sur sa propre pensée (Kolodner et al., 2003 ; Papert, 1980 évoqués par Brennan, 2015). Brennan souligne que l'apprentissage par les activités de conception, personnalisation, partage et réflexion sont essentiels à la conception d'environnements d'apprentissage constructionnistes (Brennan, 2015). Elle soutient également que toute description du constructionnisme ne peut pas être suffisante aux enseignants pour qu'ils puissent traduire la théorie en pratique dans la conception d'expériences d'apprentissage constructionnistes. Pour ce faire, ScratchEd d'abord, et les Scratch Educator Meetups et le Creative Computing Curriculum par la suite, ont pu créer des opportunités pour les communautés d'enseignants de s'engager dans les mêmes activités de conception, de personnalisation, de partage et de réflexion sur ces thématiques.
 
Les enseignants intéressés ou travaillant déjà activement avec Scratch ont pu utiliser ScratchEd pour partager des histoires, échanger des ressources, ou poser et répondre à des questions avec la communauté en ligne. Cependant, bien qu'en supportant les besoins des enseignants d'avoir des ressources et pouvoir partager leurs expériences, Scratch ED ne pouvait pas fournir et assurer des expériences constructionnistes (Brennan, 2015). C'est pour mieux supporter le développement professionnel des éducateurs que Brennan a conçu les Scratch Educator Meetups. La communauté en ligne et les meetups mettent l'accent sur la réflexion sur les approches constructionnistes de l'apprentissage plutôt que sur la réflexion sur la mécanique du Scratch en tant qu'outil (Brennan, 2015).
 
== Versions de Scratch ==
 
* [[Scratch 1.0]] : logiciel desktop
* [[Scratch 2.0]] : application web en [[Flash]]/[[AS3 - Survol du langage ActionScript|ActionScript]]
* [[Scratch 3.0]] : application web [[HTML5]]/[[JavaScript]]
* [https://www.scratchjr.org/ ScratchJr] : application Os/Android/Google Chrome pour jeunes enfants (5 à 7 ans)
 
[[catégorie: micromondes]]
 
== Liens==
* [https://fr.scratch-wiki.info/ Page Wiki] de Scratch en français.
* [http://scratched.gse.harvard.edu/about.html ScratchED], consulté le 03/05/2020
* [http://scratched.gse.harvard.edu/ct/ Computational thinking with Scratch], consulté le 03/05/2020
* [https://meetups.gse.harvard.edu/index.html Scratch Educator Meetups]
 
==Bibliographie==
* Brennan K. (2015) Beyond technocentrism: Supporting constructionism in the classroom. ''Constructivist Foundations 10(3)'': 289–296. http://constructivist.info/10/3/289
* Boyer, J.T. Using Scratch for learner-constructed multimedia: A design-based research inquiry of constructionism in practice. Ph.D. thesis, University of Florida. ProQuest Dissertations Publishing, 2010.
* Baranauskas C. M., Gutierrez Posada, J. E. (2017). Tangible and Shared Storytelling: Searching for the Social Dimension of Constructionism. In ''Proceedings of the 2017 Conference on Interaction Design and Children (IDC ’17). Association for Computing Machinery'', New York, NY, USA, 193–203. DOI:https://doi.org/10.1145/3078072.3079743
 
== Ressources==
* '''Creative Computing Curriculum''' complet, disponible sur [https://docs.google.com/presentation/d/e/2PACX-1vTejqFgcPqVm6X5Kbi54b-otyJps8gg43W6Lhk5036ZYvROPX_ywq35tgLKjhkVUv2b3RPGzBVL-4jg/pub?start=false&loop=false&delayms=3000&slide=id.g5b8ca8650d_0_0 Google Slides]
 
== Références ==


== References ==
<references/>
[[Category:Technologies]]
[[Category:Technologies]]
[[Category:Programmation]]
[[Category:Programmation]]
[[Category:Outils_auteur]]
[[Category:Outils_auteur]]
[[Catégorie: Education au numérique]]
[[Catégorie: Ressources STIC]]
[[Catégorie: Aspects théoriques de la pensée computationnelle]]


 
<references />
[[Catégorie: Education au numérique]]

Dernière version du 6 mai 2020 à 22:43

En préparation : Page d'introduction général à Scratch d'un point de vue théorique/conceptuel. Pour approche technique voir les pages des différentes versions.

Idéalement cette page devrait proposer :

  • Présentation du projet Scratch (histoire, finalité, etc.)
  • Exemples d'application dans contexte pédagogique

Introduction

Scratch est un langage de programmation visuel (VPL). Le site web permet de programmer, d'enregistrer et de partager les réalisations, simplement en créant un compte gratuit.

Scratch permet aux enfants et adolescents d'appréhender les nouvelles technologies et de comprendre ce qu'il se passe réellement lorsqu'ils les utilisent. Le constat a été rapidement fait, que même si on se réfère aux adolescents comme à des "digital native" peu d'entre eux sont capables de créer leur propre jeu, applications ou simulations. C'est "comme s'ils pouvaient lire, mais pas écrire"[1]. L'habileté numérique n'inclue pas seulement la capacité à écrire des messages, faire des recherches sur internet ou communiquer, mais aussi toutes les compétences de design, de création et d'inventivité que permettent de développer les nouveaux médias. Pour atteindre ce but, il est nécessaire de développer des compétences en programmation.

L'habileté à programmer devient aussi une compétence transversale et ainsi transposable dans d'autres domaines. En programmant, on développe des compétences d'organisation des tâches, de gestion des problèmes et le statut de l'erreur prend une autre dimension, qui n'est pas celle de la faute, mais plutôt d'un essai non concluant.

Histoire

Le groupe Lifelong Kindergarten du Media Lab de MIT, dirigé par Mitchel Resnick, en partenariat avec l'entreprise the Playful Invention Company (Montreal), fondée par Brian Silverman et Paula Bonta, ont développé une première version de Scratch en 2003. Scratch implémente d’une manière dynamique le langage de programmation Smalltalk fondé sur Squeak.[2] La dernière version, sortie en janvier 2019, est programmée en JavaScript. Le code est sous licence Creative Common.

Pour les chercheurs et ingénieurs du MIT Media lab, l'idée de créer un langage de programmation aussi simple d'utilisation que les blocs est venu suite à leur nombreuses collaboration avec Lego pour développer les LegoMeindstroms et autres kits de robotiques. L'idée était de transposer la manière dont les enfants jouent avec les briques de Lego dans un langage de programmation pour le rendre accessible aux plus jeunes et aux plus néophytes. Le design des briques permet de comprendre simplement lesquelles sont utilisables ensemble et la manière de les associer. Le but est de pouvoir essayer d'assembler les blocs de multiples manières en les associant ou dissociant facilement. Le terme même de Scratch fait référence aux DJ de Hip hop qui "bricolent" avec la musique en jouant avec les vinyles afin de créer de nouveaux morceaux en les mélangeant de manière créative, tout comme il est possible de le faire avec les blocs de programmation.

Principe

C'est “un logiciel de programmation visuelle" (VPL) destiné principalement aux enfants, mais aussi aux adolescents, qui permet de créer facilement des histoires interactives, des jeux et des animations. Scratch a été développé dans le but que les personnes qui l'utilisent puissent se l'approprier et y ajouter leur propre contenu. Les développeurs partent du principe que plus les utilisateurs peuvent développer leur propre projet, avec leur propre matériel, plus ils auront envie de l'utiliser et de l'explorer. C'est pour cette raison qu'en développant Scratch, la diversité et la personnalisation sont des éléments incontournables qui influences les décisions de développement.

Dans le processus de conception et de programmation des projets de Scratch, les jeunes apprennent à penser de façon créative, à raisonner systématiquement, et travailler en collaboration".[3] Aujourd'hui, Scratch compte plus de 20 millions de projets partagé et 17 million d'utilisateurs (au 01/03/2017).[4]

Communauté

Scratch a pour slogan « Imagine, Programme, Partage ! ». Le partage est en élément central de la pédagogie de Scratch, que donne aussi la possibilité aux utilisateurs de “recycler des projets existants pour en inventer de nouveaux”. Scratch est “un environnement de développement, de site web, et un lecteur de scripts Scratch” [4] Il permet de rendre utilisable en ligne les projets réalisés, au moyen du plugin Adobe Flash Player lequel transforme les projets Scratch en applications web.[2]

Une communauté hébergée sur le site de Scratch permet de partager les créations avec d'autres participants tout autour du monde. Scratch a comme priorité que cette communauté soit positive, encourageante et motivante en demandant à ses membres de respecter Règles de conduite de la communauté.

Objectifs

Scratch a pour objectif l'enseignement de la programmation aux enfants et adolescents, en mettant en œuvre visuellement des concepts de base tels que les boucles, les tests, les affectations de variables. Il est dynamique tant qu’il permet de modifier le code du programme en cours d'exécution. Le code est inscrit sous forme de briques en couleurs en plusieurs langues, donnant la possibilité à l’enfant de choisir sa langue maternelle.

En utilisant Scratch, les enfants apprennent aussi à découper une tâche en sous-tâches et à résoudre des problèmes selon les principes de la pensée computationnelle.

Au-delà de cet objectif principal et initial, Scratch permet de développer des applications qui peuvent avoir elle-mêmes des objectifs pédagogiques et être utilisées dans des environnements pédagogiques.

Blocs

Les couleurs des blocs, leur signification, fonctionnalités et les éléments
Couleur Signification Fonctionnalités Elements Exemple

Bleu foncé

Mouvements

Ces blocs reprennent tous les déplacements possibles du lutin, ainsi que des blocs pour connaître sa position à tout moment dans la scène. Certains permettent de faire pivoter le lutin sur lui-même (le faire tourner).

move, turn, go to, rotation

Move-scratch-28-01-2020.png

Violet

Apparence

Ces blocs servent à modifier temporairement ou définitivement l'apparence des lutins.

say, think, change color, change size

Say-scratch-28-01-2020.png

Rose

Son

Ces blocs permettent de jouer des sons.

play sound, set volume, change volume

Moew-scratch-28-01-2020.png

Jaune

Evénements

Ces blocs servent pour la plupart à lancer un script quand il se passe une action précise ; les autres servent à déclencher ces événements.

when X then ..., broadcast

Events-Scratch-28-01-2020.png

Orange clair

Contrôle

Ces blocs servent pour la plupart à lancer un script quand il se passe une action précise ; les autres servent à déclencher ces événements.

wait, repeat, if - else

Control-Scratch-28-01-2020.png

Bleu clair

Capteurs

Ces blocs servent à mesurer ou détecter certaines valeurs, mais aussi à poser des questions.

touching color, mouse X, mouse Y

Sensing-Scratch-28-01-2020.png

Vert

Opérateurs

Ces blocs servent à effectuer des opérations mathématiques, à générer l'aléatoire et à analyser des chaînes de caractères.

+, -, <, >, and, or, not

Operators-Scratch-28-01-2020.png

Orange foncé

Variables

Ces blocs permettent de gérer et créer des variables, qui sont des objets contenant une valeur.

set "my variable" to

Variable-scratch-28-01-2020.png

ScratchED

Lors de sa création, Scratch avait été conçu comme outil d'aide à l'apprentissage de la programmation en tant qu'activité personnelle et en dehors des bancs de l'école. Ce projet n'a donc pas été conçu, à la base, pour les éducateurs souhaitant intégrer la programmations dans leurs programmes. Cependant, depuis 2007, grâce à la croissante demande des éducateurs d'avoir la possibilité d'implémenter Scratch dans des programmes éducatifs, Karen Brennan, à l'époque étudiante de troisième cycle (graduate student) du MIT a commencé à développer un environnement qui pouvait répondre à ces besoins. C'est ainsi que ScratchED a pu se développer. Le site ScratchED pour les éducateurs a été mis en ligne en l'été 2009 et a permis aux enseignants intéressés, ou travaillant déjà activement avec Scratch, de pouvoir utiliser ce site pour partager des histoires, échanger des ressources, poser et répondre à des questions, et trouver d'autres éducateurs intéressés par les mêmes sujets. Pour le développement du site, Karen Brennan s'est inspirée à d'autres communauté en ligne dédiée aux enseignants, comme Tapped In (communauté en ligne internationale de professionnels de l'éducation, fermée depuis 2013), Inquiry Learning Forum (communauté pour les éducateurs K-12 et les étudiants universitaires, qui désormais n'existe plus), ou WIDE World (programme de Harvard, qui proposait des cours de perfectionnement professionnel en ligne pour les enseignants, elle aussi non plus existante). Pendant les 10 ans qui ont suivi le lancement du site, 27169 éducateurs du monde entier ont rejoint la communauté en ligne ScratchEd et ont contribué à 354 histoires, 1027 ressources et 4749 messages de discussion. De mai 2009 à mai 2019, le site a reçu 10,35 millions de pages vues par 2,5 millions de visiteurs uniques (Karen Brennan, article consulté sur http://scratched.gse.harvard.edu/about.html, le 03/05/2020).

En début de 2019, Karen Brennan a décidé de transformer le site ScratchED en archive statique pour se dédier à d'autres projets visant à supporter des enseignants souhaitant travailler avec Scratch. Elle a donc crée le Creative Computing Curriculum et les Scratch Educator Meetups. Bien que il ne soit plus possible s'inscrire au site ScratchEd et y contribuer activement, toutes les ressources continuent à êtres disponibles pour être explorés.

Creative Computing Curriculum

Le Creative Computing Curriculum a été développée par les membres du Creative Computing Lab de la Harvard Graduate School of Education - principalement Christan Balch, Michelle Chung et Karen Brennan. Le programme d'études pour Scratch 3.0 et le site web du curriculum ont été réalisés par Laura Peters.

Le Creative Computing Curriculum est une collection de stratégies, suggestions, et activités pour les éducateurs afin de les aider à concevoir une expérience d'introduction à la programmation créative en utilisant le langage de programmation visuelle de Scratch. Les activités sont conçues pour aider à se familiariser et à accroître la maîtrise de la créativité computationnelle et de la pensée computationnelle. La dernière édition du curriculum comprend des images de blocs et de projets, ainsi que des révisions mineures du contenu pour refléter le nouveau site web Scratch 3.0. Cette édition du curriculum est également disponible dans Google Slides sous forme d'unités individuelles, d'activités ou de programme complet.

Le curriculum est composé de 7 unités (plus une Introduction et une Appendix) :

  1. Unité 0 : Démarrage (Getting Started)
  2. Unité 1 : Exploration (Exploring)
  3. Unité 2 : Animations (Animations)
  4. Unité 3 : Histoires (Stories)
  5. Unité 4 : Jeux (Games)
  6. Unité 5 : Aller plus loin (Diving Deeper)
  7. Unité 6 : Hackathon (Hackathon)

Les activités du curriculum sont conçues pour aider les élèves à se familiariser et à mieux maîtriser la créativité et la pensée computationnelle, tout en s'appuyant sur leur créativité et leurs intérêts personnels. En particulier, les activités encouragent l'exploration des concepts clés de la pensée computationnelle (séquence, boucles, événements, conditions, opérateurs, données) et des pratiques clés de la pensée computationnelle (expérimentation et itération, test et débogage, réutilisation et remixage, abstraction et modularisation).

Scratch Educator Meetups

Comme le Creative Computing Curriculum, les Scratch Educator Meetups (rencontres d'éducateurs Scratch) ont été développé par les membres du Creative Computing Lab de la Harvard Graduate School of Education

Les Scratch Educator Meetups sont des expériences d'apprentissage professionnel pour les éducateurs qui souhaitent enseigner avec l'environnement de programmation visuelle de Scratch. Durant ces événements les éducateurs peuvent partager leurs expériences et rencontrer des autres éducateurs, explorer et apprendre en travaillant sur des projets Scratch, participer à des défis, et réfléchir aux manières d'appliquer ces nouvelles connaissances dans leur environnement professionnel, notamment dans leur classe. Ces événement réunissent des éducateurs de provenance différente (écoles, musées, bibliothèques), avec des profils variés (école maternelle, primaire, secondaire, d'informatique ou de sciences sociales ou visuelles) et différents dégrées d'expertise avec Scratch (novices ou avancés).

Les événements sont organisés régulièrement dans tout le monde, surtout aux États-Unis.

Scratch Jr.

Scratch Jr. est une version simplifiée de Scratch pour tablettes iOS, Androïdes ou Chrombook. Contrairement à Scratch, la version pour tablette utilise des blocs de programmation qui ne contiennent pas d'écriture. Cela permet aux enfants plus jeunes, souvent non-lecteurs, de pouvoir programmer à l'aide de symboles. En effet, à la place d'avoir un bloc "avancer de 10 pas" comme sur Scratch, le bloc contiendra une flèche avec un espace pour noter le nombre de pas. Si l'enfant ne maîtrise pas les nombres, il peut simplement aligner autant de fois qu'il le souhaite le même bloc pour que son personnage avance.

Scratch Jr. offre moins de familles de blocs que Scratch, mais les couleurs gardent la même signification sur les deux plateformes, ce qui permet de passer aisément de l'une à l'autre.

Avec l'apparition des tablettes dans les écoles, ScratchJr devient un outil fréquemment utilisé pour initier les enfants à la programmation.[5]


Scratch et le Constructionnisme

(Section à compléter)

Le constructionnisme affirme que le constructivisme fonctionne particulièrement bien lorsque l'apprenant est engagé dans la construction de quelque chose avec une signification personnelle ou sociale (Bruckman, 2006 ; Papert, 1980, évoqués par Brennan, 2015), qui est développé grâce à des interactions avec d'autres personnes (Papert, 1980 ; Rogoff, 1994, évoqués par Brennan, 2015), et qui favorise la réflexion sur sa propre pensée (Kolodner et al., 2003 ; Papert, 1980 évoqués par Brennan, 2015). Brennan souligne que l'apprentissage par les activités de conception, personnalisation, partage et réflexion sont essentiels à la conception d'environnements d'apprentissage constructionnistes (Brennan, 2015). Elle soutient également que toute description du constructionnisme ne peut pas être suffisante aux enseignants pour qu'ils puissent traduire la théorie en pratique dans la conception d'expériences d'apprentissage constructionnistes. Pour ce faire, ScratchEd d'abord, et les Scratch Educator Meetups et le Creative Computing Curriculum par la suite, ont pu créer des opportunités pour les communautés d'enseignants de s'engager dans les mêmes activités de conception, de personnalisation, de partage et de réflexion sur ces thématiques.

Les enseignants intéressés ou travaillant déjà activement avec Scratch ont pu utiliser ScratchEd pour partager des histoires, échanger des ressources, ou poser et répondre à des questions avec la communauté en ligne. Cependant, bien qu'en supportant les besoins des enseignants d'avoir des ressources et pouvoir partager leurs expériences, Scratch ED ne pouvait pas fournir et assurer des expériences constructionnistes (Brennan, 2015). C'est pour mieux supporter le développement professionnel des éducateurs que Brennan a conçu les Scratch Educator Meetups. La communauté en ligne et les meetups mettent l'accent sur la réflexion sur les approches constructionnistes de l'apprentissage plutôt que sur la réflexion sur la mécanique du Scratch en tant qu'outil (Brennan, 2015).

Versions de Scratch

Liens

Bibliographie

  • Brennan K. (2015) Beyond technocentrism: Supporting constructionism in the classroom. Constructivist Foundations 10(3): 289–296. http://constructivist.info/10/3/289
  • Boyer, J.T. Using Scratch for learner-constructed multimedia: A design-based research inquiry of constructionism in practice. Ph.D. thesis, University of Florida. ProQuest Dissertations Publishing, 2010.
  • Baranauskas C. M., Gutierrez Posada, J. E. (2017). Tangible and Shared Storytelling: Searching for the Social Dimension of Constructionism. In Proceedings of the 2017 Conference on Interaction Design and Children (IDC ’17). Association for Computing Machinery, New York, NY, USA, 193–203. DOI:https://doi.org/10.1145/3078072.3079743

Ressources

  • Creative Computing Curriculum complet, disponible sur Google Slides

Références

  1. [1], Scratch : Programming for All
  2. 2,0 et 2,1 [2], Wikipédia.
  3. [3], FlossManual.
  4. 4,0 et 4,1 [4] , Scratch_wiki.
  5. [5], Wikipédia.