Hvad vil det egentlig sige at lære programmering?
For tredive år siden var det lettere. Da kunne udviklere og skoleelever bruge stort set de samme værktøjer, og det var muligt gradvist at vokse fra at lave simple opgaver til at skrive applikationer som faktisk kunne anvendes.
Sådan er det ikke længere. Der er i dag en række forskellige aktiviteter som alle bliver betegnet som programmering eller at lære at gøre det. Derfor er det meningsløst, når Lars Grarup i Politiken 14.5 foreslår at alle skoleelever skal lære at programmere. Det er nødvendigt at diskutere, hvad de skal lære.
Jeg oplever at unge betragter programmering som en af de mest prestigefyldte færdigheder i arbejdet med en computer. Derfor er det vigtigt at gøre det klart for dem, hvad de rent faktisk lærer, og hvad de ikke lærer indenfor programmering.
Her er nogle eksempler, jeg er stødt på i min undervisning og andre steder.
Codecademy er et online tutorial hvor eleven skal rette i nogle korte kodestumper, svarende til de kurser hvor eleverne skriver et program af som læreren har vist, og derefter se det fungerer. Eleverne får en følelse af at kunne programmere, men lærer ikke den afgørende færdighed – at kunne gå fra bare et simpelt problem til at skrive en kode som løser det.
Vi kan tale om programmering af en webside med html eller programmering i Flash, selv om eleven ikke ser en eneste linje kode. Her kan eleverne lave noget som er visuelt flot, men selvom de ikke ser en eneste stump af et program.
Nu kan jeg nævne spillet Sims, selvom jeg ikke har brugt det i min undervisning. Det kaldes også programmering, når en tiårig sætter nogle parametre, så der går ild i det virtuelle komfur i det virtuelle køkken, men det giver kun en ret begrænset forståelse af hvordan en computer fungerer.
Lego Mindstorm gør at eleverne kan bygge en robot og sætte softwaremoduler sammen til et program som styrer den. Eleven kan hurtigt selv blive problemløser og forstå hvordan løkker og andre funktioner anvendes i et program. På den måde er det et godt bud på at lære eleverne principperne i programmering.
Eleverne slipper for at skulle lære en del af syntaksen til et tekstbaseret sprog udenad – det er ellers nødvendigt for at skrive et program - til gengæld er det min erfaring at Mindstorm ikke giver et realistisk indtryk af hvor let eller svært det vil være for den enkelte elev at programmere i et tekstbaseret sprog.
Programmering af algoritmer i et tekstbaseret sprog – mine elever brugte Python. I forhold til Mindstorm stiller det langt større krav til udenadslære og opmærksomhed på detaljer. Det giver et langt bedre indtryk af, hvad programmering er for noget – når eleverne vel at mærke selv skal finde ud af hvordan de kan eller vil løse en given opgave – men det er sikkert at en del elever vil falde fra. Og selv i bedste fald, vil det næppe give dem en bedre forståelse af hvordan en computer fungerer, end hvis de bruger Lego Mindstorm.
Objektorienteret programmering med et professionelt udviklingsværktøj hæver stangen endnu en gang. Både fordi der er tale om endnu et niveau af kompleksitet i selve koden, og fordi det er nødvendigt at lære at bruge et bibliotek og udviklingsmiljø. Desværre er det nok også det niveau som eleverne skal nå, hvis de skal forstå og kunne skrive nogle af de programmer med grafiske grænseflader som de ellers er omgivet af.
Eller: Hvor mange IT relevante færdigheder kan elever lære ved at samle Ikeamøbler i stedet for at programmere?
Lars Grarups artikel: http://politiken.dk/debat/profiler/larsgrarup/ECE1969233/danske-skoleelever-skal-laere-at-programmere/

...men det er dyrt at lave god journalistik. Derfor beder vi dig overveje at tegne abonnement på Version2.
Digitaliseringen buldrer derudaf, og it-folkene tegner fremtidens Danmark. Derfor er det vigtigere end nogensinde med et kvalificeret bud på, hvordan it bedst kan være med til at udvikle det danske samfund og erhvervsliv.
Og der har aldrig været mere akut brug for en kritisk vagthund, der råber op, når der tages forkerte it-beslutninger.
Den rolle har Version2 indtaget siden 2006 - og det bliver vi ved med.