Archives for posts with tag: Kids Ruby

Jag bryter de senaste månadernas bloggtystnad för ett viktigt meddelande: Den svenska versionen av Kids Ruby, det på denna blogg omtjatade verktyget för barn och andra nybörjare som vill lära sig att koda i Ruby, finns äntligen tillgänglig här. Åtminstone för er som använder Windows eller Mac, versionerna för Debian och Raspberry Pi är i skrivande stund inte uppdaterade (ni som vet hur man gör kan förstås hämta den senaste releasen på Github).

Det finns ingen info om den svenska versionen på hemsidan, utan jag upptäckte detta när jag installerade om Kids Ruby på en av våra datorer (förmodligen har den legat där ett tag). Bry dig inte om att det inte går att välja svenska under installationen, när programmet väl startas så väljs det språk som ditt operativsystem är inställt på.

Aldrig hört talas om Kids Ruby? Om du vill veta mer så ligger alla de inlägg där jag skrivit om verktyget här.

Jag filar förresten på ett ”riktigt” blogginlägg. Det handlar om ett av de mest populära – och kanske det allra mest utskällda – programspråken i världen. Återkommer!

/Mats

Annonser

Tänkte bara kort berätta att jag har kompletterat min handledning för barn/unga (och andra nybörjare) som vill lära sig att koda spel i Ruby med ett par små videofilmer (som jag utan framgång har försökt bädda in i blogginlägget…).

I videorna beskriver jag hur man laddar ner och installerar verktyget Kids Ruby och hur man skapar ett spelfönster med Ruby och spelbiblioteket Gosu. Jag går inte på djupet i filmerna, utan de är tänkta att användas tillsammans med de skriftliga instruktionerna. Tanken är att nybörjare som har svårt att komma igång ska få ytterligare lite hjälp på traven. Eventuellt gör jag videoversioner av fler lektioner.

Förresten: Det lilla rymdspel som skapas i spelskolan ligger numera på Github. Kom gärna med förslag på tillägg/förbättringar. En extralektion om ljudeffekter är redan på gång.

/Mats

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.

Så, nu har jag gjort det, något år efter de verkliga entusiasterna: hoppat på Raspberry Pi-tåget. Jag har länge gått och funderat på vad man egentligen kan göra med den där lilla enkortsdatorn, och till slut blev nyfikenheten för stor. Om inte annat får jag, för en relativt ringa penning, bekanta mig med Linux-världen. Och så får ungarna en leksak som kanske kan stimulera deras intresse för datorer och programmering.

Jag beställde den utrustning jag behövde – det kretskort som är själva datorn, skal, minneskort, strömadapter, tangentbord och HDMI-kabel – från den svenska återförsäljaren MyPi. Totalkostnad, inklusive frakt och moms: 958 kronor. Ett par dagar senare hade jag grejerna hemma på köksbordet:

DSC_0976

Och efter ytterligare en liten stund var allt monterat och klart:

DSC_0979

Att få igång den lilla burken gick också smidigt, det var bara att följa anvisningarna i den här snabbstart-guiden (pdf). Men sedan började problemen. Hur skulle jag göra för att ändra olika inställningar? Installera program? Jag lyckades inte ens hitta något alternativ för att stänga av datorn (det slutade med att jag ryckte ut sladden).

Det tog mig ett par dagar att övervinna de där hindren och bli vän med min Raspberry Pi. Erfarenheterna mynnade ut i ett antal tips som följer nedan. Kanske kan de vara till nytta för andra som har köpt/vill köpa en Pi, men som saknar erfarenhet av Linux. De handlar dels om själva användandet, dels om hur man som nybörjare kommer igång med programmering på Pi:en.

1. Ändra till svenskt tangentbord

Det första problemet jag ställdes inför var att Raspberry Pi i defaultläget använder brittisk tangentbordslayout, vilket gör det svårt att hitta olika skiljetecken (och omöjligt att skriva å, ä och ö). Att ändra denna inställning via skrivbordsmiljön låter sig inte göras. I stället får man använda den så kallade terminalen, på det här viset:

  • Öppna ett terminalfönster genom att dubbelklicka på ikonen LXTerminal (eller logga ut från skrivbordet med knappen längst ner till höger).
  • Skriv sudo nano /etc/default/keyboard följt av return (du får fram snedstrecket genom att trycka minus/bindestreck). Detta kommando öppnar konfigurationsfilen för tangentbordet i texteditorn Nano.
  • Använd piltangenterna för att gå till den rad som börjar med XKBLAYOUT och ändra de två bokstäverna mellan citattecknen från gb till se.
  • Tryck ctrl + x för att avsluta, ”y” för att genomföra ändringarna och return för att spara filen.
  • Starta till sist om datorn med kommandot sudo reboot (eller den längre varianten sudo shutdown -r now). Klart!

