Kategoriarkiv: #blogg24

Elektroniskt julpyssel

Jag har tidigare skrivit om programmeringsbaserat julpyssel och igår fick jag mina Circuit Sentiments, vilket ju leder oss osökt in på mer elektroniskt julpyssel. Jag blev nyfiken på vad folk hade gjort för kul, här är tre julpyssel med lite olika svårighetsnivå (och ett som innehåller lite programmering) som jag blev sugen på.

Julgransprydnad: Robot med lysande ögon

Bild från makezine.com

Bild från makezine.com

Jag gillar inledningen på instruktionen för den söta roboten med ondskligt lysande ögon: ”Crafting under pressure is irresistible”. Bakgrunden är alltså en utmaning att skapa en julgransprydnad på kort tid. Fördelen med tidspressen är att det blir en relativt enkel julgransprydnad: robotdelar utskurna i papp, målade, med två dioder kopplade till ett litet batteri.

Julgransprydnad: Twittrande julgranskula

Bild från Instructables.

Bild från Instructables.

För den som lite diskret vill hålla sig borta från telefonen under släktkalaset men inte kan släppa sociala medier kan en sådan här wifi-uppkopplad julkula vara något att hänga i granen (ledsen, det gick inte att låta bli…). Det behövs bland annat en Arduino och en liten LCD-skärm. Instruktionen innehåller kodfiler, både för att prata med Twitter och för att lägga på Arduinon.

Kräver elektronikkunskap och programmerings know-how, men verkar inte allt för komplicerat. Det verkar dock som att man behöver ha tillgång till en server för att göra projektet (för Twitter-kopplingen), vilket kanske kan vara ett hinder för en del.

Lysande paket under granen

Bild från makezine.com

Bild från makezine.com

Om man vill att ens paket ska synas lite extra under granen kan man skapa ett lysande paket. För att man ska slippa sladdarna så använder den en induktionsladdare. Enligt makezine.com så är projektet ”easy”, men eftersom jag är elektroniknovis så framstår det som görbart (eventuellt med lite hjälp) men som en utmaning. En ganska stämningsfull utmaning.

Fynd i brevlådan: Circuit Sentiments och böcker

Brevlådan gav fin utdelning idag. Längtar efter pyssling och läsning, får se om det kommer att generera fler #blogg24-inlägg (dvs, om jag hinner innan julafton).

Circuit Sentiments – byggsatser med elektroniska julkort

circuit-sentiments-arrives

Tidigare i höstas stödde jag en Kickstarter-kampanj, Circuit Sentiments, och idag fick jag ett paket med tre kit: Rudolf, Snöstjärna och Julgran. Verkar myspyssligt och lagom för en elektorniknybörjare som jag. Läs mer om projektet och kolla instruktionerna (som eventuellt inte är helt färdiga ännu).

Computational Fairy Tales, Best Practices of Spell Design och Lauren Ipsum

computationalFairyTalesplus2moreNu har böckerna som jag skrev om för ett tag sedan äntligen kommit, så jag hoppas snart återkomma med recensioner av dessa.

 

”Making” i pepparkaks-tema: 3D-skrivare och laserskärare

De senaste åren har ”Maker”-rörelsen vuxit mycket. En startpunkt är när tidskriften Make börjar ges ut 2005, men den fångade ju upp en existerande rörelse. Det handlar om att bygga saker, gärna där man kombinerar elektronik, programmering, snickeri, metallarbete, osv.

Just nu finns det två artiklar på engelska Wikipedia: Maker culture och Maker movement, får se när någon tar tag i att sammanfoga dem. Jag har inte hört någon svensk term som jag riktigt tyckt funkat, och så ser det nog ut på fler språk.

Hur som helst, denna inlägg skulle ju handla om pepparkakor…

Bygga pepparkakshus med laserskärare

vonkonow-laser-300x208

Bild från vonkonow.com.

För att skapa mer avancerade pepparkakshus kan en laserskärare vara bra att ha till hands, även om det tydligen kan osa en del.

Man kan till exempel göra som på bilden ovan, och börja med att skapa en 3D-modell över sitt sommarhus (råkar vara en svensk). Det finns fler som tänkt likadant, bland annat ett makerspace i Ohio, som ger tipset att provskära i papp först för att se att modellen funkar.

