Kategoriarkiv: #blogg24

Pepparkaksmått möter 3D-skrivare: ladda ner, skriv ut och baka

Redan för två år sedan, när bloggen var helt ny,  skrev jag om att skriva ut pepparkaksmått med 3D-skrivare. Då hade jag inte provat att göra det själv. Förra året passade jag på att skriva ut ett pepparkaksmått med Escher-motiv när vi lånade en 3D-skrivare till en Geek Girl Mini-träff.

En del av årets skörd av pepparkaksmått utskrivna med 3D-skrivaren.

Tillgången till 3D-skrivare mycket god i år (vi har en Lulzbot Taz 5 och en Lulzbot Mini), så det är snarare pepparkaksdegen som är den begränsande resursen. Det är mamma som gör degen (jag måste lära mig) till pepparkakorna efter recept från min morfars mor som i sin tur fick det av sin moster, som hade bageri (under flera år på 20-talet bakade min morfars mor hemma och sålde kakor – bland annat dessa – för att bidra till familjens försörjning, morfars far arbetade som stuvare som var säsongsarbete i Sundsvall – en annan tid). Det är så här pepparkakor ska smaka, kavlade tunt och ganska hårt gräddade.

Årets skörd av pepparkaksmått utskrivna med 3D-skrivare

I år skrev jag bland annat ut de tre måtten på bilden ovan:

Här gick det lite fort, så degen blev inte så tunnkavlad. Men passar nog måtten bättre.

Den enda jag var missnöjd med var att jag inte noterade att A-måttet inte riktigt satt ihop (vilket det borde ha kunnat göra). Det funkar utmärkt att använda men jag måste hålla reda på mitten-biten till nästa år.

Tips för att skriva ut pepparkaksmått med 3D-skrivare

Var kan man hitta modeller för pepparkasmått som andra har skapat? Måtten ovan har jag hittat via Thingiverse och Cookie Caster.

Thingiverse kan du antingen söka på cookie cutter bland Things eller söka på cookie cutter i Collections. Det vill säga, du får upp antingen sidorna för sakerna som kan skrivas ut (ibland har dessa flera modeller, som i kopp-hängena och bokstäverna ovan) eller samlingar med mått som andra har skapat. Skapar du ett eget konto så kan du skapa din egen samling av mått du är sugen på att skriva ut.

Cookie Caster kan man dels skapa egna mått (mer om detta i kommande inlägg) men också bläddra bland mått som andra har skapat. Man kan säga att kvaliteten varierar och jag har inte hittat någon sökfunktionaliet. Men här hittade jag palmen ovan och även lite roliga sociala medier-logos, som Snapchat-spöket. Förutom att bläddra igenom alla sidor med mått kan det funka att hitta ett mått du gillar och kolla vad mer som den användaren skapat.

Från både Thingiverse och Cookie Caster laddar du sedan ner en stl-fil som du använder för att skriva ut. På Cookie Caster kan du även ställa in hur tunna kanter det ska vara och hur stort måttet ska vara. Deras minsta storlek på mått är ca 5 cm. När du öppnat filen i Cura, Makerbot eller vad du nu använder för att skriva ut så kan du skala om måttet.

Värt att tänka på är att många av de mått man hittar passar bättre en annan sorts deg (sök på ”sugar cookies” om du är sugen) än vår tunnkavlade pepparkaksdeg. De har då en tjockare kant än vad som är praktiskt för vår deg, och är då svåra att få igenom och ta isär (se vänstra bilden med degen). Det fnas som blir där måttet inte helt gick igenom puttade jag upp mot kakorna. Tjockleken på måttets kant kan man ju praktiskt nog ställa in i Cookie Caster, men tänk då på att om du dimensionerar om måttet innan du skriver ut det, så kan kanten eventuellt bli för tunn (jag tänker att jag framöver ska experimentera med vad som är för tunt, dvs för bräckligt) .

En annan sak att tänka på är att precis som när man köper pepparkaksmått i butik måste man göra en bedömning om det blir vettiga kakor av måttet. Finns det många ben, pinnar eller tentakler så kan det bli pepparkakor som går sönder i burken eller kanske redan när man ska flytta dem till plåten.

Tillgång till 3D-skrivare och vad du gör om du inte har det

Sannolikt så har du inte en 3D-skrivare hemma. Om du inte har det, så kan det vara så att du kan få tillgång till en via ett makerspace (se till exempel lista på makersofsweden.se), ett bibliotek eller en skola i din närhet.

Andra möjligheter: Använda tjänster som Shapeways (som skriver ut och skickar till en) eller Etsys marknadsplats för cookie cutters.

