Archives for posts with tag: Scratch

Mitt i den kanske sömnigaste sommarveckan hittills fick jag plötsligt anledning, blev tvungen rentav, att skriva en blänkare här på bloggen. För nu är Scratch Jr här!

Som namnet antyder är Scratch Jr en version av Scratch, det fina verktyget/språket för visuell programmering, som är avsedd för lite yngre barn. Den uttalade målgruppen är 5-7-åringar. Projektet har förverkligats genom en framgångsrik insamlingskampanj på Kickstarter.

Till att börja med finns Scratch Jr tillgängligt som Ipad-app. Har själv precis laddat ner den och tänker ägna kvällen åt att testa. (Karin Nygårds har både hunnit testa och skrivit en kort recension.) Senare i år släpps en Androidapp och nästa år kommer en version som, precis som vanliga Scratch, är tillgänglig direkt via webbläsaren.

Missade du chansen att stödja Scratch Jr på Kickstarter? Du kan främja den fortsatta utvecklingen av Scratch genom att skänka en slant till Code-to-Learn-stiftelsen.

/Mats

Annonser

Sedan jag började blogga om olika sätt att lära sig programmera har jag stött på ett stort antal verktyg och resurser, avsedda för nybörjare i olika åldrar. En del har jag hittat via andra bloggar, artiklar och Twitterinlägg. En del har ni läsare/följare tipsat om. Några har jag själv blivit riktigt förtjust i, och puffat för i tidigare inlägg. Andra har jag bara testat lite grann och vissa har jag ännu inte hunnit prova alls.

De här verktygen har nu blivit så många att jag känner att det är dags att sammanställa dem i en lista (inte minst för min egen skull, så att jag inte glömmer bort något). Först tänkte jag dela upp dem i barn- och vuxenverktyg. Men det är rätt svårt att bestämma var gränsen ska dras. Jag har själv haft nytta av – och framför allt mycket kul med – verktyg som egentligen är avsedda för barn. Och många äldre barn som är duktiga på engelska kan säkert använda de verktyg som är till för vuxna. Så här följer de i stället rakt upp och ner, i den ordning de dök upp i mitt huvud.

1. Scratch

Scratch är ett visuellt programspråk och ett utvecklingsverktyg. Eller, lite enklare uttryckt, ett program där man ”pusslar” ihop kod i stället för att skriva den. Scratch är i första hand avsett för barn mellan 8 och 16 år, men kan förstås användas oavsett ålder. Med Scratch kan man skapa spel, animationer med mera. Man kan även dela med sig av sina projekt, och kolla in andras, på Scratchs webbplats. Kom nyligen i en ny version, som körs direkt i webbläsaren. Finns, till skillnad från flertalet verktyg nedan, på svenska.

2. Snap

Snap, eller Build Your Own Blocks som verktyget tidigare kallades, är en vidareutveckling (”extended reimplementation”, heter det på hemsidan) av Scratch. Till skillnad från originalet kräver Snap inte Flash för att fungera. Å andra sidan finns det inte på svenska och de sociala funktionerna tycks vara begränsade. Är snarare avsett för gymnasie- och högskolestudenter än för mindre barn.

3. Tynker

Tynker är ännu en Scratch-variant, som i skrivande stund bara är tillgänglig för skolor men som ”snart” (enligt hemsidan) ska släppas för privatpersoner. Körs i webbläsaren, kräver inte Flash.

4. Hopscotch

Även Hopscotch påminner rätt mycket om Scratch, men har betydligt färre funktioner och körs på Ipad. Kan användas för att skapa animationer av enklare slag (enligt tillverkaren kan man även göra spel). Rekommenderas (av tillverkaren) för personer från 8 år och uppåt.

5. Daisy the Dinosaur

Hopscotch-folket ligger även bakom Daisy the Dinosaur, en liknande Ipad-app som tycks vara avsedd för något yngre barn. Här gäller det att skapa små program som får dinosaurien Daisy att röra sig på skärmen. Det ska också gå att skapa ett eget spel om man laddar ner ett speciellt kit.

6. Greenfoot

I Greenfoot, som beskrivs som en interaktiv utvecklingsmiljö, lär man sig objektorienterad programmering i Java. Enligt Wikipedia är Greenfoot främst tänkt att användas i utbildningssyfte, på gymnasienivå och uppåt. Ska kunna användas för att skapa spel, simuleringar och andra grafiska program. Är plattformsoberoende och laddas ner här (observera att man även måste ha Java Development Kit, JDK,  på datorn).

7. Kids Ruby

Kids Ruby är ett barnanpassat utvecklingsverktyg för programmering i Ruby. Verktyget har en hjälpmeny med texter om bland annat programmeringens grunder, sköldpaddsgrafik och spelprogrammering med ramverket Gosu. Finns här för Windows-, Mac- och Linuxdatorer (inklusive Raspberry Pi). Kommer snart i en svensk version!

8. Hackety Hack