Vill man göra annat än hus kan man ladda ner instruktioner för att göra en pepparkaksbro (efter modell från Berlin) från Instructables.

Skriva ut egna pepparkasformar

escher-cookie-cutter

På Instructables finns även flera instruktioner för att skriva ut sina egna pepparkaksformar med 3D-skrivare:

En annan möjlighet är att använda cookiecaster.com. Där finns ett enkelt verktyg för att skapa formen och man kan antingen ladda ner filer för att skriva ut själv, eller beställa via dem.

Blir ju riktigt sugen, synd bara att vi bakade pepparkakor att vara oss en bra bit in på nästa år igår. Men detta borde väl vara utmärkta februari-projekt också?

(Behöver man inte fler projekt kan man beställa helt färdiga, charmigt nördiga formar från WarpZone Prints.)

Pepparkakor och programmering

Idag har det varit traditionsenligt pepparkaksbak med mamma. Vissa jag känner vill skära ut nya former och skapa nya alster varje gång. Jag är en pepparkaksbakare som gillar att använda pepparkaksformar (mamma och jag har en del…), återkomma till gamla favoriter och vara så effektiv så möjligt när jag stansar ut kakorna.

Pac man-pepparkakor

För några år sedan hittade jag dessa Pac Man-formade formar, som det det blir en plåt eller två av. Spökena blir bra kakor, medan själva Pac Man-formen inte riktigt funkar utan sin kontext. (När jag köpte formarna fick man tre spöken, vilket är en underlig syn på hur man använder formar, men det blir ju fina bilder.)

Mer pac-man pepparkakor

Vad har då pepparkakor och programmering med varandra att göra? Kakformar och kakor är faktiskt en vanlig liknelse när man lär ut objektorienterad programmering (när man lär ut Java och Python, till exempel). Grundläggande inom objektorienterad programmering är koncepten klass och objekt, där en klass är en mall utifrån vilken man skapar ett eller flera objekt med en viss typ av egenskaper.  Det vill säga, en klass kan ses som en kakform från vilken man skapar objekt. Detta är inte det första man lär sig när man programmera, vanligtvis har man stött på variabler och funktioner/metoder först.

Liknelsen har några nackdelar, som att det vanligtvis är ganska lite skillnad mellan kakorna man stansar ut, medan objekt av samma klass tar flera olika värden för en viss uppsättning variabler som beskriver dess egenskaper.

Denna vecka: Obama skriver en rad kod och kodande elever i P1

Dagens inlägg blir en samling länkar jag sparat på mig under veckan. Först några länkar som jag tror kan vara av bredare intresse:

Och så två artiklar som är intressanta för de som följer utvecklingen inom området programmering för barn och i skolan, som rör code.org:s genomslag och att programmering införs i skolan i Storbrittanien:

I morgon blir det pepparkaksbak, vilket också är ett passande tema för ett blogginlägg.

Att illustrera algoritmer med dans

Att delta i #blogg24, dvs skriva ett inlägg fram till julafton, har inte underlättats av det myckna VAB:andet de senaste två veckorna. Så när jag sitter och funderar på vad jag kan göra för lätt inlägg en trött fredagkväll som denna, så kommer jag att tänka på de fina filmerna som använder folkdans för att illustrera olika sorteringsalgoritmer.

Bubbelsortering som dans

Bubbelsortering är en av de enklare sorteringsalgoritmerna att förstå, men den är inte så effektiv. I den här ”dansillustrationen” finns det lite extra information för att kommunicera själva sorteringen: dels dansarnas nummer, som ska vara i rätt ordning när de är färdiga, dels vilken plats i en array (eller fält som man ibland säger på svenska) som dansaren representerar. Den här algoritmen funkar så att man gör parvisa jämförelser mellan (i detta fallet) dansarnas nummer – om dansaren till vänster har ett högre tal byter de plats. Om dansarnas nummer inte är i rätt ordning när man kommit till dansaren längst till höger börjar man om med parvisa jämförelser från vänster igen. Det tar nästan en minut innan dansarna kommer till själva sorteringen.

Algoritmiskt tänkande – en del av datalogiskt tänkande

