Activité Ergo JR : Le langage (work in progress)

##Description générale de l’activité

Titre de l’activité

Le langage : de l’outil de communication à l’instrument de la pensée

Durée :

Une séance de 2 heures et une séance d’une heure à déterminer

Thématique :

Le langage, compréhension par une activité débranchée

Notions concernées :

Langage (ensemble de signes permettant de communiquer) : instrument de la pensée ;
Émetteur et récepteur ;
Séquentiel et concurrentiel ;
Création d’un geste
Donner des instructions par un langage : outil de communication ;
Programmation débranchée ;
Limites du robot et notion d’erreur en robotique.

Objectifs pédagogiques :

  • Approche de l’informatique : le langage et sa nécessité (entre robots, le langage s’appelle aussi protocole de communication) ;
  • Comprendre la logique d’un langage de programmation pour que le passage à Snap! soit facilité ;
  • Approche de l’algorithmique et de la programmation de façon débranchée ;

Utilisateurs ciblés :

Secondes ICN

Prérequis :

Connaissance de ce qu’est le langage (définition) : langage parlé, écrit, communication non verbale, importance dans notre monde.

Modalités pédagogiques :

Travail de groupe, 3 ou 4 élèves par groupe.

Matériels et logiciels :

Ne nécessite pas de robot, activité débranchée, nécessite uniquement des fiches vierges et des fiches pré-remplies en fonction des blocs Snap! A réaliser

Évaluations :

Pas d’évaluation notée sur cette activité, vérification des compétences acquises par présentation du langage inventé (et justification des choix)

###Remarques
Créer des fiches de papier/carton correspondant aux blocs de Snap! et limiter les gestes imaginés aux bras.

Liens de référence :

http://www.pobot.org/Quel-langage-pour-un-robot.html


Séance 1

Titre de la séance : à déterminer

Durée :

1h30 environ

Modalité(s) pédagogique(s) :

Groupes de 3 ou 4

Matériels et logiciels :

Document avec les fiches à remplir

###Introduction et objectifs de la séance
Comprendre ce qu’est un langage et son utilité en robotique ;
Comprendre le raisonnement, le déroulement et la logique d’un langage de programmation ;
Comprendre les difficultés physiques et numériques que peut rencontrer un robot, en les vivant soi-même ;
Rendre moins abstraite la programmation.

Contexte :

Des groupes séparés imaginent chacun un comportement et tentent de le “coder” en remplissant les fiches données. Ils donneront uniquement ces fiches, dans le bon ordre, aux personnes d’un autre groupe qui devront réaliser le comportement programmé. On pourra mettre en évidence les difficultés rencontrées (articulations, souplesse, muscles qui chauffent, problèmes de compréhension du programme, différences d’interprétation du message …)

Question/consigne :

"Vous devez remplir un certain nombre de fiches qui vous sont proposées à définir pour parvenir à ce que les personnes d’un autre groupe réalisent le comportement que vous avez imaginé. Notez les difficultés rencontrées et si besoin reformulez le geste (en corrigeant votre « programme »)

Travail en groupe :

Communiquer pour imaginer un geste simple et réfléchir à la meilleure façon de le décomposer. Ensuite, le coder par petits bouts et tester à chaque étape la faisabilité du geste et la compréhension du code.Tester ensuite sur les personnes d’un autre groupe si le message passe bien et si le programme est “bon” (toutes les personnes font la même chose ? c’est le mouvement attendu ?).
Il n’y a pas toujours une difficulté égale pour l’émetteur ou le récepteur

Bilan

Compréhension de ce qu’est un langage et de la logique d’un programme. Compréhension de ce que représentent des lignes de codes; séries d’actions à réaliser de façon séquentielle.


Séance 2

Titre de la séance : à déterminer

Durée :

1h30 environ

Modalité(s) pédagogique(s) :

Mêmes groupes que la séance précédente

Matériels et logiciels :

Fiches de papier / cartons à définir

###Introduction et objectifs secondaires :
Comprendre ce qu’est un langage et son utilité en robotique ;
Comprendre le raisonnement, le déroulement et la logique d’un langage de programmation ;
Comprendre ce qu’est la communication et la difficulté de communiquer dans un langage différent ;
Comprendre que les langages écrits se ressemblent beaucoup une fois que la syntaxe - principale différence - est assimilée.

Contexte :

Les groupes séparés imaginent un nouveau “code” permettant de transmettre un nouveau geste qu’ils ont imaginé. Ils utilisent un langage de leur invention et fournissent les fiches remplies à un autre groupe. Ils donneront uniquement ces fiches, avec un nouveau code, dans le bon ordre, aux personnes d’un autre groupe qui devront réaliser le comportement programmé.
Ils peuvent fabriquer une sorte de lexique ou des pictogrammes clairs pour expliquer la signification de chaque code. Ceci permettra de mettre en évidence les différences d’interprétation du message et les difficultés du fait de communiquer sans avoir le même langage.

Question/consigne :

Essayez de vous mettre d’accord pour remplacer les mots par des signes, vous aurez ainsi un nouveau langage, codé.

Travail en groupe :

Les groupes établissent chacun un nouveau code et le testent. Ils peuvent noter quelque part la signification de chaque signe utilisé.

Bilan :

Mise en commun, en fin de séance, de l’ensemble des informations et réflexions/ remarques de chacun.
Mise en évidence du fait qu’il existe plusieurs façons de coder l’information et qu’il faut que l’autre ait le même langage.
Les élèves comprennent ce que peut être la construction d’un algorithme et ont donc une bonne base pour commencer à utiliser Snap!

Évaluation

Pas nécessaire

Ce projet Snap! permet de passer du langage visuel de Snap! à des langages “plus classiques”

http://snap.berkeley.edu/snapsource/snap.html#cloud:Username=jens&ProjectName=Codification :

Snap! : <img src="//cdck-file-uploads-canada1.s3.dualstack.ca-central-1.amazonaws.com/free1/uploads/poppy/original/2X/f/f1f63ff4597a46981da16a629d9e3529a94e3ca7.png" width=“600”

Python

C :

Je vous laisse deviner ceux-ci :slight_smile:

Cela pourrait permettre de faire observer les différences et ressemblances entre les langages aux étudiants : aborder le fait qu’apprendre la programmation n’est pas apprendre un langage précis (Snap!, Python, Ruby etc.) mais apprendre une nouvelle forme de logique, de concepts etc.

Je ne sais pas si ça serait possible (et pas trop compliqué) de faire un exemple de ce style avec utilisant quelques blocs robots ? @Pierre @Theo (mais bon même sans, cela pourrait permettre une bonne introduction aux langages)

1 Like

Si on faisait un exemple de ce type, ce serait un code python qui fait une requête HTTP au robot, ce qui a un intérêt très limité…

1 Like