1. Introduction - Qu'est ce que Snap!

1. Un dérivé de Scratch !

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

2. Snap! dans le monde de l’éducation

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.

3. Snap! pour contrôler Poppy

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.

4. Ressources sur Snap!

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 [ ]: