Før du begynder at kode for at lære en computer at løse et specifikt problem, skal du normalt selv forstå problemet, finde en løsning og først derefter lære en computer at håndtere det. Beregningstænkning er en metode til at gøre denne proces hurtigere og nemmere, men den er ikke begrænset kun til programmering og kan anvendes på forskellige dele af vores liv.

Computational Thinking (CT) er et koncept, som brancheeksperter kalder en 'kode til succes' og 'vital færdighed'. Selvom det er relativt simpelt, kan CT være nyttigt langt ud over blot softwareprogrammering. Udtrykket blev først foreslået i 1980 af Seymour Papert, en matematiker og datalog, som en måde at løse forskellige programmeringsrelaterede problemer og opgaver mere effektivt.

CT er et sæt metoder, der involverer at tage et komplekst problem og opdele det i en række mindre problemer, der er nemmere at håndtere, samt at udtrykke essensen af ​​et problem og løsningen på måder, som en computer kunne udføre.

Hvordan fungerer Computational Thinking?

Computational Thinking som teknik består af fire hovedmetoder, som er dekomponering, generalisering/abstraktion, mønstergenkendelse/datarepræsentation og algoritmer. De er alle lige vigtige og effektive, når de anvendes (på et problem) i den rigtige rækkefølge.

Nedbrydning

Man starter med nedbrydning, som er at adskille et problem i en række mindre problemer, der er nemmere at løse én efter én.

Abstraktion (generalisering)

Derefter går du videre til en specifik opgave/problem, og fokuserer udelukkende på den information, der er vigtig for at løse den og ignorerer resten.

Mønstergenkendelse (datarepræsentation)

Næste trin er at lede efter ligheder mellem det problem, du i øjeblikket arbejder på, og andre problemer, der er blevet løst tidligere (med den tilgængelige løsning). Målet er at finde mønstre, der kan anvendes på din nuværende opgave.

Algoritmer

Og endelig, med resultaterne af at anvende tidligere trin på plads, udvikler du en algoritme til en trin-for-trin problemløsning. En algoritme kan derefter udføres af en computer (eller din hjerne, som er de ultimative computerløsningsopgaver i dit liv).

Brug af computertænkning

At vide, hvordan man bruger CT, når de håndterer problemer og opgaver, som flertallet af softwareudviklere beskæftiger sig med regelmæssigt, kan være yderst nyttigt gennem hele din karriere inden for kodning.

Her er en hurtig guide til, hvordan du begynder at anvende beregningstænkning på enten kodningsopgaver eller stort set alle alvorlige problemer, du måtte have med at gøre i dit personlige liv.

Anvendelse af nedbrydning

Nedbrydning er en ganske simpel, men kraftfuld teknik, som kan hjælpe dig med at håndtere problemer/opgaver, der ved første øjekast virker for komplekse, og som dermed ofte forårsager udsættelse og andre vanskeligheder. Nøglen her er at træne din hjerne til at bruge nedbrydning på en regelmæssig basis, og opdele en opgave til en række mindre opgaver, der er nemmere at løse. Selvom nedbrydning kan virke som en meget enkel og endda indlysende metode, vil du blive overrasket over, hvor mange mennesker ikke er klar over det, hvilket gør det så meget sværere for dem at begynde at arbejde med store, globale opgaver (som at lære Java, for eksempel).

Anvendelse af abstraktion

At vide, hvordan man anvender abstraktion, er en stærk evne, hvis du kender teknikken og har trænet din hjerne til at bruge den ubevidst. Abstraktion handler om udelukkende at fokusere på den information, der kræves for at løse opgaven, mens man ignorerer alt andet. Brugt i kombination med nedbrydning er det dybest set metoden til at nærme sig stort set ethvert problem eller problem i dit liv. Når du beskæftiger dig med strengt programmeringsopgaver, hjælper abstraktion med at koncentrere dig og undgå, at din hjerne bliver udmattet for hurtigt.

Anvendelse af mønstergenkendelse

Mønstergenkendelse er en ganske vigtig færdighed i kodning, da den giver dig mulighed for at løse opgaver meget hurtigere ved at anvende tankemønstre, som din hjerne er fortrolig med og komfortabel med at bruge. Det er også en kraftfuld teknik til at anvende på generelle livsproblemer: Prøv bare at analysere eventuelle problemer, du står over for i dit liv og find (og lån) mønstre fra de dele af dit liv, der fungerer tilfredsstillende, og overfør dem til det aktuelle problem.

Anvendelse af algoritmer

Når du tænker over det, handler vores liv om at danne algoritmer. Vi kalder dem vaner. Vores hjerne har en tendens til at stole på vaner hver eneste dag, bare fordi den er mere effektiv og dermed praktisk. Det eneste problem er, at de fleste af os har en tendens til at gøre dette ubevidst, hvilket ofte resulterer i at danne forkerte og skadelige algoritmer (vi kalder dem dårlige vaner eller afhængighed). At vide, hvordan man bevidst danner nyttige algoritmer, kan være en yderst gavnlig livsfærdighed, der giver dig mulighed for at nå dine mål og få succes. Når det kommer til programmering, er det at vide, hvordan man danner en algoritme til at løse et bestemt problem på den mest hurtige og effektive måde, det, der adskiller en person, der bare forstår at kode, fra en erfaren professionel computerprogrammør.