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).»[1]

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[2] 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).[3]

Nøkkelbegreper rediger

Den britiske organisasjonen Barefoot Computing tar utgangspunkt i seks elementer som inngår i algoritmisk tenkning:[4]

  • 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 [1])

  • 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 rediger

  1. ^ Wing, Jeannette (april 2008). «Computational thinking and thinking about computing». 2008 IEEE International Symposium on Parallel and Distributed Processing. IEEE. ISBN 9781424416936. doi:10.1109/ipdps.2008.4536091. Besøkt 14. september 2018. 
  2. ^ Papert, Seymour. Mindstorms: Children, computers, and powerful ideas. Basic Books, Inc., 1980.
  3. ^ Introduction to computational thinking (BBCs nettsted)
  4. ^ Barefoot Computing, 2014