Att automatisera lösningar genom att tänka algoritmiskt är en beståndsdel av datalogiskt tänkande (computational thinking). Detta vore ett bra tillfälle att skriva lite mer om algoritmer, men det får vänta till en annan gång.

Förutom att algoritmiskt tänkande är bra för problemlösning så är den även viktig för att förstå vår omvärld. En känd algoritm är Googles PageRank (även om denna numer bara är en av många faktorer som används för att avgöra vilka sökträffar som visas), ett annat är Facebooks EdgeRank och dess efterföljare – båda har en central roll i vilken information vi får ta del av.

Grace Hopper

Anledningen till att det är denna vecka som är Code Week med Hour of Code är att Grace Hoppers födelsedag infaller denna vecka – nämligen den 9 december (så jag borde skrivit detta för någon dag sedan…).

Vad gjorde Grace Hopper?

Grace Hopper har varit viktig för datavetenskap på flera sätt, bland annat för att hon skrev den första kompilatorn (ett datorprogram som översätter från ett högnivåspråk som Java till ett mer hårdvarunära språk). Ett av de äldsta programmeringsspråken som fortfarande används, COBOL, bygger på ett programmeringsspråk som Hopper utvecklat, som var nyskapande genom att det använde engelska termer snarare än matematisk notation. Hon kopplas ofta samman med frasen ”debugging”, och även om hon inte var först med att använda ordet, så är den historien väldigt känd.

Ett av mina favoritklipp på YouTube

Förutom dessa meriter är hon en rolig och kvick dam, som man kan se på denna gamla intervju från Letterman.

Mer?

grace-hopper-google-doodle

Vill du veta mer om hennes liv så finns där flera biografier, men också en fin illustration av hennes liv i serieform. Google gjorde en Doodle förra året för att fira hennes 107-årsdag.

Hittade även en läraktivitet från CSEdWeek som utgår från Grace Hopper och fokuserar på debuggning i Scratch.

Jag lärde mig programmera…

Jag började denna blogg med att berätta hur jag lärde mig programmera. Jag tycker att det är intressant att höra hur olika personer lärt sig programmera och det är också något som folk är rätt benägna att dela med sig av. Denna typ av berättelser var också del av den första videon av de som jag skrev om igår. Man kan också hitta en hel del sådana historier på nätet.

Idag vill jag tipsa om ilearnedtoprogram.com. Där finns hundratals korta historier om hur folk lärde sig programmera – jag har valt ut fyra som tilltalade mig. Jag gillar bredden av perspektiv som lyfts fram när man tvingas att koka ner historien till en mening på ganska få tecken. De flesta jag har sett handlar om varför (ibland konkret, ibland med känsla av efterkonstruktion) och vad (här är det ofta mycket konkret, språk, hårdvara, etc.).

Däremot pratar vi sällan om hur vi lärde oss läsa. Jag tänker mig att detta beror på att vi alla lär oss läsa på ungefär samma sätt, men är inte säker på att det är hela svaret. Om programmering tar större plats i skolan, kommer då sådana här historier att bli ointressanta, irrelevanta? Eller är programmering mer mångfacetterat och något som många ändå inte kommer att ägna sig åt (även om värdet i att ha förståelse för det består), vilket gör att denna typ av historier kommer att berättas även av våra barn och barnbarn?

ilearnedtoprogram-pamelafox

ilearnedtoprogram-animeshagarwal

ilearnedtoprogram-eliafreedman

ilearnedtoprogram-joncotter

Filmer som inspirerar till kodning?

När President Obama var en del av inledningen till Code Week gav det, inte helt oväntat, en del uppmärksamhet. Det finns även en kort video där presidenten berättar för amerikanska barn att det är viktigt att skapa saker och hur det är en del av den amerikanska identiteten.

De stora amerikanska initiativen som vill få fler att koda, som code.org och madewithcode.com, har producerat en hel del inspirationsfilmer som denna. Flera av filmerna riktar sig till elever, några till lärare och del är snarast framtagna för att bilda opinion. En del bygger på att kända personer (både de som är kända inom IT-industrin och sådana som är kända för annat) berättar om varför programmering är viktigt och varför det är viktigt för dem. I många fall handlar det om att visa förebilder, ibland mindre välkända sådana, för att visa på bredden av personer som arbetar med programmering. Här är några exempel på sådana filmer.

