Scratch (llenguatge de programació)

De Viquipèdia
Dreceres ràpides: navegació, cerca


Scratch
Scratch
Dissenyat per: Mitchel Resnick
Desenvolupador: Lifelong Kindergarten Group del MIT Media Lab[1]
Darrera versió estable: 2.0 (publicada oficialment el 9 de maig de 2013)
Influenciat per: Logo, Smalltalk, HyperCard, StarLogo, AgentSheets, Etoys
Llicència: GPLv2 i Scratch Source Code License
Pàgina web: Pàgina web

Scratch és un projecte del llenguatge de programació realitzat pel Grup Lifelong Kindergarten del MIT Media Lab, a Massachusetts, i dirigit per Mitchel Resnick, que s'ofereix de forma gratuita. A més a més, està recomanat per a nens/es d'entre 6 a 16 anys, tot i que, qualsevol persona pot ficar-se i utilitzar-lo sense cap problema, és a dir, és un programa obert a tothom.[2]

Scratch està basat en el llenguatge LOGO, que facilita el llenguatge autònom. El seu nom es deriva de la tècnica scratching, utilitzada en el Turntablis.[3] És una eina que es caracteritza per la senzillesa de la seva composició gràfica i que permet la creació d'històries interactives, jocs i animacions i compartir-les amb altres usuaris de manera online. Amb Scratch, els usuaris exploren i experimenten amb diferents elements que ofereix el programa: fons, efectes de so, diàlegs, objectes i animacions, entre d'altres.

Scratch permet que els alumnes puguin:

  • Reflexionar a través dels diferents projectes que hi han creat.
  • Crear animacions i activitats interactives.
  • Imaginar a partir del projecte que estiguem observant.
  • Compartir amb altres persones via on-line.
  • Jugar per aprendre.

Algunes característiques que afavoreixen els entorns educatius són:

  1. Ajudar a pensar algorítmicament i aprendre a abordar problemes metòdicament.
  2. Permet guanyar comprensió sobre conceptes matemàtics com expressions Booleanes, variables, coordenades i nombres aleatoris. 
  3. Ofereix oportunitats per improvisar, posar a prova les seves idees, assajar i corregir errors, de manera que activa processos metacognitius.
  4. Permet obtenir productes en les primeres aproximacions.
  5. Té possibilitats amplies que poden ser aprofitades pel docent.
  6. Permet als estudiants guanyar comprensió sobre alguns conceptes matemàtics.
  7. Fa possible controlar i barrejar diferents medis: Permet compartir les creacions amb la comunitat.
  8. Afavoreix el intercanvi estimulant el aprenentatge col·laboratiu.

El programa ofereix la possibilitat de crear activitats molt diverses. Hi podem trobar projectes relacionats amb les animacions, l'art, els jocs, la música o històries. alguns d'aquests projectes estan destinats a l'educació ja que es poden treballar les diferents àrees que recull el currículum de primària, com les matemàtiques, les llengües, la música, entre d'altres.

La idea bàsica per saber utilitzar aquest programa és l'existència d'uns personatges o objectes que inserits en un escenari poden realitzar una serie d'accions: moure's, parlar, canviar de disfressa o posició, entre d'altres. Les característiques principals del programa en general són les següents:

  1. Presentació gràfica.
  2. Existència de molts recursos en el propi programa.
  3. Les accions dels personatges es formen apilant peces a manera de puzle.
  4. Visualització instantània d'allò que fem en el programa.
  5. Interacció amb els objectes i personatges que introduïm amb el ratolí i el teclat, és a dir, un cop hem creat el nostre projecte podem interaccionar amb ell movent els objectes a la pantalla.
  6. Possibilitat de difondre el nostre projecte en la Web.

Una vegada acabat el projecte, es pot penjar al lloc web del MIT per tal que tothom pugui conèixer i gaudir de la creació. Actualment ja hi ha més de 429.000 projectes públics i que es poden descarregar a l'ordinador per veure com estan fets.

