Programmering eller Datalogiskt tänkande I förskolan handlar programmering om att få en begynnande förståelse vad det kan innebära. Barnen ges ett kreativt utrymme och har möjlighet att forma sin egen lärprocess samtidigt som de bli bekanta med programmering och kodning. En varierad arbetsgång med analoga lekar som tillsammans med digitala verktyg lägger grunden. Det ger möjlighet till att arbeta brett med både matematik, språk, NO- och SO orienterade ämnesområden. Robotarna rör sig alltid 15 cm, vilket gör att man med fördel kan använda sig av underlag med 15 15 cm rutmönster. Det går att köpa färdiga mattor, men det är också enkelt att göra egna med vaxduk eller genomskinlig plast och permanent markers.
Varför lära barnen programmera? o Det är kul att själv skapa kod! o Om du kan koda är det lättare att förstå datorn. o Hela världen är beroende av att kod finns och o fungerar på önskvärt sätt. o Alla behöver förstå datorer för att kunna vara med och besluta om vår framtid! Exempel på "eviga" färdigheter som utvecklas med datalogi och programmering o Tänka logiskt o Tänka steg-för-steg o Tänka i abstraktioner o Konstruera abstraktioner o Skriva exakt allt du skriver har en effekt o Fantasi och kreativitet o Förklara för varandra o Samarbete Några datalogiska grundbegrepp o Algoritm: beskrivning hur man löser ett problem (ett slags recept) Sekvens: göra saker steg för steg Repetition: upprepa vissa steg många gånger Alternativ: välja nästa steg beroende på variablers värde o Abstraktion Funktion: en del av ett program som har fått ett namn och som kan återanvändas gång på gång Parameter: ger olika värden som påverkar vad funktionen ger för resultat Variabel: plats i datorns minne för värden som kan ändras Objekt: en del av ett program som sammanför och kapslar in funktioner och variabler Klass: kod som beskriver många objekt av samma typ
Hur ser Blue-Bot ut i aktion? Tydliga knappar för barnen att använda vid programmering av Blue-Bot Möjlighet att spara upp till 80 instruktioner i Blue-Bots minne Blue-Bot rör sig i samma riktning 15 cm åt gången. Möjlighet att rotera 90 grader åt respektive riktning (även 45 graders-rotation via lärplatta) Ljud och blinkande ögon som låter barnen förstå att instruktionen har lagts till i programmeringskedjan Hur fungerar en Blue-Bot? En Blue-Bot kan styras med knapparna på robotens rygg. Vid varje tryck sänds en signal till robotens mikroprocessor som är programmerad att röra på roboten. Med en Blue-Bot kan programmeringen tas en nivå högre genom att den även kan styras via en lärplatta. o Ladda först ner det Blue-Bot Appen i Appstore, den är gratis. o När programmet startas går det att välja mellan Explore mode (utforska) och Challenge mode (utmaning). Första gången du startar en Blue-Bot kan bara vissa funktioner användas, men så snart appen är kopplad till roboten öppnar sig en hel rad nya funktioner. Kopplingen behöver bara göras en gång. Nu kan du välja mellan de två olika lägen: Challenge mode eller Explore mode. Explore mode är där du kan utföra egna uppdrag och testa dig fram. Challenge mode är där du får olika färdiggjorda utmaning som du ska lösa.
Det finns fyra olika valmöjligheter. 1.Step-by Step: Här styr du roboten på samma sätt som genom att trycka på knapparna på robotens rygg. Skillnaden är att du gör det från en lärplatta. Varje gång ett kommando skrivs på plattan flyttar sig roboten ett steg framåt. Alla programsteg kan sedan repeteras genom att trycka på GO. 2. Basic Programmering: Här kan du i förväg tänka ut och skriva flera programsteg i följd. Du kan också se dina programmeringspilar i vänsterkanten. Pilarna kan ändras genom att trycka på programknapparna eller genom att med fingret direkt på skärmen flytta, dra och släppa (drag and drop). Du kan också ta bort olika steg i programmeringen på samma sätt, genom att dra bort dessa pilar. När ett Explore Mode har valts visas en bild på en Blue-Bot-matta tillsammans med en Blue-Bot-ikon. Dra Blue-Boten till bilden av mattan och 3. Repeats: Här startar du en repetition (en loop). För att markera det första kommandot i repetitionen trycker du på den röda cirkeln. Ställ dig sedan på det sista kommandot i loopen och tryck på cirkeln igen. Då blir loopen rödmarkerad. Med + och knapparna väljer du hur många gånger repetitionen ska ske. Via den här menyn kan du skapa loopar med de olika programsteg du gör. 4. 45ºTurns: När du väljer 45ºTurns kommer bakgrunden att bli grå eftersom roboten inte kan följa rutmönstret. Istället ges möjlighet att vrida Blue-Bot i 45 eller 90 graders vinklar. släpp över en lämplig ruta, så fastnar ikonen där. Nu kan du börja programmera. Innehåll som behandlas
o Matematiska och tekniska begrepp och uttrycksformer o Skriftspråk samt förståelse för symboler och deras kommunikativa funktioner o Konstruera, beskriva och uttrycka geometriska mönster och former o Proportionella samband o Formulera och kommunicera Producenter o Barnen blir producenter - inte bara konsumenter o Skapa förståelse för att tekniken är styrd av människan o Öva logiskt tänkande samt sin problemlösnings - och samarbetsförmåga o Inte bara svar, utan barnen utforskar själv, vad händer? o Förverkliga egna idéer Kommandon o Grunden för programmering är kommandon. Vi talar om för datorn vad den skall göra, sedan utför det den efter det recept som vi skapat Det är basalt att förmeddela och försöka få in att det ligger en systematik bakom. Varje kommando innebär en rörelse eller en icke-rörelse. Analoga aktiviteter (förslag): o Programmera varandra, tänkt att en person är en robot som skall programmeras genom att berätta för roboten vad den skall göra o Öva kommandon med exempel legofigurer. Rita upp ett rutnät och visa med pilar hur legofiguren skall gå för att komma fram/rätt, höj svårighetgraden genom att sätta ut hinder o Ge instruktioner vid bygg och konstruktion (Plus-Plus, Lego, Klosssar) o Gör skattkartor och öva kommandon med varandra o Gör hinderbanor och öva kommandon med varandra
Barn lär på olika sätt o Från det abstrakta till det konkreta o Från det konkreta till det abstrakta o Låt barnen ställa upp hypoteser, som de sedan får prova genom programmeringen o Programmering är en kreativ syssla om vi låter tankar löpa fritt när vi programmerar, när vi sedan skall skriva själva koden så behöver vi också tänka linjärt Exempel: En algoritm är ett recept Version 1: 1. Ta fram några olika frukter 2. Skär dem i bitar 3. Lägg ner dem i en skål Version 2: 1. Ta fram några olika frukter 2. Skölj frukterna 3. Ta fram en skärbräda och en kniv 4. Lägg frukterna på skärbrädan 5. Ta tag i kniven med en hand 6. Håll i frukten med den andra 7. Skär frukterna i bitar (en i taget) 8. Ta fram en skål 9. Luta skärbrädan mot skålens kant 10. Skrapa ned fruktbitarna i skålen Ett återkommande begrepp inom programmering är Algoritm. Det är en steg-för-steg instruktion som berättar exakt hur ett problem ska lösas o Finns det andra sätt att lösa samma problem? o På vilka sätt skiljer lösningarna sig från varandra? Fruktsallad Vad är poängen? Jo, en dator behöver exakta instruktioner då den inte gör några egna värderingar