onsdag 24 juli 2013

Hur kan man använda programmering på svenskan?

I mitt arbete har jag främst använt programmeringen som en sätt att få till en ökad motivation till kommunikation hos mina elever. Det funkar bra tycker jag, men här ska jag ge exempel på hur man kan dra nytta av det datalogiska tänkandet även i språkundervisningen.

Anledningen till min passion för programmering är att den innehåller nycklar som jag tror är värdefulla verktyg för fortsatt lärande inom andra områden. Förra sommaren ramlade jag på en sammanställning som google har över datalogiskt tänkande och övningar i att träna förmågor i förhållande till det. 

Google tar upp några grundläggande begrepp som är viktiga principer i datalogiskt tänkande. Jag tar mig friheten att göra en översättning här på bloggen så slipper du klicka på länken just nu. 

Dekompostion: Förmågan att kunna bryta ner en helhet till mindre delar så att vi kan förklara en process för en annan person eller en dator. Om man tar till vana att bryta ner helheter lär man sig att känna igen mönster och generalisera och därmed förmågan att formulera algoritmer. Inom matematiken övar eleverna detta genom att ge olika förslag på hur man kan representera olika tal: 6= 1+1+1+1+1+1 eller 2x3 eller 2+2+2 eller 3+3 osv. 

Om man överför till språkundervisning så kan eleverna träna detta t.ex. genom att analysera text på olika sätt. En mening kan brytas ner till ordgrupper, satsdelar, vokaler och konsonanter. En längre text kan brytas ner i olika slags satser: frågor, påståenden, rak ordföljd vs omvänd ordföljd.

Jag tänker att jag använder textanalysen för att visa eleverna hur man måste tänka för att kunna kommunicera med en dator. En dator vet ju inte på förhand vad ett verb är. En programmerare kan "lära" datorn genom att skriva en algoritm som datorn kan följa för att lista ut om ett ord är ett verb eller inte. Förmågan att hitta de beståndsdelarna som krävs för att göra algoritmen tror jag är något som eleven kan ha nytta av, både för att få syn på språkets byggstenar och för att lösa problem i allmänhet. 

Känna igen mönster: Förmågan att hitta likheter och skillnader som gör att vi kan förutsäga vad som ska hända och ge oss ledtrådar och genvägar. Att känna igen mönster är en vanlig utgångspunkt för att lösa problem och designa algoritmer. Mycket av vår dagliga inlärning handlar om detta, redan som bebisar. Vi lär oss att om vi gör A så händer B. Det här är så klart en förmåga som kan utvecklas och det gissar jag att många lärare redan sysslar med. 

Låt eleverna hitta mönster i hur meningar är uppbyggda, ord stavas eller verb böjs. Inga revolutionerande övningar i sig, men koppla det till programmering så blir det mer spännande (tycker jag, men jag är ju lite nördig). 

Mönstergeneralisering och abstraktion: Förmågan att sålla bort den information som inte är nödvändig för att lösa ett visst problem och att generalisera den information vi behöver. Mönstergeneralisering och abstraktion gör att vi kan överföra en idé eller en process till generella termer (variabler) så att vi kan använda dem för att lösa liknande problem. Exempel på abstraktioner vi använder dagligen är kalendrar, kartor och matematiska formler. 

Designa algoritmer: Förmågan att kunna ta fram en stegvis strategi för att lösa ett problem. För att kunna skriva en bra algoritm måste man kunna bryta ner helheten till delar, känna igen mönster och hitta en lösning och sedan använda en abstraktion för att förklara med hjälp av variabler. Vardagliga algoritmer är vägbeskrivningar, recept och instruktioner. 

Att skriva instruktioner är svårt men ett viktigt kunskap som finns med i centrala innehållet och kunskapskraven i svenskämnet. Genom att använda det datalogiska tänkandet tänker jag att eleverna tydligare får syn på hur instruktioner är uppbyggda och hur de blir så effektiva som möjligt.  


4 kommentarer:

  1. Hej Karin! Vilken finfin blogg du har. Härligt att se hur du hittar möjligheter att inkludera datakunskap i olika ämnen.

    Jag kom att tänka på en väldigt konkret uppgift som jag brukar ha med i ett tidigt skede med mina nybörjarstudenter (visserligen på universitetet, men uppgiften går absolut att klara av på mycket lägre nivåer). Det handlar om att skriva en egen version av madlibs, dvs. ordleken där man som spelare får i uppgift att fylla i verb i olika tempus, substantiv (både sg och pl), adjektiv, adverb, etc. i ett formulär, varefter en berättelse visas där dessa ord använts på förutvalda platser. Kanske det här redan är bekant för dig? Om inte så kan du kolla t.ex. madlibs.org eller http://www.itsamadlibsworld.com/ för att se exempel.

    Jag brukar ge studenterna koden för en enkel version av programmet och sedan be dem ändra det med en egen historia och egna val av "luckor" som användaren får fylla i. Här gäller det alltså att vara kreativ, hitta på en historia, kunna identifiera olika ordklasser och koda lite. Och det kan bli riktigt, riktigt skojiga resultat, speciellt om studenterna också får testa på några av sina kompisars program då de inte känner till vilken historia som ligger som grund. T.ex. regler eller liknande brukar bli speciellt roligt (t.ex. http://www.funbrain.com/brain/ReadingBrain/Games/Game.html?GameName=MadLibsSchoolRules).

    SvaraRadera
  2. Vilka superbra tips Linda! Är det okej om jag publicerar din kommentar som en bloggpost? För bra för att gå miste om.

    SvaraRadera
  3. Som du redan vet så är det mer än ok :) Kul att du gillade det!

    SvaraRadera
    Svar
    1. Japp! Hade lite problem med HTML-koden när jag skulle kopiera över kommentaren till inlägg, men nu är det fixat. Känner mig så stolt när jag kan manipulera kod. Yeah!

      Radera