Boîte à bits a été dans l’entreprise d’enseigner aux enfants comment coder pendant une bonne partie d’une décennie, et maintenant l’entreprise prend à la fois ses leçons et ses outils d’enseignement du code au niveau suivant : le métaverse. Actuellement en développement, une nouvelle application appelée Bluprint vise à être « une tentative sournoise d’introduire le codage réel aux enfants qui aiment déjà construire des mondes 3D (Minecraft) et jouer à des jeux en ligne (Roblox) avec leurs amis ».
Bitsbox a cherché à apprendre aux enfants à coder à peu près de la même manière que le PDG/CTO Scott Doublure appris au début des années 1980, a expliqué le co-fondateur et directeur de la création Aidan Chopra dans une interview avec The New Stack.
« Scott était de la génération qui a appris à coder avec la dactylographie », a déclaré Chopra. « Si vous vouliez exécuter un programme, vous retiriez le code du livre, puis vous aviez un jeu auquel vous pouviez jouer. De son point de vue, c’est comme ça qu’on a appris à programmer : on copie le code de quelque chose, et puis c’est une sorte de mémoire musculaire. C’est comme apprendre à jouer de la musique composée par quelqu’un d’autre, vous commencez à comprendre les motifs simplement parce que vous les avez copiés.
Depuis sa création en 2014, Bitsbox a fourni aux enfants une tablette virtuelle sur un site Web, dans laquelle ils copient le code qui leur a été envoyé par courrier mensuel. Selon une FAQ.
Bien que cela ait pu être la façon dont les enfants ont appris dans les années 1980, Chopra a déclaré que c’était la plus grande plainte des utilisateurs aujourd’hui.
« Si vous voulez faire quelque chose d’une quelconque complexité, c’est quelques centaines de lignes de code, et taper cela est une douleur dans le cul, surtout si vous avez six ans », a déclaré Chopra. « Il y a beaucoup à apprendre de la lecture du code existant et de son interprétation, surtout s’il est bien commenté. C’est une chose vraiment utile. Alors, nous avons pensé, essayons quelque chose de différent.
Passer au métaverse
Ce « quelque chose de différent » est Plan directeur, la prochaine itération sur Bitsbox. Bluprint déplace non seulement ses personnages et son interface dans un environnement tridimensionnel, mais modifie également ses outils pédagogiques pour s’appuyer moins sur la frappe et davantage sur la lecture et la modification du code existant – de la même manière que les développeurs peuvent lire, réutiliser et modifier le code extrait de l’Internet.
« Il y a probablement autant de valeur à apprendre à lire le code qu’à apprendre à l’écrire, ce qui est bizarre, car une grande partie de l’éducation au codage commence par une page blanche », a déclaré Chopra. « Ce n’est pas comme ça qu’on apprend aux enfants à lire les langues humaines. Vous commencez à lire avant de commencer à écrire. Tout le monde le fait. C’est étrange que, dans une certaine mesure, nous enseignons le codage d’une manière très différente.
Le métaverse Bluprint est pré-rempli avec des objets et des personnages, qui ont un code qui peut être rapidement visualisé et modifié. Il offre aux utilisateurs une manière différente d’interagir avec le code et d’apprendre, une manière qui peut être superposée d’un niveau de difficulté à l’autre.
« Nous pouvons en fait étayer l’apprentissage en disant : première étape, regardez le code et modifiez quelque chose à son sujet (une chaîne, un nombre), puis voyez quel effet cela a sur son comportement. Ou peut-être ajouter un nouveau comportement en ajoutant quelques méthodes, ou simplement en les activant d’une manière ou d’une autre, et voir si cela peut fonctionner », a déclaré Chopra. « Il s’agit de changer quelque chose que vous voyez, il s’agit d’ajouter quelque chose, puis, finalement, il s’agit de créer des choses à partir de zéro. »
Le métaverse Bluprint est conçu dans un souci de sécurité et de confidentialité pour ses utilisateurs (étant donné qu’ils ont souvent moins de 12 ans), et les mondes qu’ils construisent sont uniquement sur invitation, avec des contrôles parentaux intégrés. En termes de sécurité de codage, le co-fondateur de Bitsbox et Bluprint Scott Doublure a expliqué que « les enfants peuvent écrire n’importe quel code JavaScript qu’ils aiment. Mais… leur code s’exécute dans un bac à sable sécurisé qui ne leur permet pas d’accéder à des informations privées, de modifier la page Web, d’ouvrir des liens, ce genre de choses.
Les utilisateurs peuvent créer des objets dans le métaverse lui-même à l’aide d’un éditeur graphique familier, mais le code de chaque objet n’est qu’à un clic, où les utilisateurs peuvent non seulement modifier les attributs, mais également aborder des sujets tels que les fonctions et la programmation orientée objet.
Différences entre Minecraft et Roblox
Chopra a expliqué que Blueprint venait en partie du fait de voir à quel point les enfants étaient excités à propos de Minecraft, mais incapables de coder pour Minecraft, car cela était beaucoup trop difficile. Avec Bluprint, la création et la modification du code sont intentionnellement intégrées directement dans le produit ; par opposition au codage pour Minecraft, qui, selon Chopra, était « un peu boulonné et un peu difficile ».
Tout comme son prédécesseur, Bluprint enseignera le JavaScript aux enfants, mais cette fois avec une API JavaScript beaucoup plus grande et plus fonctionnelle. Selon le Kickstarter pour Bluprint, la société a pris l’API JavaScript qu’elle utilisait pour Bitsbox et « l’a étendue à la 3D, a ajouté des dizaines de nouvelles méthodes et ajouté un système de gestion de fichiers pour rendre possibles des projets complexes ».
Dans le même temps, l’API JavaScript pour Bluprint est encore assez simple pour apprendre aux enfants à coder. Lininger a proposé une comparaison rapide entre Luau de Roblox, qui fournit une API en plus de Lua, et l’API JavaScrip de Bluprint, notant que « l’API Lua de Roblox est fantastique, mais elle n’est pas très adaptée aux débutants ».
Lininger pointe vers un script LUA dans la documentation Roblox cela prend une vingtaine de lignes de code pour afficher les mots « Vous avez appuyé sur X » lorsque vous le faites sur le clavier ou une manette de jeu.
local UserInputService = game:GetService(« UserInputService ») local ContextActionService = game:GetService(« ContextActionService ») fonction locale actionHandler(actionName, inputState, inputObj) if inputState == Enum.UserInputState.Begin then print(« You pressed X ») end — Puisque cette fonction ne renvoie rien, ce gestionnaire — « consommera » l’entrée et aucun autre gestionnaire d’action ne sera appelé après — celui-ci. end local navGamepads = UserInputService:GetNavigationGamepads() pour _, manette de jeu par paires (navGamepads) faire local pris en chargeKeyCodes = UserInputService:GetSupportedGamepadKeyCodes() pour _, code clé par paires (supportedKeyCodes) faire si (code clé == Enum.KeyCode.ButtonX) puis ContextActionService :BindAction(“SampleAction”, actionHandler, false, Enum.KeyCode.ButtonX) end if (keycode == Enum.KeyCode.X) then ContextActionService:BindAction(“SampleAction”, actionHandler, false, Enum.KeyCode.X) end end finir
1 2 3 4 5 6 sept 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
local UserInputService=Jeu:ObtenirService(« Service d’entrée utilisateur ») local ContextActionService=Jeu:ObtenirService(« ContextActionService”) local une fonctionactionHandler(nomaction,état d’entrée,inputObj) siétat d’entrée==Énumération.UserInputStateUserInputState.Commencer ensuite imprimer(« Vous avez appuyé sur X ») finir —Puisque cetteune fonctionEst-ce que ne pasretournern’importe quoi,cettegestionnaire sera —« évier »la saisir etnon autre action gestionnaires sera être appelé après —cetteun. finir local navGamepads=UserInputService:GetNavigationGamepads() pour_,manette de jeu danspaires(navGamepads)faire local codes clés pris en charge=UserInputService:GetSupportedGamepadKeyCodes() pour_,code clé danspaires(codes clés pris en charge)faire si(code clé==Énumération.Code clé.BoutonX)ensuite ContextActionService:LierAction(« Exemple d’action”,actionHandler,faux,Énumération.Code clé.BoutonX) finir si(code clé==Énumération.Code clé.X)ensuite ContextActionService:LierAction(« Exemple d’action”,actionHandler,faux,Énumération.Code clé.X) finir finir finir |
Même pour un codeur amateur, le code proposé peut être difficile à comprendre rapidement. En revanche, le même effet est obtenu avec ces cinq lignes de code utilisant l’API JavaScript de Bluprint.
fonction appuyez sur (bouton) { si (bouton == ‘x’) { ui.log (‘Vous avez appuyé sur X’) } }
une fonctionpresse(bouton){ si(bouton==‘X’){ interface utilisateur.Journal(« Vous avez appuyé sur X ») } } |
« Nous avons entendu de nombreux parents dire que leurs enfants n’ont pas réussi à apprendre le codage Roblox parce que c’est » trop compliqué « », a déclaré Lininger. « Nous espérons faire quelque chose qui n’est pas intimidant, qui commence par le succès et qui est vraiment amusant. »
Un outil de création de métaverse ?
Bluprint est actuellement en développement, mais Chopra a déclaré que l’équipe espère avoir une première version de Bluprint disponible dans les mois à venir. Et tandis que Bluprint a d’abord été créé pour enseigner aux enfants à coder, il a dit que cela pourrait aussi s’avérer être quelque chose de plus.
« Ce n’est pas comme si nous venions de créer ce truc Minecraft-y sur le Web avec une API vraiment accessible, pour que les enfants puissent apprendre à coder avec. Ce que nous avons réellement fait, c’est peut-être créé l’outil de création Metaverse le plus accessible au monde », a déclaré Chopra. « Et si vous créiez réellement un outil pour qu’il soit possible pour des personnes qui n’ont jamais vraiment programmé auparavant, ou qui n’ont jamais fait de trucs 3D auparavant, de participer à ce projet Metaverse ? Cela pourrait-il être une force pour le bien? Et je pense que nous sommes en quelque sorte convaincus que cela pourrait l’être, donc en même temps qu’il s’agit d’une sorte de deuxième gamme de produits pour Bitsbox et nos entreprises enseignant le codage aux enfants, nous avons également en quelque sorte développé cet ensemble d’outils de création pour que les débutants puissent construire leur propre petit coin du métaverse.