Algoritmisk tenkning

Algoritmisk tenkning er den norske oversettelsen av det engelske computational thinking. En av mange definisjoner går ut på at algoritmisk tenkning er «tankeprosessen knyttet til å formulere et problem og dets løsning(er) på en slik måte at det kan løses av en informasjonsprosesser (menneske eller maskin).»

Algoritmisk tenkning er et sett med konsepter og fremgangsmåter knyttet til prosessen fra man blir klar over et problem til man har funnet en løsning på problemet. I dette ligger å bryte ned problemet i løsbare delproblemer, generalisere problemer, modellere løsninger og finne stegene man må igjennom for å komme til en endelig løsning.

Begrepet algoritmisk tankegang er hentet fra det engelske «computational thinking» og ble først brukt av Seymour Papert i boka Mindstorms: Children, computers, and powerful ideas  fra 1980. Professor Jeanette Wing beskrev i artikkelen Computational Thinking i 2006  algoritmisk tenkning som en ferdighet og tilnærming som er relevant for alle, også utenom datavitenskapen.

Algoritmisk tenkning involverer å bryte komplekse problemer ned til en serie mindre, mer håndterlige problemer (dekomponering). Hvert av disse mindre problemene kan så behandles separat ved å vurdere hvordan liknende problemer har vært løst tidligere (mønstergjenkjenning) og fokusere på de viktige detaljene og ignorere irrelevant informasjon (abstraksjon). Til sist utformes stegvise instruksjoner og regler for å løse hvert av de mindre problemene (algoritmer).

Nøkkelbegreper 
Den britiske organisasjonen Barefoot Computing tar utgangspunkt i seks elementer som inngår i algoritmisk tenkning:

 Logikk - analysere og forutse (hypoteser)
 Algoritmer - lage steg-for-steg-beskrivelser og regler
 Mønstre - gjenkjenne og utnytte likheter
 Dekomposisjon - bryte ned i mindre deler
 Abstraksjoner - fjerne unødvendige detaljer
 Evaluering - vurdere resultat og produkt (eget og andres)

Det er også et sett ulike tilnærminger eller arbeidsmåter som knyttet til algoritmisk tenkning (Barefoot Computing, 2014 )

 Fikle («tinkering») - utforske og eksperimentere; gjøre endringer og se hva som skjer
 Skape - planlegge, designe og lage løsninger og produkter
 Feilsøke og -rette - oppdage og rette feil
 Utholdenhet - fortsette og prøve på nytt (kognitiv kondis)
 Samarbeid - arbeide sammen for å sikre best mulig resultat

Referanser 

Algoritmer
Programmering
Problemløsning
Kognitiv psykologi