(Ett annat, i mitt tycke lite krångligare, sätt att ändra tangentbordsinställningarna är att använda kommandot sudo dpkg-reconfigure keyboard-configuration.)

2. Stänga av datorn

Om man ska lita på på Raspberry Pi:s egen FAQ-sida så gjorde jag helt rätt när jag drog ut sladden. Men det kändes inte bra i magen. Nog borde väl till exempel minneskortet kunna ta skada? Nej, en bättre lösning torde vara att öppna terminalen och ge kommandot sudo halt (eller sudo shutdown -h now). Efter några sekunder är datorn avstängd. Hur man startar om den? Jo, man drar ur kontakten och sätter i den igen.

3. Installera Minecraft

Sonens (och mitt) favoritspel Minecraft finns i en gratisversion för Raspberry Pi, och att installera det var en självklarhet. Men trots att jag följde anvisningarna på Pi-versionens webbplats till punkt och pricka fick jag inte spelet att starta.  Om du råkar ut för samma sak, prova det här (sedan du laddat ner spelet och packat upp det med tar-kommandot):

  • Öppna terminalen och förflytta dig till spelets katalog med kommandot cd mcpi.
  • Skriv sudo chmod +x minecraft-pi följt av return. Detta kommando gör så att filen ”minecraft-pi” blir körbar.
  • Starta spelet genom att skriva ./minecraft-pi.

Lösningen hittade jag på den här bloggen, där man också kan lära sig att skapa en genväg för Minecraft på Pi:ens skrivbord.

4. Använda terminalen

När problemen ovan var lösta hade jag insett det: om jag ska få användning för min Pi måste jag lära mig mer om hur man använder Linux-terminalen. En bra, första introduktion till terminalen ges i Pi-manualen som du kan ladda ner här (pdf). För vidare studier rekommenderas denna handledning. Och om den ger mersmak och du vill ha ytterligare fördjupning kanske gratisboken ”The Linux Command Line” på 522 sidor, av samme skribent, kan vara något?

5. Komma igång med Python

Förutom Scratch – som jag har skrivit om i flera tidigare blogginlägg – får du programspråket Python ”på köpet” när du installerar operativsystemet Raspbian på din Pi. Jag är själv bara ytligt bekant med Python, men jag har stött på ett antal böcker och tutorials som verkar bra. Tredje kapitlet i Pi-manualen handlar om Python och kan vara en lämplig startpunkt. I slutet av kapitlet finns en lista med länkar till ytterligare resurser. ”Snake Wrangling for Kids” är en gratisbok om Python som vänder sig till barn och som finns tillgänglig här. På spelbiblioteket Pygames webbplats finns länkar till ett stort antal e-böcker och tutorials. Och så har Codecademy förstås en Python-kurs som du hittar här.

6. Installera Kids Ruby

Python i all ära – ni som följer den här bloggen vet att jag är en varm anhängare av Ruby, som enligt min mening är ett bra nybörjarspråk för både barn och vuxna. Ett enkelt sätt att snabbt komma igång med Ruby-programmering på Pi:en är att ladda ner och installera verktyget Kids Ruby. Tyvärr saknas anvisningar för installation på Raspberry Pi på Kids Rubys hemsida, men om du gör så här så ska det funka:

  • Ladda ner installeraren för Raspberry Pi från Kids Rubys webbplats.
  • Öppna sedan terminalen och ge kommandot sudo dpkg -i kidsruby-1.3.2-armv6l.deb.
  • När programmet väl är uppackat går det att köra från skrivbordets start-meny (knappen längst ner till vänster).

Tyvärr verkar spelbiblioteket Gosu, Rubyvärldens motsvarighet till Pygame, än så länge inte funka på Raspbian. Men man kan göra mycket annat kul med Kids Ruby, skapa sköldpaddsgrafik till exempel. Kolla in hjälpavsnitten för inspiration (de är på engelska, men en svensk översättning blir förhoppningsvis tillgänglig snart)!

Sådär, det var allt som jag hittills har lärt mig om Linux och Raspberry Pi. För ytterligare nybörjarhjälp hänvisas till den här guiden och till forumen på Raspberry Pi:s webbplats. En annan sajt där man som nybörjare kan lära sig ett och annat är Raspberry Connect. Lycka till! Och om du hittar på något kul med din Pi – tipsa gärna i kommentarsfältet!

/Mats

Vet ni vad jag upptäckte i höstas, då jag började söka efter olika sätt att inviga mina två äldsta barn i programmeringens värld? Jo, att information om programmering som är på svenska och vänder sig till barn och ungdomar i högsta grad är en bristvara. Det tycker jag att vi måste försöka ändra på.

