• No results found

Allmän didaktik och ämnesdidaktik

De grundläggande didaktiska frågorna är, enligt Lundgren,et al. (2014), vad ska läraren undervisa i, hur ska man bedriva undervisningen och varför ska man undervisa. Men även andra frågor kan komma på tal när man diskuterar didaktik, exempelvis var undervisningen ska ske, med vem ska man undervisa, när ska man utmana elevens lärande samt med hjälp av vad man ska undervisa i. Forskning kring teknikdidaktik som det kallas inom teknikämnet är

av sent datum. Begreppet teknikdidaktik växte fram i Sverige tack vare statliga ekonomiska satsningar bland annat på lärarnas fortbildning. (K., Höst, G. & Hallström, J. 2018).

En väldigt viktig sak som lärare måste komma ihåg och arbeta med är elevernas motivation.

Om eleverna saknar motivation så kommer eleven att missa den information som läraren förmedlar. Att motivera en hel klass kan vara svårt och det krävs erfarenhet för att veta hur man gör. Man kan dela in motivation i flera delar. Bronäs och Runebou (2016) beskriver hur motivation kan delas in i tre kategorier, Yttre, Inre och Ämnesinriktad motivation. För att få en bra undervisning och elever som tar åt sig den kunskap som du lär ut måste alla delar vara aktiverade hos eleverna. Författarna (ibid. 2016) skriver att det finns fem grundläggande principer som man bör eftersträva vid arbete med programmering. De är motivation, aktivitet, konkretion, individualisering och samarbete. Genom att låta eleverna programmera sina robotar för att utföra de uppdrag som är förutbestämda skapas aktivitet hos eleven. Eleven får lära sig programmering genom att testa och prova sig fram.

Learning by doing är något som jag förespråkar och i ämnet Teknik är det enkelt att applicera konkreta handlingar på lektionerna. Konkretion är det som eleverna ska skapa för sig själva.

Genom att programmera sin robot och bestämma hur den ska köra bygger man upp förståelse som är enkel för eleverna att ta till sig. När man själv får bygga och skapa något så blir det automatiskt uppenbart hur olika delar fungerar. Detta gäller såväl fysisk konstruktion som konstruktion av program genom programmering. Det är också viktigt att låta programmering bli ett ämnesdidaktiskt koncept. Men jag ville hitta ett roligt och enkelt sätt att programmera på. Och jag ville utmana eleverna i att lära sig grunderna i programmering samtidigt som de blev utmanade och fick vara kreativa tillsammans med andra.

Bronäs och Runebou (2016) har myntat initialordet MAKIS. Det står för motivation, aktivitet, konkretion, individualisering och samarbete. Läraren måste skapa motivation för eleverna.

Det ska vara roligt att utföra den uppgift som jag ber dem göra. För att nå den effekten har jag förberett en lektionsserie. Syftet är att eleverna i årskurs åtta ska lära sig textprogrammering.

De ska lära sig grunderna i programmeringen, men de ska också få möjlighet att sätta samman de kunskaper de har i ett större program. De ska lösa hur Edison tar sig fram på banor som jag designat åt eleverna i förväg. Detta är elevernas första möte med textprogrammering.

Eleverna upplever området helt nytt. Jag har valt att jobba med små robotar som heter Edison.

Med hjälp av den programmering som eleverna gör kan de sen styra Edison och få roboten att till exempel köra framåt för att sedan backa tillbaka. Edison är en robot med stort bibliotek och programmeringsspråket som används heter Python.

Målet för lektionerna är att eleverna ska lära sig grunderna i programmering och i detta fallet språket Python. De får under en lektionsserie ett antal uppgifter som de måste lösa för att avancera till nästa nivå. Man kan se lösningen av uppgiften som ett delmål för att klara sista uppgifterna. Men jag vill att mina elever ska hitta egna vägar för att lösa uppgifterna. I programmering finns det alltid flera vägar att välja för att nå målet. Genom att endast sätta upp mål utan att ange vägen dit vill jag skapa ett kreativt och öppet klimat för att lösa uppgifterna. Och därmed kommunicerar eleverna och tänker utanför boxen.

Under lektionerna kommer jag att uppmuntra eleverna till nya framgångar med nästa uppgift.

Jag uppmuntrar till mer och fördjupat lärande genom att visa på bra saker som gjorts och sen ge tips om hur eleven kan gå vidare. Detta är ett bra sätt att skapa goda resultat här och nu och i framtiden. Effekten är särskilt tydlig när det gäller laborationer eller programmering. Där är det viktigt att ge konkret beröm för det som eleven har utfört och sen uppmuntra till vidare