What Most Schools Don’t Teach (code.org)

Det här var en av code.orgs första filmer, som har fått förhållandevis stor spridning. Förutom att kända personer är med, så visar den även upp en bredd av personer som arbetar med programmering på företag som många känner till. De berättar om hur de började koda och en hel del handlar om att avdramatisera. Att detta handlar om en långsiktig rekrytering blir tydligt när man visar sina coola kontor. Man tar upp att datavetenskap finns överallt, att det kan ses som en ”super power” och att de som kan det kommer att vara framtidens rockstjärnor. Filmen är nästan fem minuter lång, vilket känns som att det är i längsta laget.

Code – The New Literacy (code.org)

En kortare film med liknande upplägg, men som framförallt handlar om att mjukvara finns överallt runtomkring oss och att det är viktigt att förstå språket som mjukvara är uppbyggt med även om man inte jobbar med det. Som titeln antyder kopplar man denna förmåga till läs- och skrivförmågan.

Made with Code – Erica Kochi

Här möter vi Erica som arbetar på UNICEF, där hon berättar hur de arbetar med mobiltelefoner. De flesta av filmerna från Made with Code lyfter fram kvinnor och tjejer som berättar om vad de gör med kod, till exempel cancerforskning, dans (denna är riktigt snygg!) och spelutveckling.

Computer Science for elementar school (code.org)

Denna video riktar sig till lärare i de yngre årskurserna. Man får möta lärare som arbetar med kod i klassrummet, som berättar om varför det är viktigt om och sina erfarenheter. Och så ser vi en massa barn som är glada och entusiastiska.

Funkar det?

Jag är lite kluven till dessa filmer. Men jag tänker att man får ta dem för vad de är, något som ska fånga uppmärksamhet och hitta olika sätt som elever kan identifiera sig med de som sysslar med kod. Frågan är hur väl de funkar för svenska elever?

code.org-youtube

Vill du kolla på fler a filmerna så kan du gå direkt till Code.org på YouTube (väldigt många videos) eller MadeWithCode på YouTube.

Översättningsbestyr

code.org-translation1

Idag blir det bara ett kort inlägg, jag använde min ”blogg-tid” för att översätta material till hourofcode.org. Nu är detta inget som ni kan se (i alla fall inte just nu) för det visar sig att minst 75% av materialet måste vara översatt för att ett språkalternativ ska visas någon av code.org:s siter (där ju hourofcode.org ingår). Dessvärre är bara 15% av hourofcode-siten översatt (av mig och några andra) till svenska i nuläget, så det känns inte görbart för mig att översätta så värst mycket av den (kodveckan är ju dessutom redan påbörjad – var inne och översatte en del för några veckor sedan, men kom av mig).

(Däremot är nästan 100% av code.org översatt!)

Ett problem med dessa typer av översättningssystem är att de kan vara ganska kontextlösa. Det finns flera typer av filer, och det är inte alltid tydligt hur de mappar till siten. Och på motsvarande vis kan det vara svårt att hitta var en översättning ligger om man hittar ett fel på siten. Vad jag kan se så finns det ingen sökfunktion i det översättningsplattform som code.org använder (sökrutan i ovankant verkar söka i alla projekt på plattformen Crowdin). Något jag gillar är att en del filer representerar hela sidor, så då kan man se sammanhanget. Det finns även översättningsfiler som har enstaka ord och fraser, som då används på flera ställen på siten.

code.org-translation2

Funderingar när jag översätter:

  • Hur viktigt är det att materialet finns på svenska? Särskilt sådant som snarast vänder sig till vuxna?
  • Hur viktigt är det att språket är rätt och kanske till och med har finess?
  • Hur hantera att man inte har någon att diskutera översättningar med i stunden (Hour of Code? Kodtimmen?) – det finns grundläggande diskussionsfunktioner, men jag har ju ingen aning om någon kommer att se dem den närmsta tiden.

Om du vill göra en insats, så hittar du instruktioner här. Jag tänker mig (hoppas!) att det kommer en kodtimme nästa år också, och att en hel del av materielet kommer att vara detsamma, så det är väl lika bra att bara gå in och översätta i god tid.