För att dra ett litet strå till stacken har jag skrivit en tutorial, handledning, om hur man skapar ett spel i Ruby med hjälp av spelbiblioteket Gosu. Min förhoppning är att barn i, säg, mellanstadieåldern och uppåt ska kunna använda den. Men även vuxna nybörjare kan säkert lära sig ett och annat av de tio lektionerna, så titta gärna in på den sajt som jag har byggt för ändamålet: rorbecker.com/spelskola/

Jag har hämtat mycket inspiration och kunskap från befintliga, engelskspråkiga tutorials, framför allt den som är ”inbyggd” i verktyget Kids Ruby och den som ligger här. En bild på det spel som steg för steg skapas – Asteroid Storm – ligger nedan. Någon kanske uppfattar en liten blinkning till min barndoms favoritspel Uridium?

spel

Jag har redan fått en hel del feedback och hjälp. Men eftersom jag vill att handledningen ska bli så bra som möjligt så tar jag tacksamt emot ytterligare synpunkter på den. Så hör gärna av er, antingen i kommentarsfältet eller på Twitter!

/Mats

PS. Om du undrar hur det går med den svenska översättningen av Kids Ruby så är den klar sedan länge. Men tyvärr vet jag inte när en svensk version kommer att finnas tillgänglig.

Ni som har följt den här bloggen sedan starten kanske minns att jag vid några tillfällen har gnällt lite på att Kids Ruby, ett verktyg för barn som vill lära sig att programmera, inte finns i en svensk version. Att knappar och menyer är på engelska (alternativt spanska, franska eller japanska) är inget större problem, det tror jag att barn i Sverige överlag kan hantera. Men de lektioner som steg för steg lär barnen grunderna i programspråket Ruby, hur man gör spel och skapar grafik skulle behöva vara på svenska, tycker jag.

Men nu är det färdiggnällt. Häromkvällen började jag i stället att jobba på en svensk översättning, och numera ingår jag i Kids Rubys översättargrupp. Än så länge finns bara en svensk startsida (se bild nedan) och det är svårt att uppskatta hur lång tid arbetet kommer att ta. Men en sak är säker: ju fler som hjälper till, desto fortare går det. Om du liksom jag tycker att barn ska ges möjlighet att prova på datorprogrammering, kan grunderna (åtminstone) i Ruby och vill vara med och översätta är det bara att hojta till, antingen i kommentarsfältet nedan eller på Twitter.

kidsruby

Vill du veta mer om Kids Ruby? I det här inlägget har jag skrivit mer om verktyget, och om hur det gick när mina egna barn testade det för första gången.

/Mats

Ni vet rymdspelet som påbörjades i förra bloggposten, Så gör du ett spel med Ruby? Jag kunde inte låta bli att fortsätta på det, trots att jag skrev att ni skulle få klara resten själva. Så i slutet av detta inlägg ligger nu en tidig julklapp till er som kört fast eller behöver ytterligare inspiration: ett färdigt litet spel, med en del kommentarer till den nya koden.

I korthet så har jag lagt till ytterligare en klass, Asteroid, som används för att skapa asteroider (om man ska vara petig är det en enda asteroid som dyker upp om och om igen) som vårt rymdskepp ska försöka undvika att krocka med. Den bildfil som jag hänvisar till i programmet, ”asteroid.png”, följer med när man laddar ner verktyget Kids Ruby. Och så har jag stulit en bakgrundsbild, ”Space.png”, från ett av de exempelspel som ingår i Rubyinstallationen, fast jag har beskurit den så den passar in i vårt spelfönster och döpt om den till ”space2.png”. Precis som när det gällde rymdskeppet så kan man, om man så föredrar, förstås rita både asteroid och bakgrund själv i Paint eller annat ritprogram. Till sist har jag lagt in en poängräknare samt metoder som stoppar spelet om skeppet träffas av en asteroid.

Ni som har läst de två senaste inläggen om Ruby vet redan det här, men för eventuella nytillkomna läsares skull: För att spelet ska funka på din egen dator måste du ha installerat Rubytolken (hur du gör beskrivs här), sparat själva programmet som en Ruby-fil och så måste de bildfiler som används ligga i samma katalog som programfilen. Sedan är det bara att starta spelet via Rubys kommandoprompt. Mitt eget high score är, i skrivande stund, 380. Kan någon av er slå det, tro?

Nu tar jag bloggledigt över jul- och nyårshelgerna, så det här blir sista inlägget i år. Sedan starten i oktober har bloggen haft cirka 500 besök – tack för det! Och välkomna åter 2013, då jag bland annat ska ta mig an Javascript och kanske prova på Arduino. Dessutom ska jag, har jag tänkt, försöka bygga en egen liten applikation som ungarna kan träna programmering med. Hej!

/Mats

Det utbyggda programmet hittar du här.