arbete eller utveckling. Jag undviker att ge skriftliga prov. Däremot ger jag en

sammanfattande bedömning utifrån mina sparade intryck. Mina lektionsplaneringar består av ett fåtal uppgifter som eleverna ska programmera roboten till att lösa.

Lektion 1

Mina lektionsplaneringar är enkelt uppbyggda. Första lektionen ägnade jag ganska mycket tid till teori. Jag förklarade hur miljön ser ut där vi ska programmera. Efter genomgången av programmeringsmiljön får alla elever öppna ett test-program som ligger förprogrammerat i Edpy, den ”lokala” programmeringsmiljöns namn. Detta test-program analyserade vi tillsammans och jag förklarade för eleverna att roboten kommer att avkoda koden i samma ordning som de skrivit den, alltså uppifrån och ner. Edison kommer att utföra uppgiften som står på rad 17 innan den gör det som står på rad 18 och så vidare. Edison Python erbjuder en programmerbar utvecklingsmiljö.

Jag delade ut robotar till eleverna som ska arbeta i par. I någon grupp samarbetade tre elever.

Tanken är att eleverna ska utföra arbetet tillsammans. Nästa steg i första lektionen var att eleverna fick testa att programmera sin robot med det test-program som vi hade gått igenom.

Eleverna ska analysera och studera om roboten gjorde som de trodde och om det gick att urskilja de olika rörelserna som roboten gjorde med den kod de hade på skärmen. När de såg hur verkligenhetens robot rörde sig och förstod sambandet mellan koden och robotens rörelser det så fick de fria händer att ändra i koden för att se vad som händer. Under tiden fanns jag tillgänglig som lärare. Jag hjälpte och förklarade om någon körde fast. Sedan var lektionen slut.

Lektion 2

Till nästa lektion kände alla elever till hur Edpy fungerade. De visste också hur man programmerade roboten. Jag inledde lektionen med en kort återblick på hur

programmeringsmiljön ser ut och hur roboten fungerade. I en snabb teorigenomgång repeterade vi sedan ett viktigt kommando för kommande lektioner. Ett sådant ”drive-kommando” är nästan genomgående det eleverna ska använda för att få roboten att köra.

Kontot är helt enkelt en grundsten i det arbete som vi ska utföra. Det är dags att presentera kommande veckors arbetsplan. Jag har förberett olika uppgifter som eleverna ska få roboten att utföra. Det börjar med enkla uppdrag för att sedan bli mer avancerade övningar. För att kunna utföra uppdragen har jag tejpat upp banor på golvet i klassrummet. Det finns totalt sex banor med en start- och en mållinje markerade. Det första eleverna ska göra är att få roboten att starta vid startlinjen och sedan köra framåt. Därefter ska roboten stanna exakt när den tagit över sig mållinjen. När eleverna löst uppgiften ska de utveckla koden så att roboten backar tillbaka till startlinjen. Under lektion två vill jag att eleverna stannar upp vid uppgift tre. I de fall då några elever löst uppdraget har jag inkluderat några extra svårigheter som eleverna ska tya sig förbi. Sedan får de gå vidare med kodningen av uppgift fyra. Detta uppdrag har jag formulerat för att jag vill att eleverna ska testa nya sätt att ta sig an uppgiften. Det kanske finns fler än en framkomlig väg. En annan anledning är att jag vill hålla grupperna någorlunda samlade. Jag vill att eleverna närsomhelst ska kunna bygga på koden och koppla den nya till den befintliga koden. Och i uppgift fyra tillkommer ett nytt moment. Det vill jag gå igenom under lektion tre i samband med att jag presenterar en teoridel. På så sätt kan alla dela informationen.

Lektion 3

I lektion tre ska eleverna programmera roboten så att den kan köra i en rektangel. Roboten ska dessutom köra fyra varv. En teori om loopar är kopplad till denna lektion. Man skriver helt

enkelt koden en gång och sen ber man roboten upprepa koden flera gånger. På det sättet sparar man arbete som programmerare och att spara tid är en ambition som man dagligen använder vid programmering. Jag förklarar för eleverna och visar hur en loop ser ut och varför man använder loopar. Därefter får eleverna påbörja programmeringen på egen hand.

Tanken med mina lektioner är att eleverna ska komma på lösningar och ta sig an uppgiften som de själva vill. Jag vill att de ska ta egna vägar och testa nya kommandon. De får gärna utforska vad som sker och hur de kan lösa uppgifterna. Min uppgift blir att leda och guida och rätta till felskriven kod, vilket är en svår uppgift för nybörjare. Jag utmanar alla grupper med att försöka hitta alternativa vägar att lösa den ursprungliga uppgiften på. På det sättet har vi tillsammans hittat många kreativa lösningar.