Història[modifica | modifica el codi]

Scratch es va dissenyar tenint al cap l'aprenentatge i l'educació. A mesura que els joves creen i comparteixen projectes en Scratch, desenvolupen habilitats importants en disseny i solució de problemes; i aprenen a pensar creativament, raonar sistemàticament i treballar col·laborativament afavorint l'intercanvi d'idees i estratègies. A més a més, promou el pensament computacional,[4] creatiu, crític i analític en els alumnes, que actualment estan immersos en el procés d'ensenyament-aprenentatge per competències. Aquesta nova visió competencial es pot basar en l'error i la còpia (en referència a observar què fan els altres) com a pas important en l'aprenentatge, ja que fomenta intentar triomfar, ja que fins ara l'error estava vist com el fracàs i no com el pas previ a l'èxit. El fet de marcar-se uns objectius, que mitjançant els intents i l'experimentació afavoreixen la creació, fa possible que els alumnes trobin una motivació en la programació, inclòs els que tenen menys interès pels continguts i les pràctiques educatives habituals.

El nom Scratch prové de la tècnica turntablista de l'scratching,[5] i es refereix tant al llenguatge com a la seva aplicació. La similitud amb l'"scratching" musical rau en la fàcil reutilització de peces: a Scratch, tots els objectes, gràfics, sons i seqüències d'ordres poden ser fàcilment importats a un nou programa i es combinen de noves maneres de tal manera que això permet als nouvinguts aconseguir resultats ràpids i estar motivats per intentar anar més enllà.

No solament es pot utilitzar el programa a través dels controls de l'ordinador, sinó que han sorgit noves maneres d'utilitzar Scratch. Aquestes permeten a l'usuari interaccionar amb el programa i amb el món real dirigint els moviments i les accions dels personatges creats a través d'una càmera, un sensor de moviment, un sensor de llum o un sensor de veu. Fins i tot es pot fer servir un mòbil com a entrada de dades per al sensor de Scratch. Per fer-ho, però, cal descarregar i instal·lar el gestor de dades per al nostre sistema operatiu (Linux, Windows o Mac OS), instal·lar al mòbil un programa per a OSC, i fer-lo apuntar a la IP i el port del nostre ordinador i configurar Scratch per rebre dades de l'OSC.[6]

A més a més, actualment també ha sorgit una nova manera d'utilitzar Scratch mitjançant el sensor Kinect de Microsoft que incorpora una càmera, sensor de moviment i control per veu. Aquest projecte va ser presentar per l'Stephen Howell d'Irlanda, en el darrer ScratchDay celebrat al MIT el 19 de maig de 2012. S'anomena Kinect2Scratch.

El programa permet crear i utilitzar un escenari amb diferents fons, objectes i personatges i atorgar-los moviments, sons i accions. Per fer-ho hi ha blocs autoencaixables, els quals pots programar amb el ratolí, arrossegant-los i col·locant-los en l'àrea de programes. Aquests blocs estan caracteritzats per colors d'acord amb la seva funcionalitat.

Com començar a utilitzar Scratch[modifica | modifica el codi]

Per començar a utilitzar l'Scratch, cal saber que hi ha dues versions que conviuen: la 1.4 i la 2.0. La primera es pot descarregar des de la pàgina web oficial. Per utilitzar la segona, que conté millores, cal crear-se un compte i no cal cap descàrrega prèvia. En aquesta segona versió, els membres de la comunitat poden emmagatzemar i visualitzar les pròpies creacions, així com accedir als projectes dels altres usuaris, podent deixar-hi comentaris, marcar-los com a "favorit" o "m'agrada", denunciar el contingut d'aquests com a "inapropiat" o compartir-los a altres llocs web. Una de les novetats d'aquesta segona versió és poder modificar un projecte ja existent fent clic a la pestanya "reinventar". Totes les noves versions d'un projecte queden enregistrades de forma que els altres usuaris poden saber de quin model parteix. Utilitzar aquest recurs permet no haver de començar des de zero un projecte quan s'està començant a utilitzar l'Scratch. També es pot portar el compte de les visites que ha rebut la creació. Malgrat tot, ambdues versions són totalment compatibles, per la qual cosa es poden realitzar projectes des de qualsevol d'elles.

