Algoritmisk tenkning

Algoritmisk tenkning er en problemløsningsmetode. Algoritmisk tenkning innebærer å tilnærme seg problemer på en systematisk måte, både når vi formulerer hva det er vi ønsker å løse og når vi foreslår mulige løsninger.  Litt forenklet kan vi si at det er 'å tenke som en informatiker' når vi skal løse problemer eller oppgaver.

Å tenke algoritmisk er å vurdere hvilke steg som skal til for å løse et problem, og å kunne bruke sin teknologiske kompetanse for å få en datamaskin til å løse (deler av) problemet. I dette ligger også en forståelse av hva slags problemer/oppgaver som kan løses med teknologi og hva som bør overlates til mennesker. Algoritmisk tenkning er den norske oversettelsen av det engelske computational thinking.

Nøkkelbegrep og arbeidsmåter

Det finnes flere definisjoner av algoritmisk tenkning, men hovedtrekkene er sammenfallende. Figuren nedenfor viser noen viktige nøkkelbegrep som inngår i algoritmisk tenkning og typiske arbeidsmåter den algoritmiske tenkeren bruker for å løse problemer.

Modell som illustrerer nøkkelbegrep og arbeidsmåter ved algoritmisk tenkning. Nøkkelbegrep er logikk, algoritmer, dekomposisjon, møsntre, abstraksjon, evaluering. Arbeidsmåter er fikle, skape, feilsøke, holde ut og samarbeide.

Figuren er tilpasset fra Barefoot Computing (UK) som er publisert med en åpen lisens (OGL).

Algoritmisk tenkning innebærer å bryte ned komplekse problem til mindre, mer håndterlige delproblemer som lar seg løse. Det inkluderer å organisere og analysere informasjon på en logisk måte og å lage fremgangsmåter (algoritmer) for å komme fram til ønsket løsning. Det handler også om å lage abstraksjoner og modeller av den virkelige verden ved å fjerne unødvendige detaljer og fokusere på det som er relevant for den aktuelle problemstilling og løsning. En løsning på et spesifikt problem kan ofte generaliseres, slik at den kan brukes til å løse lignende problemer, og løsninger på flere delproblemer kan kombineres for å løse mer komplekse problem.

Den algoritmiske tenkeren må være systematisk og analytisk i sitt arbeid, men det er minst like viktig å være skapende, eksperimenterende og åpen for alternative løsninger. Det krever en nysgjerrig og utforskende tilnærming for å formulere og løse problemer. Å gjøre feil underveis er en viktig del av prosessen, og den algoritmiske tenkeren må ha strategier for å oppdage at noe er feil og rette feilene. Dette krever en «kognitiv kondis» for å ikke gi opp, og det er viktig å trene denne ved å jobbe med kontinuerlig forbedring underveis i prosessen. Gode løsninger oppstår ikke et vakuum, og samarbeid og deling er derfor sentrale arbeidsmetoder for den algoritmiske tenkeren.