Skapa egna pepparkaksmått för 3D-skrivare?

Man blir självfallet sugen på att skapa sitt eget mått. Detta kan göras med de program som vanligen används för att skapa 3D-modeller för utskrift (där ett av de givna nybörjarverktygen är Tinkercad). Men man kan även använd CookieCaster och några andra verktyg för att skapa egna mått. Mer om det i kommande inlägg.

Conrads elektronikjulkalender – Ett elektronikpyssel om dagen

conrad-kalenderEn av anledningarna till att jag håller på med Geek Girl Mini är att jag vill lära mig mer elektronik och att lära andra är ett bra sätt att lära sig själv. Medan jag har tämligen gedigna datavetenskapliga kunskaper är mina kunskaper i elektronik något med utvecklingspotential. Jag valde till och med att läsa datavetenskap på Naturvetenskapliga fakulteten i Lund snarare än datateknik på LTH delvis för att jag trodde att jag var ointresserad av hårdvara (hur jag nu kunde veta det, jag hade ju ingen erfarenhet av det). Delvis beror detta på att jag inte gick i höstadiet i Sverige (utan i USA) och därmed inte fick något av teknikämnet. När det kom till fysiken på IB-programmet så kom jag så långt med formelmanipulation att jag inte ”behövde” förstå något mer.

Hur som helst, detta ska rättas till, jag måste förstå min omvärld, kunna göra roliga projekt och kunna lära andra.

Hurra! En julkalender till!

Nu är det så att Jag är barnsligt förtjust i adventskalendrar. Därför var det givet att beställa den elektronikjulkalender jag hittade från Conrad. Ett elektronikpyssel om dagen fram till julafton, lysande!

Jo men visst, lite elektroniktyska för en som valde franska...

Jo men visst, lite elektroniktyska för en som valde franska…

En överraskning när jag fick hem kalendern var att alla instruktioner var på tyska. Inte alls konstigt egentligen med tanke på att Conrad är ett tyskt företag, men jag hade inte tänkt på det, eftersom jag shoppat från en sajt som är på svenska. Eftersom jag tilltalades av att bättra på mina nästan obefintliga tyskakunskaper genom mina basala elektronikkunskaper, så var jag nästan lite besviken när det trots allt visade sig finnas instruktioner på engelska.

En första recension av Conrads elektronikjulkalender

Hittills har jag hunnit med konstruktionerna från lucka 1 till 5. Jag har öppnat lucka 6 och vet att den viktigaste delen i kalendern finns där, en CMOS-IC 4060, en digital krets som man sedan använder under resten av kalendern.

Innehållet i lucka 1-5 (batteriet ingår inte).

Innehållet i lucka 1-5 (batteriet ingår inte).

Vad tycker jag om kalendern? Jätterolig. Jag ser verkligen fram emot resten av luckorna i kalendern eftersom jag tror att det är en början till att fylla mina kunskapsluckor som jag börjat se när jag lekt med Arduino.

Några tankar om Conrads elektronikjulkalender:

  • Det är väldigt tilltalande med ett elektronikpyssel om dagen, något välförpackat som man kan bli färdig med rätt snabbt.
  • Det är ett trevligt upplägg att man kan välja om man ”bara” ska sätta ihop kretsen som beskrivs i manualen eller läsa mer om bakgrunden.
  • Kalendern är inte något för den renodlade nybörjaren. Beskrivningarna av vad man ska göra kräver en del förkunskaper (eller någon att fråga om hjälp, eller en sökmotor).
  • Om du är sugen på att beställa en kalender, kolla först igenom den engelska manualen för att se att du är bekväm med att följa den. Det behöver inte vara så att du förstår alla förklaringar, utan främst beskrivningen av vad som ska göras.
  • I den engelska manualen finns inga ritningar, så man behöver ha den tyska versionen nära till hands.
  • Tänk på att du behöver ha ett 9V-batteri hemma.

När jag kommit längre med kalendern kommer en uppdaterad recension.

Det är ju inte försent, blir du sugen kan du beställa kalendern nu. Priset har dessutom reducerats sedan jag beställde min.

Favorit i repris: #blogg24

Jag startade denna blogg i december 2014 tack vare #blogg24. Tanken med #blogg24 är att blogga varje dag från första december till julafton, vilket både är ett jättebra idé och skitdålig timing. Förra gången var det verkligen förlösande (bebis nr 2 kom dock inte förrän i april 2015) att komma igång med bloggandet genom #blogg24. Jag fick möjlighet (att tvinga mig själv) att producera innehåll varje dag, vilket i sin tur gjorde att jag tog mig för att skriva om ämnen som jag nog inte annars skulle gjort. Jultemat är tacksamt att knyta an till när kreativiteten tryter.