Les àrees del programa són:

  • Àrea d'objectes, animacions/actors (Sprites en anglès) o escenaris (Stage)
  • Àrea de disseny i execució
  • Àrea de programes, vestits i sons. Tots comparteixen la mateixa àrea
  • Magatzem de blocs d'instruccions, tenim de 8 tipus diferents:
    • Moviment, aquí hi ha tot allò relacionat amb el moviments dels objectes
    • Aspecte, aquí ens trobem amb blocs que modifiquen l'aspecte dels objectes
    • Sons, també podem fer parlar als objectes o tocar sons pregravats
    • Llapis, podem escollir mida, color i fer que l'objecte pinti qualsevol cosa
    • Control, aquests blocs gestionen el que han de fer els objectes i quan
    • Sensors, podem saber si l'usuari fa servir el ratolí o si un objecte xoca amb alguna cosa
    • Nombres, per fer comparacions o generar nombres a l'atzar
    • Variables, aquí podem emmagatzemar informació dins variables o llistes de valors
  • Barra de menús i eines, amb aquests petits botons podem fer les accions habituals de qualsevol programa, com Crear un nou programa, Obrir un ja creat, Desa l'actual programa, etc.

Cal remarcar que no cal utilitzar, obligatòriament, les imatges ni els sons predeterminats que ofereix el programa, ja que el propi Scratch permet incorporar-ne d'externs. Així es pot escollir la imatge o el so més adequat per a la creació.Tenint en compte sempre que les imatges o sons externs que s'incorporin han de ser lliures de drets d'autor o se n'ha de tenir el permís per a poder fer-los servir.[7]

Llenguatge i entorns[modifica | modifica el codi]

Scratch s'utilitza arreu del món en entorns diferents: escoles, museus,[8] centres comunitaris i llars. Està destinat, especialment, per a nens i nen/es d'entre 6 a 16 anys d'edat, però l'utilitzen usuaris de totes les edats. Per exemple, els més petits poden crear projectes, històries interactives, animacions, jocs i realitzar creacions artístiques amb els seus pares o germans. Els estudiants universitaris també poden utilitzar el programa en algunes classes d'introducció a la informàtica, ja que Scratch permet aprendre a programar l'ordinador de manera divertida. A més, els estudiants d'educació superior ho utilitzen en algunes de les seves classes d'introducció a Ciències de la Computació. [9][10]

La finalitat educativa d'aquest programa es pot veure des de dos punt de vista: la del professor i la del l'estudiant.

El professor pot programar des de jocs senzills perquè els alumnes de menys edat controlin la motricitat fina, fins a histories o jocs de lògica, etc per fer el aprenentatges més significatius.

Scratch s'adapta a totes les edats i nivells i possibilita crear animacions sense moviment i introduir-se en el món de la programació amb jocs animats.  Un dels principals avantatges és la possibilitat de compartir aquestes creacions amb altres usuaris d'arreu del món. La utilització de Scratch apropa a l'alumne al concepte de xarxes socials, ja que permet compartir els treballs, programacions i aplicacions que es realitzen amb els altres usuaris[11]

En el disseny del llenguatge, la principal prioritat era fer que aquest i l'entorn de desenvolupament intuïtiu fos fàcil d'aprendre pels nens que no tinguessin experiència prèvia en programació. Hi ha un important contrast entre les potents funcions multimèdia i d'estil de programació multifil i l'abast força limitat del llenguatge de programació Scratch.

