Snap! est un langage de programmation visuel par blocs.
Snap! est disponible en ligne (sans installation préalable et gratuitement) et s'utilise directement dans le navigateur web (Safari, Firefox, Chrome, ...).
Il s’agit d’une version étendue de Scratch, développé par Jens Mönig au MioSoft Corporation.
Il a été conçu pour éviter aux débutants les pièges fréquents des langages de programmation classiques, comme les erreurs de syntaxe et de cohérence.
Liens utile pour découvrir Scratch en français : http://scratchfr.free.fr/k1n8g7/RGfinalAugust2209/translate_p.html
Snap! et Scratch |
||
---|---|---|
|
|
|
Interface Scratch | Interface Snap! | |
| | |
Site officiel : https://scratch.mit.edu/ | Site officiel : https://snap.berkeley.edu | |
Lancer Scratch : https://scratch.mit.edu/projects/editor/?tip_bar=getStarted | Lancer Snap! : http://snap.berkeley.edu/snapsource/snap.html |
Au lieu d’une saisie de commandes au clavier, la programmation dans Snap! s’effectue en glissant et assemblant des blocs. Cette interface graphique aide les utilisateurs à contrôler facilement la manière dont les différentes commandes interagissent. Par ailleurs, les blocs ne peuvent s’assembler que si cela est logique du point de vue de la programmation.
Snap! vs le langage de programmation Python |
||
---|---|---|
Exemple de code Python | Même exemple en Snap! | |
# Python 3: Fibonacci series up to n >>> def fib(n): >>> a, b = 0, 1 >>> while a < n : >>> print(a, end=' ') >>> a, b = b, a+b >>> print() >>> fib(1000) 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 |
|
Les fonctionnalités de Snap! le rendent approprié pour l’introduire dans l’enseignement niveaux primaire, collège et lycée. Il permet d’aborder des concepts mathématiques et informatiques importants qui améliorent la créativité, la logique, la capacité à résoudre des problèmes et l’aptitude des élèves à travailler en équipe. Snap! aide également à enseigner le français, l’anglais, la musique, les arts plastiques, le design etc… Il favorise l’exploration et l’expérimentation. Il y a donc de nombreuses approches d’apprentissage possibles.
C'est Snap! qui a été choisi pour controler Poppy.
A l'heure actuelle, il existe 2 manières pour s'initier à la robotique et la programmation avec Poppy via Snap!.
Contrôler Poppy avec Snap! |
||
---|---|---|
Poppy simulé avec v-rep | Poppy réel | |
image 1 | image 2 | |
On charge le modèle de Poppy dans v-rep On connect Snap! avec v-rep |
On se connect directement sur le poppy réel et on lance Snap! |
Snap! possède en effet quelques possibilités supplémentaires à Scratch qui lui permettent de faire des actions plus complexes en terme de programmation : la première étant que l'on puisse créer ses propres blocs sous Snap! (voir la document avancée sur Snap! pour apprendre à créer ses porpres blocs). Snap! est ainsi utilisé pour enseigner la programmation dans le supérieur (niveau licence) à l'université de berkeley.
Malheureusement aucune ressources documentaires sur Snap! en français n'est connue à l'heure actuelle.
Sur le site web de Snap! vous trouverai des exemples de programmes écris en Snap! ...
Lien utile : BJC - Beauty and Joy of Computing : http://bjc.berkeley.edu/website/curriculum.html
In [ ]: