Gå direkt till kursmenyn Gå direkt till innehållet

Datalogiskt tänkande – en definition

Datalogiskt tänkande är en term som använts sedan 80-talet men de olika elementen som ingår i datalogiskt tänkande (mönsterigenkänning, systematiskt tänkande, programmering et cetera) är givetvis långt äldre. Redan under den industriella revolutionen användes i praktiken datalogiskt tänkande men då fanns det inget behov av den övergripande termen eftersom samhället inte dominerades av programmeringsbara maskiner. Termen ökade i popularitet och användning under nittiotalet i takt med datorer, programmering och internet blev allt viktigare komponenter i vårt samhälle. I utbildningsväsendet har termen kommit att bli vanligt använd när man talar om att lära eleverna viktiga färdigheter för det tjugoförsta århundradet och när man lägger grunden för vad som sedan kan bli kurser i programmering.

I datalogiskt tänkande ingår ett antal olika färdigheter som här nedan presenteras och förklaras med hjälp av återkommande exempel:

Du har fått i uppdrag att omorganisera två stora salar på Vänneryds bibliotek. Det rör sig om en omfattande flytt av tusentals volymer av olika sorters medier, men också olika stora bokhyllor, bänkar, belysning och så vidare. För att ytterligare försvåra ligger de två salarna på olika våningar och en hiss med begränsad kapacitet utgör en flaskhals. Föga överraskande är det lite brådis. Du sätter nu igång ett antal processer – en del sker parallellt och en del i tydlig ordning.

Dekonstruktion

Att kunna bryta ner ett problem i mindre bitar så att det lättare kan hanteras.

Du gör en inventering av allt som måste åstadkommas för att få en överblick. Den stora flytten kan brytas ner i ett antal mindre delar för att bli hanterbar. Först måste saker packas, sedan måste tillfällig plats göras så att huvuddelen av materialet i sal A skall kunna ställas åt sidan medan material från sal B forslas upp – och så vidare.

Abstraktion

Att kunna titta på problemet och skala av detaljer på ett sådant sätt så att bara själva kärnan är kvar. När du abstraherar ett problem blir det förhoppningsvis tydligt vad som är relevant och vad som bara är fluff.

När du planerar flytten blir det i första skedet att planera hur många kollin du behöver förflytta och vilken mängd arbetskraft som krävs. I detta första skede är innehållet i varje låda inte så viktigt. Ur ett flyttperspektiv är en full låda som ska transporteras en full låda – helt oavsett om den innehåller reselitteratur eller Playstationspel. När någon frågar ”Hur många kollin ska flyttas” svarar du inte med att förklara innehållet i varje låda – du säger ”97 kollin ska flyttas” eftersom du har abstraherat innehållet. I ett senare skede kan det självklart vara mycket viktigt med en märkning av boxar med både innehåll och exakt vart de ska flyttas – men ur ett transportperspektiv (hur många kollin ska förflyttas) har det ingen relevans.

Mönsterigenkänning, mönsteranvändning och mönsterkonstruktion

Att titta på ett problem och se återkommande mönster och också förstå hur dessa mönster sedan kan användas för att lösa problemet eller att lära sig av dessa mönster för att sen kunna skapa nya mönster.

Hissen är ett problem och efter lite experimenterande ser du att det bästa sätt att utnyttja kapaciteten är att i varje tur flytta x antal av de stora hyllorna, tillsammans med y antal av bänkarna och z antal standardiserade lådor. På detta sätt flyttar du maximalt antal saker utan att överskrida hissens kapacitet.

Att representera och modellera information

Under processen att identifiera, bryta ner, systematisera och abstrahera ett problem kan du också på olika sätt visualisera det med symboler på ett sätt som gör det lättare att ta till sig för andra.

Vid hissen ställer du en whiteboard som blir den centrala informationstavlan för alla som hjälper till i flytten. Alla saker som ska flyttas förvandlas till enkla färgkodade symboler och med hjälp av dessa kan du snabbt överföra information om hur hissen ska lastas (tre blå rektanglar + fyra gula fyrkanter + tolv rosa, mindre fyrkanter) och var saker ska placeras.

Att automatisera lösningar

Att när du brutit ner ett problem också kunna hitta en lösning som fungerar automatiskt varje gång. 

Efter ett tag inser du att flytten blir mer effektiv om ni också använder personalhissen. Den är dock mycket mindre men vid det här laget är alla så införstådda med sättet som du representerar flytten på att det räcker med att du sätter en enkel algoritm i form av en bild för att dina kollegor ska förstå att varje tur med personalhissen också bör innehålla två rosa fyrkanter = flyttlådor med medier.

Verifiering och validering

När du väl hittat en lösning på ett problem (via mönsterigenkänning, abstrahering et cetera) så kan du längs vägen eller när problemet väl är löst låta andra titta på din lösning för att ge återkoppling som kan ge högre kvalité. Om problemet är löst på bästa tänkbara sätt kan lösningen ligga arkiverad som ett gott exempel (best practice) för andra som kanske stöter på liknande problem. 

Du gör en plan för flytten och innan du implementerar den stöter och blöter du den med kollegor som hanterat liknande problem. Du justerar planen efter att ha lyssnat på deras återkoppling. När flytten är klar och allting har fungerat på det sätt som avsågs sparas dokumentationen över flytten och de modeller du skapade under den för att kunna användas igen vid framtida liknande omflyttningar.

Slutsats

Kortfattat handlar datalogiskt tänkande om ett antal färdigheter som hjälper dig att bryta ner och formulera ett problem på ett sådant sätt att datorer kan hjälpa dig att lösa det – och att delfärdigheterna i sig är nyttiga även om du inte på något sätt använder dem för programmering – som ovanstående exempel visar.