La interfície d'usuari per a l'entorn de desenvolupament de Scratch divideix la pantalla en diversos panells: a l'esquerra hi trobem l'escenari, al mig hi ha la paleta de blocs i a la dreta trobem la pantalla d'ordres o àrea des scripts. A la paleta de blocs hi ha fragments de codi (anomenats "blocs") que poden ser portats a l'àrea de scripts per fer programes. Aquests blocs estan classificats per colors: taronja pels blocs de control (si, sinó, repetir, per sempre...), blau fort pels de moviment (avança, gira, apunta...), verd pels de operadors, rosa pel so (tocar, canviar instrument...), blau suau pel sensor, verd fort pel llapis, etc. En no cabre tots a la paleta de blocs, aquesta s'organitza en 8 grups de blocs:

Moviment

El bloc referent a moviment conté els elements necessaris per controlar les accions de moviment i direcció que pertanyen als objectes inclosos al joc. A partir de peces adaptables a les indicacions de control i altres blocs del programa, es creen instruccions que es posen en funcionament un cop s'inicia el joc. En aquest apartat s'inclouen les ordres relacionades amb la posició dels objectes que intervenen en el joc, per exemple la direcció en la que s'han de moure, la duració dels moviments, les rotacions que han de fer o en quin punt de la pantalla s'han de col·locar en iniciar o finalitzar l'activitat. Aquest aspecte és molt important a tenir en compte per tal de permetre que un cop s'ha finalitzat el joc comenci en el mateix punt on vol el creador, ja que sinó, la posició de l'objecte variarà. Aquest bloc també fa del Scratch una eina molt útil, ja que les peces es poden adaptar a totes les necessitats del creador.

Aspecte

Aquest bloc de controls fa referència a les accions, canvis o modificacions que poden patir els diferents elements o objectes de l'animació. Per exemple: podem canviar la disfressa dels objectes (aparença) utilitzant el control "canviar disfressa a" o "següent disfressa". Altra opció és mostrar o amagar els objectes que tenim a l'animació amb els controls "mostrar" o "amagar".

Sons

Aquest bloc permet posar algun so de les carpetes predeterminades que hi ha en el programa o d'una carpeta del nostre ordinador personal, modificar el volum o canviar el tempo del so que s'ha posat en el projecte. Scrtach pot llegir arxius de Mp3 i descomprimits WAV, AIF, i arxius d'AU (codificat amb 8-bits o 16-bits per mostra, però no 24-bits per mostra. [12]

Llapis

El bloc del Llapis conté instruccions que permeten realitzar dibuixos en l'Escenari, a l'utilitzar l'Objecte en l'Escenari com a llapis. Per cada moviment de l'Objecte es dibuixa una línia que va des del punt inicial al punt final del moviment de l'Objecte, creant una seqüència de línies que poden formar la figura que escollim. Per associar el llapis s'utilitza la instrucció “baixar Llapis” i a partir d'aquí per cada moviment de l'Objecte es dibuixa un línia. El programa et permet modificar el disseny de la línia (mida, color, intensitat, etc.).

A partir d'aquí, les eines de que disposa aquest apartat són:

  • Baixar llapis: Instrucció per començar a traçar línies a cada moviment de l'Objecte
  • Pujar llapis: Instrucció per parar de traçar línies a cada moviment de l'Objecte
  • Canviar color de llapis per: Permet augmentar o disminuir el color associat al Llapis
  • Fixar color de llapis a: Permet escollir el color de la línia de la gamma de colors mostrada.
  • Canviar intensitat de llapis per: Número que va del 0 al 100 (0 és negre i 100 blanc). Permet ajustar aquest número augmentant-lo o disminuint-lo.
  • Canviar intensitat de llapis a: Permet fixar la intensitat a un número específic.
  • Canviar grandària de llapis per: Permet augmentar o disminuir la grandària del Llapis.
  • Canviar grandària de llapis a: Fixa la grandària del llapis a un número específic.
  • Segellar: En comptes de traçar un línia dibuixa un segell de la imatge de l'Objecte.
  • Esborrar: Esborra totes les línies o segells dibuixats fins al moment.


