Viden og værktøjer
Hvilket sprog taler din computer? Om programmeringssprog, literacy og fagforståelse
I formålsbeskrivelsen til det nye forsøgsvalgfag Teknologiforståelse står der, at ’elevernes mestring af faget fordrer en beherskelse af digitale designprocesser og af digitale teknologiers sprog’ (Børne- og ungeministeriet, u.å.). Det ligger lige for spøgefuldt at spørge, om det nye fag så er et sprogfag? Det er det naturligvis ikke. Og så alligevel. Måske er der noget om snakken. Formuleringen lægger sig i hvert fald i forlængelse af de seneste årtiers tendens til at strække det i forvejen brede literacy-begreb til at dække stadigt flere kompetenceområder, der knytter sig til brugen af digitale teknologier – digital literacy, computer literacy, data literacy, information literacy, programming literacy, coding literacy, for blot at nævne nogle.
Kritiske røster vil måske mene at denne sprogbrug udvander literacy-begrebet, og at begrebet bør reserveres til kompetenceområder, der har med læsning og skrivning at gøre. Denne indvending er rimelig nok i den forstand, at udtryk, der dækker alt, ingenting betyder. På den anden side er der visse ligheder, der måske alligevel gør det meningsfuldt at anvende literacy-begrebet om det at kunne noget med digitale teknologier. Jeg selv hælder mest til det sidste – nemlig at ’literacy’ meningsfuldt kan anvendes om de nye kreative digitale praksisser, og jeg vil i det følgende forsøge at vise hvorfor.
I EDB-lokalet
Mit eget første møde med en computer i uddannelsessystemet fandt sted for 35 år siden. Jeg gik i fjerde klasse og skolen havde, som så mange andre skoler, investeret i de danskproducerede - og meget dyre - Piccoline-computere. Det var skolens inspektør, der førte os ind i det nyindrettede EDB-lokale, hvor vi andægtigt satte os to-og-to ved de store maskiner. Her fik vi til opgave at indtaste nogle talværdier, hvorefter en pixeleret stjernefigur viste sig på skærmen. Da alle havde fået printet deres stjernefigur på en larmende nåleprinter, var timen slut og vi blev benovede sendt tilbage til klassen.
Nu hvor benovelsen har lagt sig, tænker jeg tilbage på episoden som et godt eksempel på dårlig undervisning. Seancen havde intet andet formål end at vise maskinerne frem. Vi lærte ikke noget om computere - eller for den sags skyld om noget andet - og vi gik derfra med en vag forestilling om, at computere var mystiske maskiner, som man skulle være skoleinspektør for at kunne betjene.
Eksemplet er sikkert ikke enestående. Piccoline-computerne blev af flere forskellige grunde aldrig en succes, og vi skal et ti-år eller to frem, før computere for alvor begyndte at blive en integreret del af skolernes hverdag. Intentionerne var ellers gode. I 70’erne begyndte man for alvor at interessere sig for computeres uddannelsesmæssige potentiale. Computerpionererne Seymour Papert og Cynthia Solomon skrev allerede i 1971 ’Twenty things to do with a computer’ (Papert & Solomon, 1971), der demonstrerede, hvordan man i skolen kunne bruge en computer til meget andet end matematisk problemløsning, og herhjemme udkom i 1972 ’Betænkning om EDB-undervisning i det offentlige uddannelsessystem’ (Undervisningsministeriet, 1972), der siden førte til oprettelsen af valgfaget ’Datalære’. Idéerne om kreativ og avanceret brug af computere i undervisningen og programmeringssprog som et flydende andetsprog for eleverne blev imidlertid aldrig for alvor realiseret, og op gennem 90’erne og 00’erne begyndte man i stedet at tale om digital literacy, der ikke handlede så meget om at programmere, men i stedet satte fokus på vores omgang med digitale teknologier i bred forstand, herunder spørgsmålet om, hvordan man begår sig i en hverdag og en verden, der i stigende grad digitaliseres.
Programmering som faglighed
I de senere år er interessen for programmering som faglighed i skolen imidlertid vendt tilbage. Denne gang i følgeskab med begrebet computational thinking, der kort sagt dækker over tænkemåder, der gør os i stand til at handle i verden gennem computere med henblik på at gøre ting vi ellers ikke ville have været i stand til at gøre. Begrebet computational thinking er ikke nyt, men det blev for alvor sparket ind i uddannelsesdebatten i 2006, da den amerikanske datalogi-professor Jeanette Wing (2006) formulerede et uddannelsespolitisk opråb med henblik på at få flere unge til at søge ind på universiteternes datalogiuddannelser. Siden har diskussionen om computational thinking bredt sig som en global steppebrand, og verden over arbejdes der hårdt på at implementere forskellige versioner af computational thinking-curriculaer på alle niveauer af uddannelsessystemet.
Det er uden tvivl den teknologiske udvikling, der er skyld i, at programmering og computational thinking igen er kommet på den uddannelsespolitiske dagsorden. Uanset hvor visionært folk som Papert og Solomon tænkte, var det i 70’erne og 80’erne både dyrt og krævede stor teknisk indsigt at realisere drømmen om computeren som elevens bedste ven. Det er det imidlertid ikke længere. Priserne er faldet til et niveau, hvor alle kan være med, og programmeringssprog som Scratch (https://scratch.mit.edu) og Python (https://www.python.org/) har gjort det muligt for alle at kaste sig på hovedet ud i at lære at programmere.
Den fornyede interesse for programmering og computational thinking har imidlertid genrejst et spørgsmål, som også blev diskuteret første gang programmering på skoleskemaet var oppe at vende (Undervisningsministeriet, 1972), nemlig spørgsmålet om, hvorvidt programmering og teknologiforståelse er et fag i egen ret, eller om det bedst placeres som en integreret del af fagene i den allerede eksisterende fagrække, fx i dansk, matematik eller naturfag.
Programmering og literacy
Og her er vi så tilbage ved spørgsmålet om, hvad programmering og literacy har med hinanden at gøre. De to ting har det med hinanden at gøre, at forholdet mellem grammatik og kommunikativ handlen er det samme som forholdet mellem reglerne for at skrive et program i et givet programmeringssprog og det - som jeg i mangel af bedre - vil kalde computationel handlen. I dagligdagen bruger vi skriftsproget i uendeligt mange komplekse situationer. Vi skriver klummer, artikler, kærestebreve, jobansøgninger, dosmersedler og købsaftaler, og fælles for disse er, at grammatisk korrekthed ikke er målet, men midlet. Succeskriterierne er med andre ord ekstralingvistiske, fx at underholde, overbevise, få en kæreste, blive ansat, huske mælk eller overtage ejerskab. Præcis det samme gælder for programmeringssprog. Formålet med programmering er ikke i sig selv at programmet afvikles fejlfrit. Det er i stedet, at sikre, at pengene havner det rigtige sted, når kunderne overfører penge via deres netbank, at flyet holder den rette kurs, når autopiloten slås til, og at selvkørende biler hverken bringer passagerer eller medtrafikanter i fare.
Diskussionen om programmeringssprogenes plads på skoleskemaet kommer således til at minde meget om diskussionen, der de seneste mange år har stået på mellem fortalere for henholdsvis et smalt, kognitivt orienteret literacy-perspektiv med fokus på afkodning og formelle grammatiske færdigheder og fortalere for et kritisk emancipatorisk literacy-perspektiv med fokus på sproget som middel til at skabe identitet og gøre sig gældende i sociale kontekster. Hvad er er vigtigst?
Spørgsmålet er naturligvis umuligt at svare på. Det er det, fordi det er forkert stillet og bygger på en præmis om, at undervisning i indkodning/afkodning er væsensforskelligt undervisning i kommunikativ handlen. Denne præmis er imidlertid falsk. Der er tværtimod tale om to sider af samme sag. Indkodning/afkodning er en forudsætning for kommunikativ handlen, og sprogtilegnelse forudsætter lige stor opmærksomhed på begge aspekter. Man får ikke jobbet, hvis ansøgningen er fuld af meningsforstyrrende fejl. På den anden side lærer man formodentlig aldrig at skrive en ansøgning, hvis motivationen for at øve sig først og fremmest er frygten for lærerens røde pen.
Derfor giver det også mening at tale om literacy i forbindelse med programmering, computational thinking og teknologiforståelse. For elegante teknologiske løsninger på epokale nøgleproblemer opfinder ikke sig selv. De kræver veludviklede programmeringsfærdigheder og dyb viden om computeres potentialer og begrænsninger. Dette må naturligvis læres, men læres næppe hvis undervisningen aldrig kommer til at handle om andet end at taste talværdier ind i en funktion, der kan tegne polygon-spiraler – jeg har siden gættet mig til, at det må have været det vi gjorde den gang i EDB-lokalet. Svaret på spørgsmålet om hvad man stiller op med disse nye færdigheder, kompetencer og tænkemåder i skolen, må derfor være et både/og.
Jeg har selv beskæftiget mig med integration af programmering i skolen i de senere år, og der er ingen tvivl om, at det udfordrer både elever og lærere. Der er således brug for et kompetenceløft i forhold til konkrete færdigheder i programmering og computational thinking. På den anden side dur det ikke, hvis det nye fag i teknologiforståelse lukker sig om sig selv, for hvad skal man så stille op med sine nyvundne programmeringsfærdigheder. De skal naturligvis bringes i spil i fagene og bruges til at lære om narrative strukturer og historiske epoker gennem programmering af spændende computerspil, udvikle en app, der kan bidrage til at forbedre skolens CO2-regnskab, ved at minde elever og lærere om at huske at slukke lyset, eller ved at udvikle en stave- og grammatikkontrol, der kan forbedre ens karakter i skriftlig tysk. Færdighed og frihed går hånd i hånd!
Referencer
Børne- og ungeministeriet (u.å). https://www.emu.dk/grundskole/teknologiforstaelse
Papert, S., and Solomon, C. (1971). Twenty Things to do with a Computer. Artificial Intelligence Memo 248, MIT AI Laboratory. Cambridge, MA.
Undervisningsministeriet (1972). Betænkning om EDB-undervisning i det offentlige uddannelsessystem. København: Undervisningsministeriet.
Wing, J. M. (2006). Computational Thinking. Communications of the ACM, 49(3): 33. doi:10.1145/1118178.1118215.