dimecres, 18 de març de 2015

A programar!

Entrada per al blog EnlanubeTIC en castellà
Accés a la publicació original

Fa ja quasi dos anys vaig publicar en aquest blog Univers Scratch, una entrada en la que recollia una mostra significativa del que en el seu moment podíem trobar al voltant d'aquest conegut llenguatge de programació. En aquests dos anys l'univers no ha deixat de créixer, assolint els més de 8 milions de projectes compartits; aquest èxit és debut en bona part a la socialització i al fet que amb l'actual versió 2.0 tot projecte pot ser compartit (quart estadi de l'espiral del pensament creatiu proposada per Mitchel Resnick) i redissenyat per algun altre membre de la comunitat que té els mateixos interessos i ganes d'aprendre.
Així mateix, han sorgit prou nombre d'iniciatives per fomentar l'aprenentatge de la programació en edats primerenques. Les principals són les que va recollir Pau Córdoba en aquest mateix blog: L'hora del codi y Europe Code Week

Si voleu saber més sobre Scratch recomano especialment la publicació de Mertxe J. Badiola per a EnlanubeTIC: Mis primeros pasos en robotika: Scratch + Lego. Avui intentaré anar més enllà d'Scratch i veure quines alternatives existeixen per a que infants i joves aprenguin a programar.

Programar en dispositius mòbils

  • ScratchJr

Malgrat a dia d'avui segueix sense estar disponible una app oficial d'Scratch adaptada per a dispositius mòbils, per a iPad sí que trobarem l'adaptació ScratchJr. Pensada per a nens i nenes no lectors o neolectors de 5 a 7 anys, presenta una interfície simplificada que aprofita el millor d'altres entorns com el propi software de Lego WeDo. Trobareu més informació sobre aquesta app gratuita a Programamos.

  • Pyonkee

Si el que desitgem és programar en iPad amb la versió d'Scratch 1.4, ho podrem fer gràcies a l'app Pyonkee. Aquesta app japonesa fins i tot permet controlar, a través de l'opció de sensors remots, altres dispositius Android, Raspberry Pi, Little Bits, etc.

  • Tynker
Probablement Tynker sigui l'app més completa que puguem trobar per a dispositius mòbils (AndroidiOS).  Presenta uns gràfics i animacions en 3D sorprenents que ofereixen nombroses possibilitats de creació. És gratuïta i disposen d'una versió de pagament per a escoles, Tynker for Schools, i altres opcions de compra com ara cursos o continguts addicionals.

  • Hopscotch

Hopscotch presenta una interfície senzilla amb instruccions simplificades que faciliten la creació de projectes. D'igual manera que Scratch, cada vegada compta amb una comunitat d'usuaris més gran que comparteixen els seus projectes, els quals poden ser novament redissenyats. Disponible de moment només per a iOS, és gratuïta i es troba traduïda al castellà. També disposa d'un currículum propi i existeix una versió premium per a escoles. Els desenvolupadors també han creat Daisy the Dinosaur, pensada per als més petits.
  • Lightbot
El joc Lightbot ens presenta un conjunt de trencaclosques tridimensionals que han de ser resolts programant els moviments del robot. La versió principal, disponible per a AndroidiOS, Mac i Windows, inclou 50 nivells i està pensada per a majors de 9 anys. També podem trobar una versió adaptada per als més petits (Android, iOS) i una versió gratuïta disponible també online
  • Cargo-Bot
Una vegada superats els reptes de Lightbot podríem atrevir-nos amb Cargo-Bot. Aquesta app gratuïta (disponible això sí només per a iPad) planteja 36 reptes a quin més difícil que atraparà els més joves. Val a destacar que ha estat programada exclusivament en iPad gràcies a Codea, app també per a iPad que utilitza el llenguatge de programació Lua.
  • Més per a iPad

Altres apps disponibles per a iPad són: Move the TurtleKodable, A.L.E.X, Cato's Hike, Lógica de tortugas o Fix the Factory.


Programar robots


Precisament aquesta darrera, Fix the Factory, és un joc creat per LEGO per promocionar el seu darrer model de robòtica educativa: LEGO Mindstorms EV3. Aquesta nova versió del conegut Mindstorms (anteriorment NXT) ofereix la possibilitat de ser programat des del propi software i controlat des d'una app i properament podrem programar el robot directament des del dispositiu mòbil.

En aquest sentit, la companyia TTS acaba de treure al mercat el robot Blue-Bot, una versió renovada de la seva ja coneguda Bee-Bot. Ara, amb Blue-Bot, podem connectar el robot via Bluetooth i programar-lo des de la mateixa app, pel moment només disponible per a iPad.

