
{"id":1489,"date":"2014-10-17T13:59:13","date_gmt":"2014-10-17T11:59:13","guid":{"rendered":"https:\/\/iww.inria.fr\/codcodcoding\/?p=1489"},"modified":"2014-10-17T13:59:13","modified_gmt":"2014-10-17T11:59:13","slug":"seance-5","status":"publish","type":"post","link":"https:\/\/iww.inria.fr\/codcodcoding\/seance-5\/","title":{"rendered":"S\u00e9ance 5"},"content":{"rendered":"<p><\/p>\n<h2>Contenu de la s\u00e9ance<\/h2>\n<p>Cette cinqui\u00e8me s\u00e9ance \u00e9tait associ\u00e9e \u00e0 la <a href=\"http:\/\/codeweek.eu\">CodeWeek<\/a>, une semaine europ\u00e9enne consacr\u00e9e \u00e0 l&rsquo;apprentissage du code.<\/p>\n<p>Nous avons organis\u00e9 la s\u00e9ance de cette fa\u00e7on :<\/p>\n<ul>\n<li>Activit\u00e9 \u00ab Carr\u00e9s oranges et cercles violets \u00bb (45 minutes)<\/li>\n<li>Restitution de l&rsquo;activit\u00e9 (15 minutes)<\/li>\n<li>Activit\u00e9 \u00ab Il vit ! \u00bb (45 minutes)<\/li>\n<li>Restitution de l&rsquo;activit\u00e9 (15 minutes)<\/li>\n<\/ul>\n<p>L&rsquo;un des objectifs transversaux \u00e9tait d&rsquo;insister sur la probl\u00e9matique de l&rsquo;initialisation, point\u00e9e dans le billet de la <a href=\"https:\/\/iww.inria.fr\/codcodcoding\/seance-4\/\">s\u00e9ance pr\u00e9c\u00e9dente<\/a>. Le second objectif \u00e9tait d&rsquo;am\u00e9liorer la qualit\u00e9 des temps de restitution, notamment en leur imposant de ne pas avoir acc\u00e8s au code lors de leur pr\u00e9sentation.<\/p>\n<p>Il n&rsquo;y aura pas de CodCodCoding les 2 prochaines semaines, en raison des cong\u00e9s scolaires. Bonnes vacances les CodCodCodeurs !<\/p>\n<h2>Retours<\/h2>\n<p><a href=\"https:\/\/iww.inria.fr\/codcodcoding\/files\/2014\/10\/seance5.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/iww.inria.fr\/codcodcoding\/files\/2014\/10\/seance5-300x225.png\" alt=\"seance5\" width=\"300\" height=\"225\" class=\"alignleft size-medium wp-image-1492\" srcset=\"https:\/\/iww.inria.fr\/codcodcoding\/files\/2014\/10\/seance5-300x225.png 300w, https:\/\/iww.inria.fr\/codcodcoding\/files\/2014\/10\/seance5.png 479w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> La premi\u00e8re activit\u00e9 \u00ab Carr\u00e9s oranges et cercles violets \u00bb consiste \u00e0 apporter une contrainte forte sur le choix des lutins. Ces derniers ne pourront \u00eatre que des carr\u00e9s oranges ou des cercles violets. Interdiction donc de choisir des lutins autres dans la biblioth\u00e8que de Scratch. L&rsquo;objectif de cette contrainte est de leur \u00e9viter de perdre du temps sur la conception graphique de leur projet. Les enfants ont tendance \u00e0 passer trop de temps \u00e0 choisir soigneusement leurs images (et\/ou en modifier les couleurs), et se retrouvent trop souvent, \u00e0 la fin du temps imparti pour l&rsquo;activit\u00e9, \u00e0 avoir un projet graphiquement \u00e9ventuellement int\u00e9ressant, mais tr\u00e8s pauvre algorithmiquement parlant. La gestion du temps est aussi un facteur important pour l&rsquo;activit\u00e9, et c&rsquo;est un point sur lequel il faudra \u00e9galement insister de fa\u00e7on plus g\u00e9n\u00e9rale pour les prochaines s\u00e9ances. Un exemple d&rsquo;animation respectant cette contrainte est <a href=\"http:\/\/scratch.mit.edu\/projects\/2042075\/\">disponible ici<\/a>. Les enfants doivent r\u00e9ussir \u00e0 animer leurs formes g\u00e9om\u00e9triques, en utilisant les blocs li\u00e9s aux d\u00e9placements et aux modifications graphiques. Par exemple, s&rsquo;ils souhaitent avoir un carr\u00e9 rouge, ils ne pourront l&rsquo;obtenir qu&rsquo;en programmant. De la m\u00eame fa\u00e7on, ils peuvent r\u00e9ussir \u00e0 utiliser d&rsquo;autres formes, mais uniquement en les faisant dessiner au stylo par leur programme, et donc sans les dessiner eux-m\u00eames en amont dans l&rsquo;\u00e9diteur. Cette premi\u00e8re activit\u00e9 a plut\u00f4t bien fonctionn\u00e9e. Elle a permis \u00e9galement de revenir sur la notion-m\u00eame de lutin, pour ceux qui ont encore un peu de mal. Par exemple, comprendre que si on dessine un rond violet au-dessus d&rsquo;un carr\u00e9 orange dans un m\u00eame lutin, on ne pourra jamais les s\u00e9parer dans l&rsquo;animation. <\/p>\n<p>La seconde activit\u00e9 \u00ab Il vit ! \u00bb consiste \u00e0 se concentrer sur la notion de costumes. Elle n&rsquo;a pas encore \u00e9t\u00e9 abord\u00e9e durant les s\u00e9ances pr\u00e9c\u00e9dentes, et aucun enfant n&rsquo;avait encore pris la peine de r\u00e9ellement s&rsquo;y attaquer. La principale contrainte \u00e9tait donc d&rsquo;utiliser un lutin, en animant son mouvement (une marche ou un vol) en utilisant les costumes qui lui sont associ\u00e9s par d\u00e9faut (e.g. le chat, le perroquet, <a href=\"http:\/\/scratch.mit.edu\/projects\/27288980\/\">la chauve-souris<\/a>, etc.). Cette activit\u00e9 permet en r\u00e9alit\u00e9 de revenir sur plusieurs concepts tr\u00e8s int\u00e9ressants. En premier lieu celui des <em>threads<\/em>, puisqu&rsquo;il faut r\u00e9ussir \u00e0 programmer un d\u00e9placement du lutin, tout en le faisant changer de costume en permanence, pour r\u00e9ussir \u00e0 le faire marcher ou voler. Certains enfants ont g\u00e9n\u00e9ralement essay\u00e9s de r\u00e9aliser ces deux actions en une seule s\u00e9quence, ce qui n&rsquo;est pas possible. Ensuite, les costumes sont une bonne fa\u00e7on d&rsquo;aborder la notion de boucle. En effet, l&rsquo;animation se fait avec une boucle infinie qui passe en permanence d&rsquo;un costume \u00e0 l&rsquo;autre. Mais pourqu&rsquo;on puisse voir les changements de costume, il faut dire au programme d&rsquo;attendre quelques millisecondes entre chaque changement, ce \u00e0 quoi les enfants ne pensent \u00e9videmment pas en premier lieu. Une fois qu&rsquo;ils ont compris qu&rsquo;il fallait laisser \u00e0 l&rsquo;humain le temps de voir le passage d&rsquo;un costume \u00e0 l&rsquo;autre, ils font tous \u00e0 peu pr\u00e8s la m\u00eame erreur (sauf s&rsquo;ils ont utilis\u00e9 l&rsquo;ordre qui indique simplement de passer au costume suivant dans la liste) : se contenter d&rsquo;ajouter un ordre d&rsquo;attente entre les deux changements de costume dans la boucle. Ils se retrouvent donc avec un lutin qui clignote, puisqu&rsquo;il n&rsquo;y a pas d&rsquo;attente entre les deux changements cons\u00e9cutifs au moment o\u00f9 la boucle repart pour un tour&#8230; ce qui est une excellente occasion pour v\u00e9rifier qu&rsquo;ils comprennent bien le principe d&rsquo;une boucle.<\/p>\n<p>Pour ces deux activit\u00e9s, une contrainte suppl\u00e9mentaire a \u00e9t\u00e9 ajout\u00e9e. Celle de s&rsquo;inqui\u00e9ter de l&rsquo;initialisation du programme. Le projet doit se lancer quand on clique sur le drapeau vert, et on doit avoir la possibilit\u00e9 de l&rsquo;arr\u00eater \u00e0 n&rsquo;importe quel instant. Quand on le relance, le programme doit refaire exactement la m\u00eame chose, peu importe l&rsquo;\u00e9tat et la position des lutins au moment o\u00f9 l&rsquo;ex\u00e9cution pr\u00e9c\u00e9dente a \u00e9t\u00e9 stopp\u00e9e. Nous avons syst\u00e9matiquement v\u00e9rifi\u00e9 le respect de cette contrainte, lors des restitutions, en demandant aux enfants de stopper et relancer leur projets \u00e0 diff\u00e9rents endroits. Puisqu&rsquo;ils ont pr\u00e9sent\u00e9 leurs projets en plein \u00e9cran sans acc\u00e8s au code, ils n&rsquo;ont pas pu cliquer partout sur les blocs pour faire eux-m\u00eame cette initialisation (que personne d&rsquo;autre ne pourrait faire sans conna\u00eetre par coeur la s\u00e9quence). Environ la moiti\u00e9 des enfants ont r\u00e9ussi \u00e0 respecter cette contrainte. Nous essaierons de leur imposer ce r\u00e9flexe lors des prochaines activit\u00e9s, et leur donnant l&rsquo;occasion de parcourir l&rsquo;ensemble des modifications \u00e0 r\u00e9initialiser, selon les projets (e.g. effets graphiques, rotations, placement, etc.).<\/p>\n<h2>Projets des enfants<\/h2>\n<p>Avec deux projets par enfant et une dizaine d\u2019enfants \u00e0 cette s\u00e9ance, je vous propose de concentrer l&rsquo;analyse des projets sur 3 r\u00e9alisations.<\/p>\n<h3>La Rockstar (Lucie)<\/h3>\n<p>Le projet \u00ab Il vit ! \u00bb est <a href=\"http:\/\/scratch.mit.edu\/projects\/30166926\/\">disponible en ligne<\/a>.<\/p>\n<p>Nous sommes dans la rue. Un chat passe, l&rsquo;air assur\u00e9, et le maquillage soign\u00e9. Il s&rsquo;agit probablement d&rsquo;une star f\u00e9line qui ne souhaite pas \u00eatre reconnue, en t\u00e9moigne ses grosses lunettes de soleil. Il descend la rue tranquillement, en marchant \u00e0 pas constants. Une fois arriv\u00e9 \u00e0 destination, il s&rsquo;arr\u00eate pour nous saluer.<\/p>\n<p>Toutes les contraintes sont respect\u00e9es. Nous avons un mouvement du chat, avec un changement de costume r\u00e9gulier, qui simule parfaitement une marche. Le d\u00e9placement est en accord avec les mouvements. Le programme peut \u00eatre arr\u00eat\u00e9 \u00e0 n&rsquo;importe quel moment, le chat repartira toujours du m\u00eame endroit. Bravo Lucie !<\/p>\n<h3>Trafic urbain (Samuel)<\/h3>\n<p>Le projet \u00ab Il vit ! \u00bb est <a href=\"http:\/\/scratch.mit.edu\/projects\/30166428\/\">disponible en ligne<\/a>.<\/p>\n<p>Nous sommes \u00e9galement dans la rue, devant ce qui semble \u00eatre un grand parking couvert. Des chat-passants marchent tranquillement sur le bord de la route, tandis qu&rsquo;un gang de chat-frimeurs passe en voiture. La sc\u00e8ne est infinie.<\/p>\n<p>De nouveau, toutes les contraintes sont respect\u00e9es. Nous avons les costumes qui changent pour les marcheurs, avec des d\u00e9placements en ad\u00e9quation. Et peu importe le moment o\u00f9 on arr\u00eate le programme, il red\u00e9marrera toujours de la m\u00eame fa\u00e7on. Le petit plus de Samuel pour ce projet, c&rsquo;est la perfection du programme. Nous avons une vraie boucle de programme, avec des voitures et des marcheurs qui n&rsquo;en finissent jamais de passer. Ils disparaissent naturellement lorsqu&rsquo;ils sortent du cadre \u00e0 droite, pour r\u00e9appara\u00eetre sur le c\u00f4t\u00e9 gauche (la sc\u00e8ne est torique). La voiture roule plus rapidement que les marcheurs, et est bien positionn\u00e9e sur la route. Dernier d\u00e9tail, la voiture customis\u00e9e. En regardant attentivement, vous remarquerez le requin rouge qui d\u00e9core la carrosserie. Samuel a eu la bonne id\u00e9e de m\u00e9langer 2 lutins, pour se servir de l&rsquo;un comme d&rsquo;une d\u00e9coration pour l&rsquo;autre, ce qui est une utilisation tr\u00e8s maligne de la biblioth\u00e8que de Scratch. F\u00e9licitations Samuel, il faut absolument continuer \u00e0 faire des projets coh\u00e9rents de bout-en-bout, de cette fa\u00e7on.<\/p>\n<h3>Psych\u00e9City (Ahmed)<\/h3>\n<p>Le projet \u00ab Carr\u00e9s oranges et cercles violets \u00bb est <a href=\"http:\/\/scratch.mit.edu\/projects\/30167216\/\">disponible en ligne<\/a>.<\/p>\n<p>Nous sommes face \u00e0 un carr\u00e9 dans un cercle dans un carr\u00e9, avec une alternance de orange et de violet. Logique, puisque c&rsquo;est un projet \u00ab Carr\u00e9s oranges et cercles violets \u00bb. Tr\u00e8s rapidement les couleurs changent, , un carr\u00e9 commence \u00e0 dispara\u00eetre dangereusement, et le cercle entame une mitose infinie.<\/p>\n<p>Les contraintes sont respect\u00e9es, puisque nous n&rsquo;avons que les formes et les couleurs impos\u00e9es. Concernant la r\u00e9initialisation, nous revenons \u00e9galement toujours au m\u00eame point de d\u00e9part. La sc\u00e8ne manque juste de d\u00e9placements, pour que l&rsquo;animation soit r\u00e9ellement vivante. Nous reviendrons sur les commandes li\u00e9es aux d\u00e9placements avec Ahmed. En attendant, bravo pour le projet ;).<\/p>","protected":false},"excerpt":{"rendered":"<p>Contenu de la s\u00e9ance Cette cinqui\u00e8me s\u00e9ance \u00e9tait associ\u00e9e \u00e0 la CodeWeek, une semaine europ\u00e9enne consacr\u00e9e \u00e0 l&rsquo;apprentissage du code. Nous avons organis\u00e9 la s\u00e9ance de cette fa\u00e7on : Activit\u00e9 \u00ab Carr\u00e9s oranges et cercles violets \u00bb (45 minutes) Restitution de l&rsquo;activit\u00e9 (15 minutes) Activit\u00e9 \u00ab Il vit ! \u00bb (45 minutes) Restitution de l&rsquo;activit\u00e9 &hellip; <\/p>\n<p><a class=\"more-link btn\" href=\"https:\/\/iww.inria.fr\/codcodcoding\/seance-5\/\">Lire la suite<\/a><\/p>\n","protected":false},"author":1138,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15],"tags":[],"class_list":["post-1489","post","type-post","status-publish","format-standard","hentry","category-actualites","item-wrap"],"_links":{"self":[{"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/posts\/1489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/users\/1138"}],"replies":[{"embeddable":true,"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/comments?post=1489"}],"version-history":[{"count":3,"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/posts\/1489\/revisions"}],"predecessor-version":[{"id":1493,"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/posts\/1489\/revisions\/1493"}],"wp:attachment":[{"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/media?parent=1489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/categories?post=1489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/iww.inria.fr\/codcodcoding\/wp-json\/wp\/v2\/tags?post=1489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}