Lektion 4

Lektion fyra inleder jag som vanligt med teori. Lektionen börjar med att vi repeterar loopar och vad man kan ha dem till. Jag förklarar vad man använder dem till och visar på nytt hur man skriver en loop i Python. I denna lektion har jag tänkt att eleverna ska få sätta samman alla kommandon. De ska repetera kunskap som de fått under de tidigare lektionerna. För att nå en sådan effekt har jag tillverkat och ritat upp tre banor på några Whiteboard-tavlor. Dessa ska eleverna programmera roboten att köra. Banorna är enkla till utformningen men erbjuder en bra utmaning för många elever. Nu gäller det att eleverna samarbetar och tar vara på det som de lärt sig under tidigare lektioner. Övningen är ett test på hur de kan använda sig av de enkla delarna som vi arbetat med. De ska sätta ihop delarna till ett program som får roboten att klara banan som jag gjort. Eleverna ska arbeta med två likadana banor.

Lektion 5

Så här långt in i lektionsserien har vi klarat oss utan en teorigenomgång. Eleverna vet vad de ska göra och vilka program de ska använda. Jag hälsar alla välkomna och ber dem komma fram och hämta en robot. Eleverna arbetar fortfarande i grupper om två eller tre. De flesta eleverna jobbar fortfarande på de två första banorna och försöker lösa dem. Men enstaka elever har redan klarat de första banorna och är nu redo att ta sig an en lite svårare bana.

Lösningen till den svåra banan kräver att eleverna tänker igenom situationerna ordentligt innan de påbörjar programmeringen. Att hitta den enklaste lösningen är alltid att föredra men det finns många sätt att lösa banan på. Min uppgift som lärare är att hjälpa elever som kört fast eller missuppfattar varför deras robot gör på ett speciellt sätt. Men den mesta av tiden går ut på att titta på hur eleverna kör sina robotar och ge dem positiv feedback. Alla elever vill att jag tittar på när deras robot kör på banan. De vill visa mig hur det kodande arbetet gått framåt.

Lektion 6

När denna lektionen startar går många elever över till den svåra banan. Jag känner jag att jag behöver delge eleverna några tips innan de startar upp arbetet. Uppgiften kräver på många ställen att roboten kör och svänger samtidigt. Många elever är osäkra på hur man ska programmera sådana rörelser. Det finns ett litet specialkommando där man kombinerar två rader kod så att Edison läser dem som en. Detta moment går jag igenom i början av lektionen.

Alla får samma information och eleverna börjar fundera på ur de ska lösa (del)uppgiften. Det blir diskussioner om hur man ska lösa banan och vilka kommandon man ska använda. Det uppstår lite köbildning för att få testa sin kodning samtidigt. Så till nästa lektion kommer jag att ha en bana särskilt för elever som vill testköra. Alla elever vill ta chansen att komma framåt.

Jag planerar för en ny utmaning för de elever som klarar den svåra banan under lektion sex.

Lektion 7 – 9

Under de sista lektionerna har arbetet fortsatt framåt. Jag har gjort en bana till. Den är

likvärdig med de två första. På det viset slipper jag köbildning. Jag observerade under lektion sex att framförallt visa flickor höll sig i bakgrunden och stannade vid bänken. De undvek att gå fram och testa sina robotar. Anledningen var att det stod ett gäng killar före dem i kön och väntade på sin tur. Detta upplevde jag som ett problem och därför ordnade jag ytterligare en bana att testa på. Grupperna har kommit lite olika långt och därför har grupperna spritt ut sig till platser där de jobbar. Detta har gjort att köbildningen minskade. Under dessa lektioner har eleverna fått utveckla och testa fram koder för att lösa bana ett och bana två. Bana två banor är mycket svårare än den första så de flesta har haft fullt upp med att lösa den banan. Under lektion nio hade ett par i varje grupp blivit klara med bana två. Då fick de i uppgift att lösa hur man styr roboten med en fjärrkontroll. De ska alltså programmera roboten så att

knapparna 0 - 9 ger roboten olika instruktioner. Detta var en svår nöt att knäcka. Men elever som kom så långt i varje grupp samlades automatiskt i en egen liten grupp. Där påbörjade de informationssökning och exempel på kod. Alla som testade upplägget löste uppgiften att styra roboten med en fjärrkontroll, nästan helt utan inverkan från mig.