De programmerare som ligger bakom Kids Ruby har hämtat inspiration från Hackety Hack, som är ett snarlikt verktyg. Hackety Hack skapades ursprungligen av den i Rubykretsar smått legendariske programmeraren Jonathan Gillette, mer känd som ”why the lucky stiff”.

9. Codecademy

Codecademy är en utbildningssajt med interaktiva kurser i Ruby, Python, Javascript med flera programspråk. I takt med att man klarar av de olika övningarna samlar man på sig poäng och medaljer. Det finns också olika grupper för den som vill diskutera, koda tillsammans med och lära sig av andra användare.

10. Code School

En annan sajt som erbjuder interaktiva kurser i programmering är Code School. Här finns också instruktionsvideor. Flertalet kurser och filmer är bara tillgängliga för betalande prenumeranter, men det finns en hel del gratismaterial. På Code School kan man, förutom t ex Ruby, Javascript och HTML/CSS, lära sig att koda Ipad- och Iphone-appar.

11. Try Ruby

Code School driver även Try Ruby, en sajt som ursprungligen skapades av ”why” (se Hackety Hack ovan) och som för undertecknad var inkörsporten till språket Ruby. Interaktiv tutorial som bara tar cirka en kvart att slutföra. Sedan kan man med fördel gå vidare till Codecademys eller Code Schools kurser.

12. Khan Academy

Khan Academy är ytterligare en utbildningssajt som dock har ett betydligt bredare utbud än de ovan nämnda. Här kan man studera såväl konsthistoria som organisk kemi, men också få en introduktion till programmering (se under ”Computer Science”).

13. Code Monster

Code Monster är en interaktiv tutorial i Javascript avsedd för barn. Man skriver koden i en ruta och ser omedelbart resultatet i rutan bredvid. Genom att följa instruktionerna från kodmonstret (som pratar engelska) får man stegvis lära sig grundläggande saker som variabler, loopar och villkorssatser.

14. Eloquent Javascript

En annan, betydligt mer krävande, ingång till Javascript är Eloquent Javascript, som är en e-bok med interaktiva exempel/övningsuppgifter. Också en bra grundbok i programmering, för den ambitiösa nybörjaren.

15. Kojo

Kojo beskrivs som ett lärandeverktyg för programmering och matematik. Finns i en svensk version och kan användas för att skapa sköldpaddsgrafik, musik, animeringar, spel med mera. Bygger på programspråket Scala och kan antingen köras direkt från webben eller laddas ner. Kräver Java.

16. Kodu Game Lab

Med Kodu Game Lab kan ungarna skapa egna 3D-spel. Om de begriper hur man gör, vill säga. Kodu är visuellt häftigare än Scratch men också, enligt min mening, svårare att komma igång med. Som tur är finns det gott om instruktionsvideor, både på Kodus webbplats och på Youtube. Det är Microsoft som ligger bakom Kodu, och verktyget är således endast tillgängligt för Windows. Laddas ner här.

17. Alice

Alice är ett annat alternativ för dig som tycker att två dimensioner är en för lite. På hemsidan beskrivs Alice som en miljö för 3D-programmering som man kan använda för att skapa animationer, spel och videor. Tanken är att programmet ska ge en första introduktion till objektorienterad programmering. Kräver, liksom Greenfoot ovan, JDK för att fungera och kan laddas ner här (senaste versionen, även tidigare versioner finns tillgängliga på sajten).

18. Processing

Processing är ett programspråk och en utvecklingsmiljö som, enligt hemsidan, lär ut programmeringens grunder ”i en visuell kontext”. Programspråket beskrivs på Wikipedia som en förenklad version av Java. Kan köras på Windows-, Mac- och Linuxdatorer och laddas ner från webbplatsen, där man också kan titta på den här filmen om kreativ programmering med Processing.

19. Code Avengers

Roligt och effektivt lärande för alla åldrar utlovas på Code Avengers, som är en annan sajt med interaktiva tutorials. Här kan man lära sig Javascript och HTML/CSS. De första lektionerna är gratis, vill man sedan gå vidare till högre nivåer så kostar det en liten slant.

20. Sommarprogrammering.se

Sommarprogrammering.se
är en sajt som Stockholms universitet och KTH ligger bakom. Via den kan man skapa ett kurskonto och sedan gå en liten webbkurs i programmering. Det programspråk som används är Python. Man får även lära sig att använda ett terminalfönster i Windows/Unixliknande system. Observera att ingen formell ansökan till kursen krävs, utan man får tillgång till kursmaterialet direkt efter registrering. Man kan alltså gå den ”på skoj”.

Här väljer jag att dra ett streck för listan, även om jag har ytterligare några kandidater i bakhuvudet. Som synes har jag inte tagit med ”programmeringsspel” som Move the Turtle och Cargo-Bot – om dem har jag skrivit i en tidigare bloggpost. Ej heller har jag listat ”vanliga” e-böcker eller tutorials, utan ett krav har varit någon form av interaktivitet. Ett annat kriterium har varit att verktygen ska vara gratis.

Har jag missat något verktyg som absolut förtjänar att vara med? Posta gärna en länk i kommentarsfältet!

