Systemudvikler introducerer skolebørn til exceptions og uendelige løkker

Undervisning i programmering i skolen er et varmt emne lige nu, men lærer vi børnene det rigtige, når vi introducerer dem til eksempelvis Scratch, spørger systemudvikler Alishah Novin.

Den første lektion i programmering, som børn i skolealderen møder, er ofte en opgave, der går ud på at få en figur til at flytte sig gennem en labyrint. Børnene skal sammensætte instruktioner, der får figuren til eksempelvis at bevæge sig tre skridt frem og dreje 90 grader til venstre.

Men at sammensætte instruktioner er ikke dét, der er programmørens reelle opgave. Det er blot scripting og ikke systemudvikling.

Det mener i hvert fald den amerikanske systemudvikler Alishah Novin, som i stedet foreslår undervisning i programmering, som handler mere om at forstå både hvordan og hvorfor et program opfører sig som det gør - inklusive fejl.

Programmeringssprog som Scratch og lektionerne i Hour of Code er ifølge Alishah Novin mere scripting-opgaver end en introduktion til tankegangen for en programmør. Derfor foreslår han en anden metode, som han har afprøvet på eleverne i en 5. klasse.

Målet med metoden var introducere eleverne til, hvordan man genkender forskellige antagelser, som ligger til grund for et program, og hvordan man derfra kan ende med undtagelser, hvor programmet, antagelserne og virkeligheden ikke passer sammen.

»Jeg endte med at 'skrive' et program, hvor 'computeren' var klasseværelset og eleverne mine bits,« skriver Alishah Novin i sit blogindlæg.

Null-hunden udløser en exception

Eleverne blev placeret i en cirkel og trak nogle kort med simple IF-THEN-ELSE-instruktioner. Instruktionerne handlede om at sende en genstand - i dette tilfælde en trådløs mus - videre ud fra betingelserne i IF-delen, og så eventuelt følge en instruktion om at sætte sig på deres plads, hvis betingelserne var opfyldt.

Visse af kortene, som eleverne kunne trække, indeholdt fejlagtige antagelser eller havde formuleret dem på en måde, så de ikke entydigt kunne evalueres.

Eksempelvis lød ét af kortene noget i stil med 'HVIS din hund hedder Kvik' - her var det meningen, at eleverne skulle opdage, at der lå en implicit antagelse om, at eleven havde en hund. Der ligger en potentiel exception i, at eleven måske slet ikke har hund.

Derfor blev eleverne bedt om at finde en bedre formulering som eksempelvis kunne være 'HVIS du har en hund OG den hedder Kvik'.

Kortene var også designet til i sidste ende at føre til en uendelig løkke, så programmet ikke ville blive afsluttet. Øvelsen var, at eleverne skulle genkende problemet, beskrive det og foreslå en løsning, som ville fikse programfejlen.

På den måde ville eleverne altså ifølge Alishah Novin blive introduceret til mere af den tankegang, som ligger bag softwareudvikling, end de ville få ud af en lektion i eksempelvis Hour of Code.

Sprog som Scratch introducerer dog også eleverne til en række af de grundlæggende elementer i software så som de forskellige løkker og visse egenskaber ved objektorienteret programmering.

Konceptet vil formentligt i sin nuværende kræve en underviser, som er bekendt med begreberne inden for programmering for at kunne hjælpe eleverne med at forstå nuancerne i, hvilke antagelser der kan udløse fejl.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (1)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Ivo Santos

Jeg har i et stykke tid haft gang i noget webside test, og et af de fejl jeg er røget ind i er den velkendte .net fejl meddelelse.

nullreferenceexception

Og naturligvis får man sådan en fejl hvis ikke man tjekke at feltet fra 'post' eller 'get' er sat.

ex: www.example.com/edituser.aspx?user=

altså hvis der ikke tjekkes at 'user' er tom eller ikke så for man da en fejl retur, det samme kan opstår når man arbejder med database opslag for selv samme fejl kan opstår, og det er nogle af de fejl jeg har oplevet i forbindelse med test af en ny webside.

  • 0
  • 0
Log ind eller Opret konto for at kommentere