Innan du börjar koda för att lära en dator att lösa ett specifikt problem, skulle du normalt behöva förstå problemet själv, hitta en lösning och först därefter lära en dator att hantera det. Beräkningstänkande är en metod för att göra denna process snabbare och enklare, men den är inte begränsad till bara programmering och kan tillämpas på olika delar av vårt liv.

Computational Thinking (CT) är ett koncept som branschexperter kallar en "kod för framgång" och "vital skicklighet". Även om det är relativt enkelt kan CT vara till hjälp långt utöver bara mjukvaruprogrammering. Termen föreslogs första gången 1980 av Seymour Papert, en matematiker och datavetare, som ett sätt att lösa olika programmeringsrelaterade problem och uppgifter mer effektivt.

CT är en uppsättning metoder som går ut på att ta ett komplext problem och bryta ner det i en serie mindre problem som är lättare att hantera, samt att uttrycka kärnan i ett problem och lösningen på sätt som en dator skulle kunna utföra.

Hur fungerar beräkningstänkande?

Computational Thinking som teknik består av fyra huvudmetoder, som är nedbrytning, generalisering/abstraktion, mönsterigenkänning/datarepresentation och algoritmer. De är alla lika viktiga och effektiva när de appliceras (på ett problem) i rätt ordning.

Sönderfall

Man börjar med nedbrytning, vilket är att separera ett problem i ett antal mindre problem som är lättare att lösa ett och ett.

Abstraktion (generalisering)

Sedan går du vidare till en specifik uppgift/problem, fokuserar uteslutande på den information som är viktig för att lösa det och ignorerar allt annat.

Mönsterigenkänning (datarepresentation)

Nästa steg är att leta efter likheter mellan problemet du arbetar med och andra problem som har lösts tidigare (med lösningen tillgänglig). Målet är att hitta mönster som kan appliceras på din nuvarande uppgift.

Algoritmer

Och slutligen, med resultaten av att tillämpa tidigare steg på plats, utvecklar du en algoritm för en steg-för-steg-problemlösning. En algoritm kan sedan exekveras av en dator (eller din hjärna, vilket är den ultimata datorlösande uppgiften i ditt liv).

Använda beräkningstänkande

Att veta hur man använder CT när de hanterar problem och uppgifter som majoriteten av mjukvaruutvecklare hanterar regelbundet kan vara oerhört användbart under hela din karriär inom kodning.

Här är en snabbguide om hur du börjar tillämpa beräkningstänkande på antingen kodningsuppgifter eller i stort sett alla allvarliga problem du kan ha att göra med i ditt personliga liv.

Tillämpa nedbrytning

Nedbrytning är en ganska enkel men kraftfull teknik, som kan hjälpa dig att hantera problem/uppgifter som vid första anblicken verkar för komplexa och därmed ofta orsaka förhalning och andra svårigheter. Nyckeln här är att träna din hjärna att använda nedbrytning på en regelbunden basis, dela upp en uppgift till ett antal mindre uppgifter som är lättare att lösa. Även om nedbrytning kan verka som en väldigt enkel och till och med självklar metod, skulle du bli förvånad över hur många människor inte är medvetna om det, vilket gör det så mycket svårare för dem att börja arbeta med stora, globala uppgifter (som att lära sig Java, till exempel).

Att tillämpa abstraktion

Att veta hur man tillämpar abstraktion är en kraftfull förmåga om du kan tekniken och har tränat din hjärna att använda den omedvetet. Abstraktion handlar om att enbart fokusera på den information som krävs för att lösa uppgiften samtidigt som man ignorerar allt annat. Används i kombination med nedbrytning, är det i grunden metoden för att närma sig i stort sett alla problem eller problem i ditt liv. När du arbetar med strikt programmeringsuppgifter hjälper abstraktion att koncentrera dig och undvika att din hjärna utmattas för snabbt.

Tillämpa mönsterigenkänning

Mönsterigenkänning är en ganska viktig färdighet i kodning, eftersom den låter dig lösa uppgifter mycket snabbare genom att tillämpa tankemönster som din hjärna är bekant med och bekväm att använda. Det är också en kraftfull teknik att tillämpa på allmänna livsproblem: försök bara analysera eventuella problem du står inför i ditt liv och hitta (och låna) mönster från de delar av ditt liv som fungerar tillfredsställande, överför dem till det aktuella problemet.

Tillämpa algoritmer

När du tänker på det handlar vårt liv om att forma algoritmer. Vi kallar dem vanor. Vår hjärna tenderar att förlita sig på vanor varje dag, bara för att den är mer effektiv och därmed praktisk. Det enda problemet är att de flesta av oss tenderar att göra detta omedvetet, vilket ofta resulterar i att vi skapar felaktiga och skadliga algoritmer (vi kallar dem dåliga vanor eller beroende). Att veta hur man skapar användbara algoritmer medvetet kan vara en extremt fördelaktig livsfärdighet som gör att du kan nå dina mål och bli framgångsrik. När det gäller programmering är det att veta hur man skapar en algoritm för att lösa ett visst problem på det snabbaste och mest effektiva sättet som skiljer en person som bara vet hur man kodar från en erfaren professionell datorprogrammerare.