Målene i programmeringstaksonomien er oprindeligt oversat og bearbejdet af CFU Absalon og CFU VIA ud fra mål i det engelske fag “computing”, der blev indført i 2014, og de indgår desuden i bogen “Programmering i praksis” fra 2017, hvor de anvendes i udfoldningen af en række undervisningsforløb. Programmeringstaksonomien indeholder både et konkret målhierarki i forhold til selve kodningen og mål, som retter sig mod en bredere forståelse af programmering, der også indbefatter computationel tankegang. Kodning forstås her som værktøjet – de instruktioner – man giver computeren, så den udfører et givent program, men computationel tankegang er de tilgange, tankeprocesser og metoder, der anvendes til at nedbryde og formulere en idé på en måde, som kan kodes.
Der er i alt tre faser, og hver fase består af to trin. Baseret på styredokumenterne til forsøgsfaget i teknologiforståelse er det primært fase 1 og 2, der er relevant for grundskolen, mens fase 3 retter sig mod ungdomsuddannelsernes informatikfag. Det er en pointe, at den danske tilgang til programmering er styret af et overordnet formål om at udvikle eleverne som myndige digitale borgere – de skal anvende (blok)programmering for at forstå grundlæggende elementer bag programmerede artefakter og teknologier, men de skal ikke være programmeringseksperter.
I takt med at skoler har arbejdet med – og måske selv indkøbt – forskellige teknologier samt etableret makerspaces, er der også kommet et stigende behov for at arbejde med en decideret programmeringstaksonomi. som ikke bare bygger på den enkelte teknologi, men på måden, hvorpå teknologien anvendes. Ved at arbejde systematisk med denne type mål åbnes op for, at den samme teknologi kan anvendes på forskellige måder til forskellige niveauer, og for at mange forskellige teknologier kan anvendes til at arbejde med det samme mål. Det er vigtigt i en tid, hvor teknologierne er hurtigt foranderlige.
Hvert trin er desuden indplaceret i SOLO-taksonomien, som er udviklet af Pam Hook. SOLO står for “Structure of the Observed Learning Outcome”, og består af fem niveauer. SOLO-taksonomien er ikke knyttet til det digitale område, men kan anvendes i alle fag. Hvert niveau udgøres af en beskrivelse af, hvad eleven kan og gør, og anviser anbefalede didaktiske tilgange for at imødekomme og udvikle elevens kunnen.
Nedenfor er de tre faser delt op i hvert sit kapitel. Alle faser og trin kan desuden hentes her fra ressourcen i et printvenligt format. Vi håber, programmeringstaksonomien kan være et godt redskab for lærere i deres planlægning af forløb med programmering.
Deltag i vores CFUmaker online fællesskab på Oase.app
Link til Oase.app – både QR kode til mobil app samt link til Oase.app
Fase 1 er for nybegyndere uanset alder.
På trin 1 kan du med fordel arbejde analogt med algoritmeforståelse og introducere simple forløb med robotter eller små programmeringsopgaver. For de yngste kan det fx være BeeBots, Lego Spike Essential, Scratch Junior eller udvalgte tutorials i Hour of Code. For de ældre elever kan mere avancerede teknologier og værktøjer bruges, så længe opgaverne stilladseres, så de er enkle for eleverne at udføre. Didaktisk kan det være en god idé at give eleverne et lille program, der er lavet på forhånd, som de skal afprøve og forklare for derefter at modificere og udvide det ud fra egne idéer eller givne instrukser. Det er også essentielt, at undervisningsforløb kun introducerer få nye koncepter ad gangen,
Fokus bør lægges på at udvikle elevernes lyst til at eksperimentere og på at udvikle deres sprog, så de mundtligt og skriftligt kan udtrykke små programmer. Pseudokode, som er instruktioner i naturligt sprog, er en velegnet faglig metode at introducere på dette trin. Du kan se mere om pseudokode som metode her: Begrebsguide: Pseudokode
På trin 2 cementeres forståelserne fra trin 1, og en del kan fortsat arbejdes med analogt. Eleverne arbejder her med grundlæggende byggesten i forhold til programmering så som løkker og betingelser, og de udvider deres kunnen i forhold til at kunne forudsige et program og designe forskellige løsninger til enkle problemer. Det er fortsat vigtig at arbejde med sprogliggørelse af forskellige små programmers logik gennem beskrivelser af, hvad de forskellige instruktioner gør. Det er også vigtigt at udvikle elevernes kunnen i forhold til systematisk fejlsøgning og at arbejde med en eksperimenterende og inkrementel tilgang til programmering, der understøtter elevernes nysgerrighed og lyst til at afprøve forskellige muligheder.
Spørgsmål så som “hvad vil der mon ske hvis…?”, “kan du også lave programmet på en anden måde…?” og “kan du ændre i dit program, så…?” kan understøtte elevernes udvikling på trin 2.
I fase 2 er trin 1 for let-øvede, mens trin 2 er for de meget øvede. I en mellemtrins- eller udskolingsklasse vil man ofte kunne opleve stor spredning på tværs af de to faser, og det er vigtigt, at læreren stiller opgaver, der kan løses på forskellige måder.
På trin 1 kan du med fordel introducere flowcharts som en faglig metode til at planlægge og udtrykke programmer på. Du kan se mere om flowcharts her: Begrebsguide: Flowcharts
Opgaver i trin 1 vil i stigende grad skulle løses et specifikt problem og i mindre grad være præget af frie undersøgelser. Det kan være en god idé for at konsolidere elevernes forståelser, at de arbejder med samme kodekonstruktioner i forskellige sammenhænge. Det kan være den samme teknologi, som anvendes til at løse forskellige problemer, fx en quiz, en chatbot og en interaktiv fortælling i CodingLab, hvor løsningen af de tre problemer alle vil skulle bruge kodeblokke, som gør noget baseret på brugerens input. Det kan også være det samme problem, som løses med forskellige teknologier, fx et projekt om selvkørende biler i CoSpaces, med Ozobotter og med micro:bits.
På trin 2 lægges der op til, at eleverne i stigende grad arbejder med egne projekter, som de udvikler i en designproces fra idé til færdigt program med brug af systematik og udviklingsmetoder. På trin 2 er eleverne desuden i stand til at planlægge og programmere større projekter, der afviger fra lineære algoritmer. Det kan fx være et spil. hvor elementer kun vises, når noget bestemt sker, og hvor der indgår forskellige levels.
Der er et øget fokus på, at eleverne kan redegøre for deres kode for andre, og at de er i stand til at tilegne sig ny viden på egen hånd.
Som udgangspunkt rækker fase 3 udover grundskolen, da den sigter mod tekstprogrammering og robuste programmeringsfærdigheder.
Når det er sagt, så vil man også i grundskolen ind imellem møde elever, der klart befinder sig i fase 3, og her tilbyder nedenstående trinmål læreren en række pejlemærker i forhold til at udfordre disse elever og vurdere deres projekter på et fagligt grundlag.
Nedenfor vises ressourcer som er udvalgt baseret på tags
Nedenfor vises ressourcer indenfor samme emne