it-centerfyn logo

Henter indhold ...

Computational thinking i STX

ITCFYN Didaktik, 14. august 2017

Af Rasmus Kragh Wendelbo, netværkskoordinator, matematik, Svendborg Gymnasium.

Computational thinking er et meget bredt begreb, men hovedsagen er, at få øje for hvornår og hvordan computeren kan og ikke kan indgå meningsfyldt i en proces eller arbejdsopgave. Dét være sig analyse, interaktion, produktion eller formidling og kræver en overordnet viden om hvilke arbejdsmetoder man anvender, når digitale værktøjer udvikles eller tages i brug.

Computational thinking bliver ofte konkretiseret i nogle trin:

  • undersøge et problem
  • udtænke en løsning som udnytter computerkraft
  • efterprøve løsningen
  • vurdere denne løsning.

Det trækker derfor på velkendte metoder fra mange fag bl.a. naturvidenskabelige, kreative og humanistiske, herunder innovation.

Man kan arbejde med alle trinnene eller nogle af dem, og fortrinsvist i grupper med henblik på at stimulere diskussion. Undersøgelse af et problem indebærer overvejelser om og hvordan IT kan bidrage til løsning, herunder hvordan en proces kan deles op i mindre dele, der løses en ad gangen, som man kender fra naturvidenskabelig metode.

En del af løsningen på problemet er nogle gange at designe eller udvikle et digitalt værktøj. Programmering er ikke i fokus, men et basalt kendskab til hvordan digitale værktøjer og databehandling fungerer i en computer, er en del af computational thinking. En af computerens største styrker er algoritmer, dvs. gentagelser, og det kræver abstrakt tænkning at sætte en algoritme rigtigt op. 

Simpel visuel blokprogrammering vil dog være svær at komme udenom, for at introducere de mest basale programmeringskoncepter: algoritmer (løkker) og forgreninger. Jeg har set elever kæmpe med at styre Scrat ("egernet" herunder) til hans agern med 4 blokke. 

Kilde: https://studio.code.org/hoc/17

Vil man ikke helt ned i koderne, kan man arbejde konceptuelt eller med forskellige såkaldte "Wizard of Oz"-værktøjer, der kan simulere funktionalitet.

Programmering bygger på årsag-virkning og tænkearbejdet ligger i at gennemskue konsekvenserne af de koder man sætter sammen. Dertil kan man analysere på, hvor man kan genbruge strukturer (mønster-genkendelse) og hvordan algoritmer kan opstilles på den mest effektive måde, for at spare plads, tid og energi. Fx er tilgangen herunder ikke den bedste til at få Scrat ovenfor i mål:

Visuel blok-programmering kan øves på mange platforme både til computer og tablet. Scratch er klassikeren, men der er mange nye fx har ITCFyn's Finn Roholt anbefalet Swift Playgrounds til iPad. Hour of code har samlet virkelige mange øvelser, og afholder internationalt en time med programmering første uge i december. 

Selv foretrækker jeg Mindstorms, som er Lego's programmerbare klodser, da det giver et mere direkte feedback og en taktil oplevelse at bygge en robot, samtidig med den kodes fx via en iPad. Mulige opgaver for naturvidenskabelige elever kunne være at bygge en PCR- eller titreringsrobot.

At udvikle digitale værktøjer er altid behæftet med fejl. Fejludbedring sker ofte gennem en-faktor variation i en hypotetisk-deduktiv-lignende proces: Du har en viden om syntaks og kodens virkemåde. Du opstiller en hypotese for hvori fejlen ligger, og du udtænker en måde at rette den. Du ændrer koden og efterprøver om din hypotese er korrekt. Selv om programmet tilsyneladende opfører sig korrekt, kan du blive snydt, hvis koden indeholder fejl, som kun viser sig i nogle tilfælde.

Man kan overveje om maskinlæring og kunstig intelligens, på sigt bliver en del af computational thinking. Kunstig intelligens lover meget og er formentlig overvurderet, men holdet blot noget stik, er der store gevinster og udfordringer i vente.

I en verden med øget viden og kompleksitet, skal vi fortsat nøje overveje hvad vi bruger tid på i stx. Computational thinking kom desværre ikke direkte med i 2017-reformen, og er ikke et hovedmål i stx, men IT vil påvirke mange vilkår og faglige metoder, er vi nødt til at beskæftige os med det, for at gøre de unge kompetente, i stand til at vurdere hvornår IT er på sin plads og parate til at deltage i debatten på et oplyst grundlag.

Meget arbejde med computational thinking foregår heldigvis allerede i gymnasiet. Aarhus Universitets Center for computational thinking har samlet nogle forløbsbeskrivelser, som kan bidrage til yderligere inspiration.