Datalogiskt tänkande

Datalogiskt tänkande (Computational Thinking) är en problemlösningsprocess för att beskriva, analysera och lösa problem för att kunna ta hjälp av datorer. Uttrycket används främst inom datavetenskap. Till exempel kan det innebära att hitta mönster, generaliseringar, abstraktioner och skapa algoritmer för lösningar.

Wendt och Moström (2015) menar att datalogiskt tänkande är ett viktigt perspektiv att föra in i dagens samhälle som ständigt förändras. Dagens barn möter ett samhälle som har förändrats över tid vilket pedagoger behöver beakta och att ett datalogiskt tänkande blir aktuellt för att utmana dagens barn. Kyrk Seger (2014) styrker det nya lärandet och tänkandet runt de digitala verktygen i samhället. Hon menar att det är viktigt att se barnen som nya samhällsmedborgare och låta dem få möjlighet att skapa ett lärande utifrån dagens teknik.

Bakgrund
Uttrycket computational thinking användes först av Seymour Papert 1980 och även 1996. Professor Jeannette Wing tog åter upp datalogiskt tänkande genom artikeln Computational Thinking 2006.  Kritik mot begreppet har framförts till exempel genom Elizabeth Jones i artikeln The Trouble with Computational Thinking.Begreppet infördes i svensk kontext av professor Fredrik Heintz. 

Barefoot (2014) använder sig av sex nyckelbegrepp för att redogöra för datalogiskt tänkande. De sex begreppen är logiskt tänkande, algoritmer, dekomposition, mönster, abstraktion och utvärdering.

Logiskt tänkande och dekomposition
Logiskt tänkande eller logiskt resonemang hjälper oss att förklara varför en specifik sak händer vid ett visst tillfälle. Ingenting händer av en slump, det finns alltid en förklaring till varför (Barefoot, 2014). Logiskt tänkande kan härledas både från ett filosofiskt tänkande och ett matematiskt tänkande. Enligt Barefoot (2014) kan ett exempel på detta vara datorn, den agerar inte efter hur den känner vid ett visst tillfälle utan den agerar efter en viss programmering. Datorn är förutsägbar på det viset i och med att den agerar efter de instruktioner vi har gett den. Tack vare detta kan vi innan något sker räkna ut vad det är som kommer att ske i datorn eller i ett datasystem. Den process vi använder oss av när vi använder redan befintlig kunskap om ett system för att få fram framtida beteenden är en del av ett logiskt tänkande. Algoritmer är en sammansättning av olika regler eller instruktioner som tillsammans leder till ett önskat resultat genom att de utförs i en speciell ordning. Algoritmer finner vi i olika dataprogram, men även inom andra aktiviteter som underlättar vardagen för människan, exempelvis recept. Ett ytterligare begrepp som innefattar datalogiskt tänkande är dekomposition som är en process som utgår ifrån en helhet men som bryts ner till mindre delar. Ett dataprogram är uppbyggt med flera koder och kommandon som tillsammans bildar ett program. Nedbrytningen eller dekompositionen genomförs för att bryta ner stora projekt till mindre hanterbara projekt, då det uppstår problem under projektets gång. Dekompositionen möjliggör även för att flera människor ska kunna arbeta med samma projekt samtidigt, man kan då utnyttja olika erfarenheter och kompetenser för att reda ut problem. Genom att plocka ner en algoritm i sekvenser möjliggör att se problem samt vad olika sekvenser har för betydelse. Likt dekomposition är abstraktion som går ut på att förenkla saker och ting och urskilja detaljer för att se vad som är relevant eller inte, detta för att se vilken information som är betydande att förmedla. I dataprogram kan man därmed som användare enbart se det som är relevant för själva uppgiften. Själva programmets uppbyggnad med olika koder sållas därmed bort, då detta varken är relevant för användaren, eller begripligt för den som inte förstår programmering.

Mönster och utvärdering
I datalogiskt tänkande ingår även att urskilja och använda mönster. Mönster inom programmering kan ses hur datorn kan återanvända samma kod flera gånger och på detta vis löser problem på samma sätt gång efter gång samt så många gånger som önskas. På detta vis skapas regler för hur allmänna problem kan lösas. För att komma fram till ett resultat behövs en jämförelse av för- och nackdelar i olika beslut vilket är något vi gör dagligen. En utvärdering handlar om i ett datalogiskt tänkande om att göra en bedömning som är så objektiv som möjligt. Utvärderingen görs för att man ska se om en produkt fungerar rätt och att den fungerar på produktens sätt. Man benämner att man gör en form av test, verifiering och validering. Denna process är en viktig del inom datavetenskapen, detta för att där handlar det om att se kvalitéer, urskilja lösningar samt se produkter och dess processer (Barefoot 2014).

Programmering för barn
Programmering lär barn förstå att det behövs ett kommando, en instruktion, från människan för att datorn eller roboten ska göra som vi vill. Genom detta så lär sig barnen att träna sin kreativitet och problemlösningsförmåga. Barn idag växer upp i ett tekniksamhälle och det är viktigt att redan i förskolan ge alla barn rätt verktyg för en bra start. Liukas anser att det är viktigt för barnen att lära sig att programmera, eftersom en större del av vår värld som kretsar kring kod. Programmering är ett sätt att lära barnen tänka kreativt och utveckla ett logiskt tänkande. Barn tränar matematik på ett annorlunda sätt låta, de får tänka utanför boxen och kunna utveckla egna strategier och att tänka flera steg i taget.

För nybörjaren och de yngre barnen passar Bee-bot och Blue-bot väldigt bra. Bee-bot kan man programmera själv med sin egen hand och Blue-bot kan man styra med hjälp av en iPad. Med hjälp av dessa kan barn i förskolan få prova på enkel programmering, eftersom det är enkelt gör det att små barn kan träna logiskt tänkande och enkel programmering.

Hur kan man utveckla barnens matematiska tänkande, förståelse och problemlösningsförmåga, Olsson (2015) menar genom att använda sig av programmering. Barnen får på ett enkelt sätt lära sig hur de kan använda sig av enkel teknik och även förstå hur tekniken fungerar från grunden, med hjälp av deras pedagoger som får låta barnen vara kreativa i sitt programmerande och att de själva får tänka efter.

Referenser

Datavetenskap