Resultat från #blogg24 från 2014

Jag blir riktigt glad när jag tittar igenom alla inlägg som jag skrev då, mycket eftersom det var en startpunkt för roliga projekt och samarbeten som blivit av sedan dess. Några av mina favoritinlägg från december 2014 är:

En sak som slår mig när jag ser det jag skrev i december 2014 är hur mycket som hänt sedan dess. Förutom en hel del föräldraledighet har jag tillsammans med flera andra kört Geek Girl Mini-träffar i Malmö i nästan två år, när jag startade bloggen hade vi inte ens haft vår första planeringsträff. Ett av blogginläggen som jag skrev då, Att använda öppna data i skolan, blev sedan ett eget litet Vinnova-projekt med en egen blogg: oppnadataiskolan.se. Och i våras hade Karin Nygårds och jag pengar från Internetfonden för att skapa geekgirlmini.se.

Årets omgång av #blogg24

Detta året tänker jag göra en mer ”utsmetad” version av #blogg24: min ambition är att publicera ett inlägg om dagen, men alla inlägg kommer inte att hamna på min egen blogg. Jag vill ta möjligheten att ta tag i några inlägg som blivit liggande på geekgirlmini.se och oppnadataiskolan.se också. Mest ser jag fram emot att ta upp teman som jag började skriva om för två år sedan, och att inte bara skriva om dem utan också prova att bygga själv. Jag hoppas även att ta mig tid att koppla kod och making till lärande. Mer kod och making åt barnen, och så lek och skapande så att det blir över åt oss stora också. Mot julafton!

Uppdatering efter julen:
Hur gick det då? Tre inlägg på mariefriberger.se och fyra inlägg på geekgirlmini.se. Långt ifrån målet med ett inlägg om dagen. Ska man köra en så hög frekvens på inlägg är ett stort inlägg om att skriva ut pepparkaksmått en dålig idé (om man även vill göra andra saker). Å andra sidan hade det inlägget eventuellt gjort sig väl som mindre inlägg också.  

Summering av #blogg24

Så har jag kommit till det tjugofjärde inlägget, sista inlägget för denna ”säsong”. En dag för sent eftersom det återigen blev vård av sjukt barn den 23/12 och eftersom jag prioriterade julfirande med familjen framför detta inlägg. Gav mig själv en ”deadline extension” (alla som någonsin skickat in något till en akademisk konferens, i alla fall inom datavetenskap, är mer än bekanta med detta) på det sista inlägget.

Summering av bloggens första tid

En del av idéerna jag spånade fram innan bloggen började.

En del av idéerna jag spånade fram innan bloggen började.

Att vara med i #blogg24 har lett till att min nystartade blog nu har 24 inlägg och mer text än vad jag nog hade föreställt mig när jag påbörjade den för mindre än en månad sedan. Att publicera något varje dag har tvingat mig att släppa saker innan de känns färdiga, vilket jag tror på det stora hela är bra. Jag började bloggen med att lista möjliga inlägg, där jag har en del kvar och en del idéer tillkom.

De två klart mest lästa inläggen var det om aktiviteter kopplade till kodtimmen och programmering som julpyssel. De minst lästa inläggen är de allra tidigaste och det från den 23/12, om varför programmering är roligt och svårt, som jag ännu inte hunnit dela.

Målgruppen?

Målgruppen för mina inlägg har nog varierat mer än vad jag tänkt mig. Jag är mest intresserad av att nå lärare som har eller vill ha kodaktiviteter som en del av sin undervisning, men jag har inte hunnit skriva så mycket praktiskt om detta. En del av mina inlägg har nog snarare haft karaktären av datalogisk allmänbildning, andra har nog snarast varit intressanta för de som redan arbetar aktivt för att kod och datalogiskt tänkande ska få en tydligare roll i skolan. Får se hur detta utvecklar sig framöver och om dessa kan samexistera.

Vad som förvånat mig

Så här ser det ut när jag pratar med mig själv, eller när fotoströmmen inte kommer igång tillräckligt fort.

Så här ser det ut när jag pratar med mig själv, eller när fotoströmmen inte kommer igång tillräckligt fort.