Botons i menús

Hi ha caixes de selecció i editors per carregar, guardar, copiar i crear el moviment i direcció. Els més importants són la bandera verda d'arrencada i el senyal de stop vermella, que inicia i atura tota l'execució del programa.

Esdeveniments

Aquest apartat és un dels més útils, ja que permet iniciar les diferents accions que s'utilitzen. És a dir, s'especifica de quina manera comencen les accions que realitzaran els diferents personatges o fons. Per exemple, l'acció pot començar al prémer la bandera verda o al prémer una tecla determinada.

Control

Aquest bloc permet controlar el projecte per mitjà del teclat. A més, el bloc permet repetir accions o moviments dels objectes que hi ha a l'escenari, i aquests es poden quedar quiets o esperant durant uns segons. També es pot donar l'ordre que el projecte s'aturi quan escull la peça que permet aquest ordre.

Sensors

Mitjançant d'aquest bloc els objectes que hi ha a l'escenari poden canviar de moviment o direcció a l'entrar en contacte amb altres objectes de l'escenari o bé amb un determinat color que hi ha a l'escenari. També, quan es prem una determinada tecla del ratolí o del teclat, l'objecte pot canviar de moviment o direcció. A més permet establir un cronòmetre de temps, i graduar el volum del so.

Operadors