D'igual manera, el fabricant surcoreà Robotis també permet programar robots com els nous Robotis Dream des de l'app per a Android R+ m. Task; els robots Dash i Dot es programen amb Blockly i el robot Sphero pot ser programat des de les apps Macrolab (Android, iOS) i orbBasic (Android, iOS).

Veiem, doncs, que la tendència en robòtica educativa serà cada vegada més anar cap a la programació des de dispositius mòbils. 

Programar en ordinador


Vegem ara algunes alternatives amb les que no haurem d'instal·lar cap app sinó que, com Scratch, podrem gaudir d'elles online:

  • Code Studio
L'organització Code.org, promotora de la iniciativa L'hora del codi, també ofereix la possibilitat d'aprendre a programar des de la seva plataforma, Code Studio. En particular trobarem un curs de 20 hores dissenyat per a estudiants de 1r d'ESO i totalment traduïda al castellà.


  • CodeMonkey 
CodeMonkey és una iniciativa israelí que apropa els conceptes bàsics del pensament computacions a nens i nenes d'entre 6 i 12 anys. Ambientat a la selva, hauran d'ajudar a un simpàtic mico a superar els 90 reptes plantejats (30 d'ells gratuïts). Les instruccions es realitzen en anglès, però la plataforma sencera es troba traduïda al castellà.

  • Pencil Code
D'igual manera que Scratch, la proposta de Pencil Code parteix de la tortuga de Papert i pretén treure el màxim partit a la creativitat. Si accedim al Gym veurem alguns tutorials per iniciar-nos en els dos llenguatges de programació en els que podem visualitzar els projectes: Javascript i Coffescript, una versió de Python. Darrere de Pencil Code hi ha un gran treball teòric, i una mostra de tot plegat és la guia per al professorat amb activitats documentades i fins i tot un llibre escrit per David Bau. 
  • Altres opcions
Altres iniciatives que fomenten l'aprenentatge de la programació són Waterbear, Alice, Stencyl, Hackety Hack o RoboMind

Programar a Minecraft també és possible


Són molts els nens, nenes, adolescents i joves aficionats a Minecraft i fans de youtubers que comparteixen llurs experiències en aquest joc. Existeixen moltes modificacions del joc que permeten generar nous móns, aventures i funcionalitats: una d'elles és ComputerCraft, mod basat en el llenguatge de programació Lua que afegeix ordinadors i robots tortuga que faràn les tasques per nosaltres (tutorials). 

Quelcom similar ho aconseguirem amb el plugin ScriptCraft, amb el que podrem donar instruccions en Javascript a un drone invisible per a les nostres construccions.

Finalment, si disposem d'una Raspberry Pi també podrem instal·lar en ella la versió gratuïta de Minecraft, Minecraft Pi, i programar, tal i com s'explica aquí

Programar sense pantalles

No tot es limita a l'ordinador en l'aprenentatge de la programació. Vegem alguns exemples:

  • Computer Science Unplugged
En el portal de CSunplugged trobarem una col·lecció de recursos que treballen aspectes propis del pensament computacional sense la necessitat de comptar amb un ordinador. Es tracta d'activitats gratuïtes que empren estris com cartes i material escolar en general.

  • Kibo
Kibo és un robot desenvolupat per KinderLab Robotics, grup sorgit en la prestigiosa universitat de Tufts. Amb Kibo els infants poden crear una seqüència d'instruccions i programar el robot emprant únicament blocs de fusta.

  • Robot Turtles
Per finalitzar, un projecte sorgit de Kickstarter: el joc de taula Robot Turtles. Pensat per a nens i nenes a partir de quatre anys, cada un dels quatre jugadors pot donar les instruccions corresponents per mitjà de cartes. Sense adonar-se, estaran aprenent els fonaments del pensament computacional a la vegada que passen una bona estona jugant.


Coneixeu alguna altra iniciativa? Compartiu-la i... a programar!


Actualització (8 d'abril):


Gràcies al comentari en aquesta publicació de TizaconTic, podem afegir una alternativa més a aquest darrer grup d'opcions per programar sense ordinador:
  • Primo
Primo és un petit carro que es mou amb les instruccions que li donem a través d'un panell. Com es presenta a la mateixa web, la interfície tangible ajuda als infants a aprendre a programar sense necessitat de text o pantalles.

D'altra banda, recenment ha estat publicada l'app per programar el robot LEGO Mindstorms EV3 des del propi dispositiu mòbil. De moment només està disponible per a iOS i és necessari un codi d'activació que obtenim al adquirir la versió educativa del robot.


Finalment, també en els darrers dies els desenvolupadors de ScratchJr (referenciat a la secció de Programar des de dispositius mòbils) han publicat la versió per a dispositius Android.