/Mats

PS. Om du absolut känner att du måste ha mer att välja på hittar du ytterligare några utbildningssajter/interaktiva tutorials här och ett stort antal resurser för kodande barn här.

En liten nyhetsblänkare: Den nya versionen av Scratch, det fina verktyget som låter barn skapa spel och animationer och på köpet ger dem grundkunskaper i programmering, finns nu tillgänglig här. Det rör sig om en så kallad betaversion, och allt kanske inte fungerar precis som det ska ännu. Det finns inte heller någon svensk version i skrivande stund, men den ska vara på gång.

Scratch 2.0

Den kanske största nyheten i Scratch 2.0, som versionen heter (föregångaren heter 1.4), är att tjänsten är helt webbaserad. Med andra ord behöver man inte längre ladda ner och installera något program på den egna datorn – eller ladda upp de färdiga projekten på Scratchs webbplats. De sociala funktionerna har också byggts ut rejält. Och dessutom går det nu att göra spel som kan styras via en webbkamera! Här kan du läsa mer och här ligger en liten film om nya Scratch.

Om mina egna, och mina barns, tidigare erfarenheter av Scratch har jag skrivit här och här.

/Mats

Jag har skapat mitt allra första spel i Scratch! Verket i fråga är en skamlös rip-off på det klassiska arkad- och tv-spelet Pong. Trots att Pong är ett av världshistoriens allra enklaste spel, och trots att jag har förenklat det ytterligare (bl a saknas den basala funktionen poängräkning), så fick jag klura en hel del innan spelet funkade som jag ville.

Eftersom det redan ligger massor av Pong-varianter – varav de flesta är betydligt mer sofistikerade än min – på Scratchs sajt så har jag inte brytt mig om att ladda upp min version. Men jag kan bjuda på en bild:

Ungarna då? Åh, de är sedan länge klara med sina första alster. Nioåringen har gjort ett spel där en liten djävul försöker undkomma två virvlande basebollar och sjuåringen ett där en flicka jagas av en hund. Båda är kraftigt influerade av spelet Snöbollskrig, vars skapare här berättar hur hon har gjort.

Just det här att snegla på andra är ett bra sätt att komma igång med Scratch, tycker jag. Förutom att titta på Youtube-filmer kan man ladda ner projekt från Scratchs webbplats och studera den bakomliggande koden. Dessutom följer mängder av exempelprogram med när man installerar själva utvecklingsverktyget.

Och så kan man förstås hämta inspiration genom att spela andra Scratchspel. Själv börjar jag, efter att ha testat det här spelet, fundera: Är inte ännu en version av Pac-Man precis vad världen behöver? Jo, så tror jag bestämt att det är.

/Mats

Att det kan finnas en poäng med att låta ungarna börja direkt med ett riktigt programspråk, det har jag konstaterat i ett tidigare inlägg. Och som trogna läsare vet har jag identifierat Ruby som ett lämpligt nybörjarspråk. Men det går inte att komma ifrån att det kan vara svårt, i synnerhet för mindre barn, att lära sig skriva satserna på rätt sätt, stava till konstiga kommandon, sätta olika märkliga tecken på rätt ställen osv. Då kan Scratch vara ett bra alternativ.

Liksom Kids Ruby är Scratch en miljö där man både sätter ihop och kör sina program, det vill säga ett slags enkelt programutvecklingsverktyg. Den stora skillnaden är att man inte skriver programmen i Scratch – i stället ”pusslar” man ihop bitar med mer eller mindre färdig kod. Så här kan ett skript (en programsnutt) i Scratch se ut:

Programmet i fråga får en bild av en katt (eller något annat) att röra sig fram och tillbaka på skärmen, till ett mäktigt (nåja) trumbeat. Som ni ser är själva koden på svenska, och att Scratch finns i en svensk version är en stor konkurrensfördel gentemot många andra, liknande hjälpmedel. På Youtube ligger dessutom flera instruktionsvideor som är på svenska, här är ett exempel, och här finns en hel svenskspråkig sajt om Scratchprogrammering.

Med Scratch kan man relativt enkelt skapa grafik, animationer, musik och spel och den som vill kan ladda upp sina färdiga program på Scratchs webbplats. Mitt eget första intryck av Scratch var att miljön var lite rörig, men tack vare den här guiden (pdf) var jag snart igång. Och när jag lät sju- och nioåringen leka med Scratch på egen hand dröjde det inte länge innan tidigare nämnda katt både roterade, jamade och ropade hej.

Förutom att det är förbaskat kul ser jag flera fördelar med att använda Scratch som en introduktion till kodande: Barnen lär sig att tänka programmering, får en förståelse för själva utvecklingsprocessen, får ett hum om villkorssatser, loopar etc. Och det där har de förstås stor nytta av om och när de tar sig an ett annat språk.

Barnen och barnen, förresten. Såvitt känt finns ingen åldersgräns, och jag kan själv intyga att även en 37-åring kan ha glädje av Scratch. Prova du också!

/Mats