El bloc d'operadors conté una sèrie d'instruccions que et permetrà fer una varietat d'operacions, les quals es troben dividides en tres grups:

  • Operacions matemàtiques: permeten realitzar les següents operacions: les bàsiques (Suma, resta, multiplicació, divisió) i les avançades (Mòdul: obté el residu d'una divisió; arrodonir; arrel quadrada, funcions trigonomètriques i logarítmiques.
  • Operacions booleanes: obtenen un valor booleà (cert / fals) i aquest valor és utilitzat en una altra instrucció. Hi ha dos grans grups:
    • Operacions relacionals que s'encarreguen de relacionar primordialment dos valors numèrics: Operador gran que>; Operador igual =; Operador menor que <.
    • Operacions lògiques que et permeten combinar dues o més expressions booleanes amb la finalitat de ser més precís per prendre una decisió. Hi ha tres: operador I, operador O i operador NO.
  • Operacions amb cadenes de text: permeten, per una banda unir o realitzar concatenacions de dues o més cadenes de text o paraules i, per l'altre, et permeten obtenir informació d'una cadena de text o paraula.
Variables

En les versions 1.3.1 i inferiors operadors s'anomenava números.

Per crear una variable en Scratch hem de seleccionar la categoria "variables" i després escollir "Nova variable". En Scratch el tipus de variable no es refereix al contingut que emmagatzema en forma temporal, si no a la seva visibilitat; és a dir, que en Scratch les variables poden ser de dos tipus: locals (fent ús només dels objectes en el que estan definits) o globals, que són compartides per tots els objectes que participen del projecte (aquesta distinció es fa al moment de la creació de la variable). Una vegada que s'ha definit el tipus de variable desitjat apareixen en la zona de programació un nou conjunt d'ordres relatives. Com és usual en els llenguatges de programació, les dues operacions més utilitzades en el que fa referència a les variables són crear-les (botó "Nova variable" i donar-li un valor).

La Generalitat Valenciana facilita una guia didàctica sobre les variables i el seu funcionament.[13]

Recursos

Tota aquesta explicació anterior la podem trobar a la pàgina del Scratch en format de vídeo tutorial. A més a més, existeixen una gran varietat de recursos per ajudar a iniciar-te en el programa. Un d'ells són les anomenades "Scratch Cards", pensades pels més petits, que és una manera fàcil i ràpid per aprendre més codi en Scratch. La part davantera de la targeta mostra el que pots fer; la part posterior mostra com fer-ho.[14] A més, pots veure projectes que utilitzen el codi de les Scratch Cards.

Escenaris L'escenari és on cobren vida les animacions, jocs o històries que creem a Scratch. L'escenari està dividit en un plànol cartesià (x - i) de 480 unitats d'ample i 360 unitats d'alt, on les coordenades x=0, i=0 correspon al centre d'aquest. Si fem clic en el botó presentació podràs visualitzar els projectes a pantalla completa. Per sortir, pressiona la tecla (Esc). En fer clic en els botons Manera Vista augmentarà o disminuirà la grandària de l'escenari, la qual cosa afectarà també a la grandària de l'àrea de programes.

Com adjuntar un projecte al nostre blog o web? Per a adjuntar un projecte Scratch a la web o al blog hem de seguir els passos següents: 1. Escollir el projecte de la web del programa: http://scratch.mit.edu/ o seleccionar-ho dels nostres. Per a seleccionar-ho dels nostres hem d'obrir el nostre compte i clicar a sobre del nostre nom d'usuari. A continuació podem veure els projectes que hem creat. 2. Un cop seleccionat el projecte que desitgem adjuntar s'obrirà una finestra nova on apareixeran diferents accions: A) Descarregar l'arxiu (download) per a modificar-lo amb scratch. Si el projecte està on-line al ser un programa de codi obert podria ser modificat per un altre usuari o ser publicat amb un altre nom. B) Enganxar el projecte (resultat final) a la nostra web o un blog. Per a realitzar això s'ha de clicar “Embed” i apareixerà “Copy this code into your website”. Enganxa l'enllaç que surt a la part de sota de “As an applet” i enganxa'l a la pàgina web o bloc dins de l'apartat “Edició de HTML” (dependrà del blog o editor web). 3. Ja es podrà visualitzar.

Comunitat[modifica | modifica el codi]

El lema de Scratch és "Imagina · Programa · Comparteix." L'èmfasi en la participació i els aspectes socials de la creativitat són una part important de la pedagogia per al projecte.[15] Els programes no són vistos com a caixes negres, sinó com objectes per a realitzar remescles per fer nous projectes. Els projectes creats amb Scratch es poden carregar directament des de l'entorn de desenvolupament al lloc web Scratch, on altres membres d'arreu del món que pertanyen a aquesta comunitat poden descarregar-los (incloent el codi font complet) per aprendre o per realitzar nous projectes mitjançant les idees d'aquests. Els membres també poden comentar, etiquetar i votar els projectes dels altres i compartir idees. Els projectes publicats al lloc web de Scratch estan subjectes a una llicència Creative Commons Reconeixement i es reprodueixen en un applet de Java conegut com a Scratch Player. Aquest applet permet que els programes es puguin executar des de gairebé qualsevol navegador.

El 15 de desembre 2009 la comunitat comptava amb més de 408.227 membres registrats, 95.033 dels quals havien carregat almenys un projecte, amb un total de 796.359 projectes compartits per tota la comunitat. El 8 d'abril de 2013 hi ha uns 1.493.509 membres inscrits, un fet estadístic curiós és que tant al mes de gener del 2009 com al mes de gener del 2013 va haver-hi un augment considerable de nous usuaris registrats.[16] La web rep prop de 7 milions de visites mensuals.[17] Des de la creació del programa Scratch, s'han realitzat més de 2.4 milions de projectes creats per usuaris de diferents parts del món, principalment joves entre els 11 i els 18 anys d'edat. Mensualment, es realitzen al voltant de 50 mil projectes i 300 mil comentaris.[18]

El lloc web estableix sovint desafiaments coneguts com a "Scratch Design Studio" per fomentar la creació i l'intercanvi, proporcionant als usuaris amb un concepte de disseny de base. Hi ha llocs web locals de Scratch en llocs com Portugal[19] i els Emirats Àrabs Units.[20] El 2008, la plataforma comunitària de Scratch (anomenada "ScratchR") va rebre una menció honorífica al Prix Ars Electronica.[21]

Segons les dades facilitades per la pàgina web de Scratch a dia 27 de febrer de 2014, hi ha 2.798.936  membres registrats i 4.857.700 projectes penjants a la xarxa. Les edats dels usuaris que fan un ús considerable de Scratch compren entre els 14 i 15 anys. No obstant això, s'observa un fort augment dels usuaris de 11 i 14 anys.

Hi ha també una comunitat en línia destinada als educadors anomenada ScratchEd,[22] la qual es va iniciar el juliol de l'any 2009. En aquesta, els docents poden compartir històries i experiències portades a la pràctica, intercanviar recursos, resoldre dubtes i comunicar-se amb altres educadors que també fan ús de Scratch. A més a més, té l'avantatge de ser una eina gratuïta. Aquesta eina substitueix l'antic fòrum d'educadors de Scratch, que segueix disponible com a referència però ha quedat en desús.

Tenint en compte les dades anteriors, la comunitat Scratch és una comunitat molt activa i en augment constant pel que fa a membres i projectes. Una mostra d'aquest fet és la celebració de la V Conferència Internacional de Scratch Scratch Connecting Worlds a Barcelona, concretament al Citilab de Cornellà. Aquesta es va dur a terme entre el 25 i 27 de juliol de 2013. Va ser la primera vegada que es va fer un esdeveniment mundial sobre Scratch fora de la seu del MIT a Boston.

Anualment es realitza l'esdeveniment de Scratch Day, que el 2013 es va realitzar el dia 18 de maig. Scratch Day és una xarxa mundial de reunions, on les persones es reuneixen per conèixer a altres Scratchers, compartir projectes i experiències, i aprendre més sobre scratch. El 2013 es van realitzar 182 trobades en 46 països diferents. A Catalunya es van organitzar dues trobades, una a la Universitat Oberta de Catalunya i l'altre a Citilab Cornellà. En referència a la comunitat catalana, aquesta n'és una de les més actives: gràcies al portal ScratchCatalà, el català esdevingué la tercera llengua en ser traduïda la versió 2.0.[23] Aquest portal, no tan sols ofereix l'oportunitat de trobar recursos i ajudes sobre com iniciar-nos en la programació amb Scratch sinó que serveix de punt de trobada per compartir projectes, dubtes i experiències tant entre els docents com no docents que fan ús de l'eina, amb objectius educatius o d'oci.

Per últim, destacar el suport i finançament d'aquest programa. El projecte Scratch iniciat l'any 2003, ha rebut generoses donacions de diverses identitats com són: NationalScience Foundation (donacions 0.325.828, 1.002.713, 1.027.848, 1.019.396),Fundació Intel, Microsoft, Fundació MacArthur, Fundació LEGO, Fundació Code-to-Learn, Google, Dell, Fastly, Inversoft, i el consorci d'investigació del MIT Media Lab.

Característiques i derivats[modifica | modifica el codi]

La versió actual d'Scratch no tracta procesos com si fossin estructures de primera classe i té les opcions d'Entrada/Sortida limitades a les que ofereix el protocol d'Extensió Scratch 2.0, una extensió experimental que permet la interacció entre Scratch 2.0 i altres programes com Lego Mindstorms o Arduino. A més a més, Scratch 2.0 només soporta arrays d'una dimensió, també conegudes com a “llistes”, mentre que Scratch 1.4 no ho fa, només soporta cadenes de caràcters i escalars amb coma flotant, toti que amb una capacitat de manipulació molt limitada.

La versió 2.0 de Scratch va ser posada en línia el dia 3 de Maig de 2013, mentre que la versió fora de línia encara està en fase de proves.

Hi ha moltes millores anomenades Modificacions d'Scratch que han estat creades a partir del motor 1.4 del programa. Bàsicament, aquestes normalment afegeixen blocs nous o canvis en la Interficie Gràfica d'Usuari. Altres, però, canvien l'Scratch més profundament, introduint canvis com el BYOB (crea els teus propis blocs), permentent llistes de primera classe i esquemes prototipics d'herència, que fan que Scratch realment sigui un llenguatge orientat a objectes.

El codi Font d'Scratch i els seus derivats estan basats en Squeak, el qual està basat en Smalltalk-80. La versió 2.0 d'Scratch està implementada sobre ActionScript, amb un intèrpret experimental basat en JavaScript desenvolupat en paral·lel.

Actualment s'està parlant d'un nou projecte anomenat Scratch Jr, el qual es tracta d'un nou projecte del MIT dissenyat amb l'objectiu que l'alumnat d'educació infantil pugui aprendre a programar.[24]A més, les característiques de Scratch, amb una forta direcció constructivista, possibilita que sigui una gran eina per fer servir amb alumnes amb necessitats educatives especials, tenint un gran ventall d'aplicacions.[25]

Referències[modifica | modifica el codi]

  1. "Scratch" Consultat el 25 de maig de 2007
  2. http://www.edukanda.es/mediatecaweb/data/zip/1174/page_03.htm
  3. http://www.slideshare.net/marcelapanchi/scratch-13866464
  4. New frameworks for studying and assessing the development of computational thinking.
  5. [enllaç sense format] http://web.mit.edu/newsoffice/2007/resnick-scratch.html
  6. Córdoba, Pau. «Scratch "parla" amb el mòbil». [Consulta: 5 juny 2013].
  7. http://scratch.mit.edu/help/faq/#remix [Consulta't el 05.05.2014]
  8. [enllaç sense format] http://www.smm.org/ltc/scratchday
  9. [enllaç sense format] http://doi.acm.org/10.1145/1227310.1227388
  10. [enllaç sense format] http://www.cs.harvard.edu/malan/scratch/printer.php
  11. http://blog.smconectados.com/2014/03/07/programacion-para-ninos-scratch-en-el-aula/
  12. «Guia de Scratch 1.4». [Consulta: 04/06/2013].
  13. GUIA DIDÀCTICA VARIABLES de la Generalitat Valenciana: http://cefire.edu.gva.es/file.php/1/scratch/6.2-variables/2_variables.html
  14. http://cdn.scratch.mit.edu/scratchr2/static/__3b560f5c6713f06ff0c7b2c5fbe75266__/pdfs/help/Scratch2Cards-ca.pdf
  15. Animar els nens a crear i compartir elements de programació.
  16. [enllaç sense format] http://scratch.mit.edu
  17. [enllaç sense format] http://www.quantcast.com/scratch.mit.edu
  18. http://colombiadigital.net/caja-de-herramientas/herramienta-recomendada/item/1588-comunidad-scratch-red-social-creativa-para-ninos-y-jovenes.html
  19. [enllaç sense format] http://kids.sapo.pt/scratch
  20. [enllaç sense format] http://scratch.uaeu.ac.ae/
  21. [enllaç sense format] http://www.aec.at/prix_history_en.php?year=2008
  22. [enllaç sense format] http://scratched.media.mit.edu
  23. Catalan, Eugeni. «Traducció Scratch 2.0 finalitzada». [Consulta: 5 juny 2013].
  24. http://wiki.scratch.mit.edu/wiki/ScratchJr
  25. LÓPEZ-ESCRIBANO, Carmen; SÁNCHEZ-MONTOYA, Rafael. «Scratch y Necesidades Educativas Especiales: Programación para todos». RED. Revista de Educación a Distancia. Número 34.

Vegeu també[modifica | modifica el codi]

Enllaços externs[modifica | modifica el codi]

A Wikimedia Commons hi ha contingut multimèdia relatiu a: Scratch (llenguatge de programació) Modifica l'enllaç a Wikidata