Jag har blivit glatt överraskad av hur mycket text och tankar det blivit. Det var detta som jag hoppats skulle vara resultatet av att tvinga mig att skriva varje dag under en halvlång tid (jag är däremot inte säker på att jag hade lyckats med, eller orkat #blogg100, dvs att blogga 100 dagar i rad), men på denna punkten blev det nog bättre än jag väntat. Är däremot förvånad över antalet inlägg jag vågat släppa utan någon vidare korrläsning.

Mina tidsuppskattningar för inläggen har sällan stämt – inlägg som jag trodde skulle gå fort (som att ”bara” sammanställa projekt/länkar kring ett tema) har ofta tagit förhållandevis lång tid, och ett fåtal som jag trott skulle ta mycket tid gick rätt fort (främst sådana som jag skrev från eget huvud och sedan inte redigerade värst mycket).

Det som blivit minst som jag väntat mig är hur många kvällar jag suttit och skrivit inlägg, eftersom dottern varit så sjuk under december. Den myckna sjukligheten, sammantaget med att jag inte varit sugen på att skriva ett alltför hastigt inlägg för att få upp något på rätt dag, har gjort att jag skrivit två inlägg ”dagen efter” och bakåtdaterat dem (friheter man tar sig med nystartade bloggar), och att det sista inlägget, dagens, kommer på juldagen och inte julafton.

Framåt

Ser nu fram emot en kortare bloggpaus innan jag fortsätter skrivandet. Högt upp på listan ligger fler inlägg om datalogiskt tänkande, där jag inte hann lika långt som jag tänkt. Tills dess, god fortsättning!

snowy-oaks

Programmering är roligt, programmering är svårt

Originaltanken för detta inlägg var att skriva om vad som gör programmering svårt för nybörjaren. För även om mycket av det arbete som exempelvis code.org gör handlar om att sänka tröskeln så att fler provar på programmering, så kommer de flesta någon gång att tycka att det är svårt. Vilket väl gäller det flesta saker som man inte kan, som man lär sig, frågan är om det i större utsträckning gäller för programmering? Och i vilket fall som helst så kommer även den vane programmeraren fastna och ge uttryck för frustration (och sannolikt sitta aningen för länge och försöka lösa det, bara för att efter en paus ganska snart upptäckta vad problemet var – det händer inte varje gång, men ofta). Jag blev nyfiken på vad andra sökt på, så jag gick till Google:

google-autocomplete-programmingis

Någonstans så hänger detta med det svåra och det roliga ihop, att det är roligt delvis för att man hitter den rätta mixen av utmaning och hanterbart, till den grad att man kan prata om flow för programmerare eller ”coder’s high” . Därför blir dagens inlägg både om varför programmering är roligt och varför det är svårt.

Varför programmering är roligt

För min egen del är programmering roligt (engelskans fun funkar nog lite bättre än svenskans roligt, men vi kör på det) av flera skäl. Dels handlar det om själva byggandet, att det blir något, vare sig det är något som kommer till användning eller något som man gör för något estetiskt värde eller för att man är sugen på det i stunden. En annan del, som kanske är viktigast för min egen del, är själva problemlösandet, både i det stora (identifiera vad problemen egentligen är, skapa strukturer för att lösa dem) och i det lilla (varför kompilerar inte skiten). Och så kan man kontinuerligt lära sig och utveckla sig, både vad gäller det praktiska (som bättre sätt att hantera utvecklingsprojekt) och det teoretiska (som nya modeller eller algoritmer).

Det finns en känd bok om utveckling av programvara och projektledning av projekt som syftar till att utveckla programvara som heter Mythical Man Month: Essays on Software Engineering. (När jag först hörde talas om den trodde jag den hette Mythical Man Moth, vilket jag tycket var en underlig titel på en bok om utveckling av programvara.) Trots att den kom ut för första gången 1975 anser många att den fortfarande är relevant idag (några nya kapitel kom med på 90-talet). Förutom lärdomar som att det inte hjälper att lägga till fler programmerare till ett försenat projekt, så finns även en lista med de belöningar som finns i att programmera:

  • Glädjen i att bygga saker, som barnet i sandlådan
  • Nöjet i att bygga saker som kommer till användning för andra
  • Fascinationen i att sätta samman pussel-liknande objekt med delar som rör sig tillsammans enligt det sätt som det designades från början, som en flipperspel
  • Glädjen i att lära sig nya saker, både praktiska och teoretiska
  • Förtjusningen i att arbeta med ett material som på en och samma gång ligger nära tanken och drömmarna och ändå kan ge så konkreta resultat – något som får många att dra paralleller till magins värld

Min snabba översättning är inte originalet rättvisa, gå till länken ovan listan och läs själv på engelska.

En sak jag tycker saknas i Brooks lista (och som jag inte själv kom att tänka på när jag började spåna) är nöjet att skapa saker med andra.

Varför programmering är svårt

Många som börjar med programmering tycker att det är svårt. Det som gör det svårt har delvis att göra med de sakerna som gör det roligt (och som är roliga för att man vet att man bemästrat liknande problem tidigare, eller i alla fall har anledning att tro att man ska bemästra det problem som man just nu står för). Men det är också svårt för att det finns praktiska hinder, nya tankesätt, ny teminologi. Några exempel:

  • Programmering är förhållandevis oförlåtande för små misstag. Och de felmeddelanden som man får är inte alltid begripliga för nybörjare.
  • Dokumentationen är skriven på ett sätt som är svår för nybörjare att ta till sig. Inte sällan finns felaktigheter, vilket är svårt för en nybörjare att förstå.
  • Förhoppningsvis skyddas många nybörjare från det, men att bara sätta upp själva utvecklingsmiljön (programmet där man bygger programmet) kan vara icke-trivialt. Något som kan hindra mig från att påbörja nya projekt i nya språk.
  • Det ställer förhållandevis höga krav på arbetsminnet, att man kan hålla flera saker i huvudet, eller att man skaffar sig en vana att skriva ner saker om man inte har den förmågan.

Listan på vad som gör programmering svårt för nybörjaren kan göras längre. Därför så tror jag att det finns en risk med initiativ som vill få programmering att framstå som något lätt, och det är att många kommer att dels bli frustrerade, men också ännu värre tro att de är dumma när de sedan stöter på problem som de inte reder ut.

Man kan också argumentera bredare om/hur/varför programmering är svårt, det finns en tråd på Quora som tar upp flera intressanta perspektiv.

Det är intressant hur #blogg24 ger en en ursäkt att publicera något halvfärdigt. Jag är trött , mitt sjuka barn håller på att vakna, det är lillejuleafton, så det blir inget skrivande i kväll. Jag har inte alls skrivit så utförligt om varför programmering är svårt eller hur detta faktum kan/ska framställas för en nykomling, eller vad man kan göra för att hantera det. I vanliga fall hade jag sparat utkastet och återkommit en annan dag, idag publicerar jag det. Bra eller dåligt? I mitt fall, i denna stund, mest bra tror jag.

Illustrationer av datalogiskt tänkande

Att illustrera datalogiskt tänkande är inte helt lätt, men det kan göra mycket för att konkretisera koncepten. Blev därför glad när jag hittade Computational Thinking Illustrated. Siten har varit otillgänglig ganska länge, men nu har jag äntligen kommit åt den.

Illustrationerna av datalogiskt tänkande utgår från koncept från den nya datavetenskapskursen Computer Science Principles, som är på gång på high school-nivå i USA (aningen mer om detta senare) och tar upp:

  • Analyzing effects of computation (Computatinal thinking practices)
  • Producing computational artifacts (Computatinal thinking practices)
  • Using abstractions and models (Computatinal thinking practices)
  • Analyzing problems and artifacts (Computatinal thinking practices)
  • Communicating processes and results (Computatinal thinking practices)
  • Working effectively in teams (Computatinal thinking practices)
  • Decomposition (Exploring computational thinking)
  • Pattern recognition (Exploring computational thinking)
  • Pattern generalization and abstraction (Exploring computational thinking)
  • Algorithm design (Exploring computational thinking)

Det är alltså en uppdelning i ”computational thinking practices” och ”exploring computational thinking”, som delvis mappar mot det jag skrivit tidigare om datalogiskt tänkande.

Alla illustrationer med förklaringar finns att ladda ner som en PDF-fil om man inte vill bläddra runt en och en på deras site. Illustrationerna är Creative Commons Erkännande-DelaLika, så de är fria att använda så länge du erkänner källan och om den ändrats, samt att du själv använder samma licens när du sprider materialet vidare. Så nu har jag till slut lagt upp en CC-licens här på bloggen.

Två favoriter: Använda abstraktioner och modeller samt algoritmdesign

Jag gillar de flesta av illustrationerna (dock inte riktigt alla) – dessa två är jag extra förtjust i. Det handlar om hur de fångat koncepten, känslan i bilden och beskrivningarna av koncepten. Har även lyft in delar av dessa beskrivningar nedan.

Bild från ctillustrated.com – "Using abstractions and models"

Bild från ctillustrated.com – ”Using abstractions and models”

Från beskrivningen av illustrationen för att använda abstraktioner och modeller:

In a complex system, we might use many different models and make them work together. We might not even care if one part of the system was switched out for something else that can accomplish the same goal. We could say we’ve abstracted that part of the system. Carefully selecting the qualities we care about and ignoring the rest of the details is the key to abstraction. When we deliberately separate our system into parts that can be individually understood, tested, reused, and substituted, then we are creating new abstractions.

 

Bild från ctillustrated.com – Algorithm design

Bild från ctillustrated.com – ”Algorithm design”

Från beskrivningen av illustrationen för algoritmdesign:

Sometimes we think of algorithms as being written down like a computer program, but an algorithm is more like an idea. The same algorithm can be written in many different computer languages. It’s the steps in the process that make an algorithm what it is.

In order to design an algorithm, or a dance, you need to understand your goal. You also need to understand the constraints of the system. Humans only have two feet, so a dance designed for humans has to work with that limitation. Computational systems have different kinds of limitations, such as the speed of the processors or the size of the memory or the amount of electricity they consume. Designing an algorithm that accomplishes specific goal within the constraints of the system is like creating an elegant dance that everyone else wants to learn.

Bakgrund till Computational Thinking Illustrated

Många har nog läst ”Så funkar det”-böckerna eller liknande när de var små, så även jag. Det är denna typen av illustrationer som de som skapat bilderna är ute efter, enligt denna korta bakgrundsbeskrivning. Det man utgick från för illustrationerna var de principer som är centrala för den nya amerikanska Advanced Placement-kursen CS Principles (som alltså är på gymnasienivå och även om den är tänkt att bredda rekrytering till datavetenskap så är den inte en kurs som alla kommer att gå) . Denna kurs är börjar ges 2016-2017, efter att ha gått på försök utan slutprov (se översikt över kursinnehåll).

Projektet startades genom en Kickstarter-kampanj 2011.

För övrigt, en av de som startade Computational Thinking Illustrated, Ben Chun, startade även ilearnedtoprogram.com, som jag tidigare skrivit om.

Denna vecka: programmering på schemat och ”creepy” algoritmer

Dataprogrammering på skolschemat redan verklighet i Storbritannien – Nyhetsinslag från SVT på 3 minuter, där vi möter elever, en lärare och en forskare som varit med och tagit fram nya läroplanen och stöd för dess införande. Inslaget finns kvar på SVT play till den 18 december 2015.

Behöver alla skolbarn lära sig programmera? – Kristina Alexandersson på .SE argumenterar kring varför alla barn behöver lära sig att programmera: för att det behövs för att förstå tekniken vi dagligen använder och för att vi lär genom att göra. Att det behöver komma in i skolan beror på att det annars finns en risk att det uppstår ett gap mellan ”de som har insatta föräldrar och de som lämnas åt sig själva att förstå består mellan de som upplever teknik som magi och de som kan styra och bestämma för hur denna teknik fungerar”.

The year we get creeped out by algorithms – Artikel som argumenterar för att folk under 2015 i större utsträckning kommer att förstå hur mycket algoritmer påverkar vad vi ser på nätet. Det jag tycker är riktigt intressant är observationen att algoritmer fattar beslut där det inte finns ett tydligt rätt eller fel, dvs de gör någon sort värdering: ”Deep philosophical questions that humans have debated for millennia — and have erected complex (and far from perfect) gatekeeping, credentialing, and judging apparatus to grapple with — are now being asked to computers, and their answers, spat out through proprietary and opaque systems, are being used to shape our lives.”

Data games – Spel på öppna data

Igår skrev jag om olika möjligheter att använda öppna data i skolan. En av utmaningarna med användandet av öppna data är att det kan vara svårt att sätta sig in i ett dataset och att utforska det på ett engagerande vis. Ett sätt att komma förbi utmaningarna i datamängdens storlek och komplexitet kan vara genom spel, spel byggda på öppna data.

Data games – dataspel i ordets rätta mening

Sedan något år tillbaka har min gode vän Julian Togelius och jag byggt spel på öppna data, som vi kallar data games. Det började med att vi helt enkelt ville ha ett projekt tillsammans och det föll sig naturligt att kombinera mitt intresse för öppna data med hans för spel och speciellt att generera spelinnehåll automatiskt. Förutom några enstaka presentationer har vi mest skrivit och pratat om projektet på engelska, men nu blir det på svenska, förutom att jag skriver data games för att ordet dataspel inte ska blandas ihop med det mer generella datorspel.

Data games låter spelare fritt leka med data som beskriver verkliga företeelser, för att utforska och lära sig från dem. Detta innebär någon form av automatisk konvertering av data från externa källor till ett spelbart format.

Exempel på data games

Det första spelet som vi tog fram, Open Data Monopoly, går ut på att generera Monopolbräden från indikatordata (t ex hur trygga folk känner sig eller hur många som går ut nian) för brittiska kommuner. Vår tanke var att spelaren väljer ut ett antal indikatorer och själv viktar hur bra eller dåliga den är. Utifrån detta skapas en spelplan som tar dessa värdering som grund. Spelmomentet ligger alltså mer i att generera spelplanen än att spela Monopol och kan snarast ses som en form av visualisering.

topTrumpsCard-Finland

Open Trumps-kort

Ett antal spel har utvecklats av studenter vid IT-universitetet i Köpenhamn, där Julian har jobbat. Bland annat Open Trumps, som bygger på kortspelet Top Trumps. Här används dataset från FN och Världsbanken för att skapa kort för olika länder, som innehåller ett antal indikatorer (t ex tomatproduktion och förväntad livslängd). För att spelet ska vara roligt och spelbart måste algoritmen som skapar dem se till att inget av korten är allt för mycket bättre eller sämre än de andra. För att det ska gå bra för en i spelet så behövs en del tur, men också att man kan något om de länder som ingår och hur de förhåller sig till andra länder vad gäller de indikatorer som ingår. En initial utvärdering visade att studenter som spelat Open Trumps lärde sig något om länderna i kortlekarna, men också att det blev en hel del diskussion om vad indikatorerna innebar och om det var bra eller dåligt att ha ett högt värde på dem.

BarChartBall

Vi har flera andra spelprototyper som går ut på att ta ett existerande spelkoncept och bygga upp det med öppna data. I BarChartBall är utgångspunkten en annan: vi gör stapeldiagrammet till spelplanen. Målet är att använda staplarna för att putta ut bollen till högerkanten. Genom att välja en annan indikator så ändras spelplanen och genom att känna till något om länderna så blir det lättare eller svårare att putta ut bollen. Vi skrev en kort artikel om BarChartBall.

Mer projekt kommer upp efter hand på data-games.org. Bland annat ska vi skriva mer om vårt senaste projekt, att skapa spel utifrån publikationsmetadata, som vi med stöd från KB snart genomfört tillsammans med två bibliotekarier på Malmö högskola, Jessica Lindholm and Jacob Andersson. Spelet, Abstranaut, har Anders Hartzen programmerat och Anders Thelin har gjort grafiken.

Vi ser också fram emot att fortsätta utforska lärandeaspekterna av data games i allmänhet.

Att använda öppna data i skolan

Bild: "Leidseplein Amsterdam" från Het Nieuwe Instituut på Flickr. Inga kända copyright-begränsningar.

Bild: ”Leidseplein Amsterdam” från Het Nieuwe Instituut på Flickr. Inga kända copyright-begränsningar.

Gårdagens inlägg handlade om datalogiskt tänkande, ett begrepp där organisation och analys av data ofta ingår. Det är mycket prat om data idag, till exempel ”big data” och analyser som kan göras med stora och små datamängder.

Öppna data

Det talas också en hel del om öppna data, ofta underförstått öppna offentliga data. Det handlar alltså om data som offentliga organisationer gör tillgängligt för återanvändning och analys. Det kan till exempel handla om miljödata, sociala frågor eller kulturarv. Förutom det nationella perspektivet kan man ta det lokala, där flera kommuner (t ex Örebro, Helsingborg och Stockholm) tillhandahåller data samt det internationella, med data från t ex FN och Världsbanken.

Vill du läsa mer om öppna data? Här är några startpunkter:

Öppna data i skolan

Öppna offentliga data kan vara en källa för skolan på olika vis, som att göra egna analyser av de offentliga institutionernas data, att använda olika visualiseringsverktyg eller att använda tillgängliggjort bildmaterial.

Det mest ”avancerade” sättet är att gå till källmaterialet och göra en helt egen analys, vilket man på detta vis kan göra inte bara med textmaterial. Detta kräver lite mer och ska det göras från grunden (antingen i Excel eller på mer programmatisk väg) får man komma upp i de högre årskurserna. Ett sådant arbete kan relatera till datajournalistik. Man kan också använda formatet Data Expeditions, där olika personer har olika roller (som scout, storyteller och analytiker) i att skapa en berättelse utifrån data.

För att sänka tröskeln kan olika visualiseringsverktyg användas, som GapMinder (tänker att många har kommit i kontakt med detta genom Hans Roslings presentationer) och SVT Pejl.  Om att använda interaktiva visualiseringar i skolan kan man läsa en hel del på omvärld.se, både inspiration och lärresurer.

Ett tredje sätt är att använda bilder med öppna licenser (t ex Creative Commons). Det kan återigen handla om att gå till källan för att göra egna analyser, men man kan också arbeta med att bygga vidare på materialet i former av mashups och memer (som Kristina Alexandersson pratat om – hon har även skrivit allmänt om att använda Creative Commons i skolarbeten och om återanvändande av kulturarvsmaterial). Kan tipsa om denna gemensamma ingång för att söka Creative Commons-material från flera siter som Flickr, Google och Europeana.

Jag letar efter fler möjligheter och exempel, tar tacksamt emot tips!

Ett första inlägg om datalogiskt tänkande

Innan #blogg24 (dvs blogga varje dag 1 till 24 december) började, dvs precis innan jag startade denna blogg, gjorde jag en lista med möjliga blogginlägg, för att se att jag skulle ha en sportslig chans att faktiskt producera tillräckligt många inlägg. Nu har det visat sig att själva skrivandet i sig har gett upphov till en hel del nya idéer, och att jag haft mindre tid att skriva än jag tänkt, men jag har trots allt utgått en hel del från den listan.

En av de första sakerna som jag skrev ner var ”computational thinking”, vilket jag tycker bäst översätts till datalogiskt tänkande (även om jag tror att termen kan vara avskräckande). Denna term är också den jag oftast ser och ger en del google-träffar. Har nu tänkt ta mig tid att skriva detta inlägg – för jag tänker mig att det skulle ta mer tid än de andra inläggen – i nästan tre veckor. Det blir aldrig att jag har denna längre mängd tid som jag tänker mig att jag behöver. Så jag får börja med ett inlägg idag, och bygga vidare på senare.

Vad ingår i datalogiskt tänkande

Termen computational thinking fick ett bredare genomslag genom Jeanette Wings artikel med samma namn. Den argumenterar för att dessa förmågor är användbara utanför datavetenskapen och dels exemplifierar vad det är. Till exempel handlar det konceptuell förmåga, det är mer än att ”bara” programmera. Det kompletterar och kombinerar matematiska och ingenjörsmässiga kompetenser. Artikeln är från 2006 och sedan dess har det kommit en del förslag på vilka förmågor som ingår i begreppet.

Google har en del resurser kring datalogiskt tänkande, där de tar upp följande problemlösningsförmågor som delar av begreppet:

  • Att bryta ner ett problem i mindre delar (decomposition)
  • Mönsterigenkänning (pattern recognition)
  • Mönstergeneralisering och abstraktioner (Pattern Generalization and Abstraction)
  • Algoritmdesign

Jag tycker inte att de förmågor som Google tar upp täcker allt jag skulle vilja se som en del av begreppet. Den definition som jag gillar bäst hittills är från International Society for Technology in Education och Computer Science Teachers Association, som föreslår att datalogiskt tänkande är problemlösningsprocesser som utmärks av (men inte begränsas till):

  • Formulera problem som gör att datorer och andra verktyg kan hjälpa oss lösa dem
  • Logiskt organisera och analysera data
  • Representera data genom abstraktioner som modeller och simuleringar
  • Automatisera lösningar genom algoritmiskt tänkande
  • Identifiera, analysera och implementera möjliga lösningar med målet att få den mest effektiva kombinationen av steg och resurser
  • Generalisera och överföra dessa processer till en variation av problem

De kopplar även detta till ett antal attityder, vilket jag tycker är en viktig del:

  • Trygghet inför att hantera komplexitet
  • Uthållighet inför svåra problem
  • Tolerans för tvetydighet
  • Förmåga att hantera öppna problem
  • Förmågan att kommunicera och samarbeta för att uppnå gemensamma mål och lösningar

Till slut, två bilder över vad som ingår i datalogiskt tänkande, som överlappar med det som listats ovan, men också tillför och förenklar, från Barefoot Computing och Somerset.

Några fler lästips

Computer Science Teachers Association har en sida med resurser kring datalogiskt tänkande, bland annat denna PDF som kopplar de olika förmågorna till olika ämnen och årskurser. International Society for Technology in Education har också en sida med resurser.

Datalogiskt tänkande = Data + Logik + Tänkande av Fredrik Heintz, Linköpings universitet, som har ett intressant projekt om datalogiskt tänkande.

Presentation om datalogiskt tänkande och skaparkultur i skolan av Peter Parnes, Luleå tekniska universitet, som bland annat kört workshopserie om CS4HS i Luleå och som också har ett intressant projekt om datalogiskt tänkande och maker-kultur i skolan.

Det får vara allt för denna gång, men mer finns att hämta i min Evernote.