Etno-datalogi

Igennem årene har vi haft diskussioner på Institut for datalogi om hvilket programmeringssprog, de studerende skal lære først. Efterhånden er valget faldet på C, og herefter lærer de studerende så flere C-agtige sprog – i hvert fald C# (tidligere var det Java) og i nogle tilfælde C++. Uanset hvilken holdning man har til valget af første programmeringssprog er holdningen den samme: det første programmeringssprog påvirker den studerendes måde at tænke om programmering på.

Men er det nu egentlig så vigtigt, hvad man lærer først?

Inden for matematikdidaktik findes begrebet etnomatematik. Etnomatematik er ifølge Den Store Danske Encyklopædi

…studiet af ikke-skriftbaserede kulturers matematiske teknikker og begreber.

Nogle af disse kan være teknikker til regnskabsføring, kalenderregning eller geometrisk konstruktion til brug i husbygning; andre tegning af komplicerede linjemønstre som leg eller til illustration af myter; atter andre regler for, hvordan ægteskab kan indgås mellem de forskellige sektioner af en stamme, regler der kan forklares gennem algebraisk transformationsteori.

Da sådanne teknikker ofte ikke er indbyrdes koblet i den pågældende kultur, men med de praksisfelter, de hver for sig indgår i, opfattes de sjældent som matematik.

Jeg ved ikke, om begrebet etno-datalogi er opstået, men det bør det så fald snart gøre. For i den industrialiserede verden har et meget stort flertal af mennesker født i 1960’erne og frem jævnligt brugt computere. Gennem denne brug af computere har de dannet sig en “ikke-skriftbaseret” og “præ-datalogisk” opfattelse af, hvordan et program opfører sig og hvordan data bliver struktureret. Og det gælder selvfølgelig også dem, der begynder at studere datalogi.

Mark Guzdial, der er professor ved Georgia Institute of Technology, argumenterer i en blog ved Communications of the ACM for, at denne diskussion om valg af første programmeringssprog måske i virkeligheden ikke er så vigtig – netop fordi alle datalogistuderende i dag har en sådan præ-datalogisk opfattelse af programmers adfærd. Han nævner bl.a. en interessant lille artikel, hvor L. Sudol, M. Stelik og S. Carver fra Carnegie-Mellon University undersøger, hvilke datastrukturer, datalogistuderende og dataloger allerede “reelt kender” via en præ-datalogisk opfattelse. I artiklen bliver deltagerne i undersøgelsen bl.a. spurgt om dette:

Imagine I want to change the way you interact with the software program so that you can see only one piece of data at a time. Which of the following four buttons do you think would be the most used? Get First, Get Last, Get Item Number , or Search? Which of the buttons do you think would be the easiest to make?

Disse “knapper” svarer til henholdsvis operationerne på en kø, en stak, et array og en liste. Det viser sig, at mange allerede kender en kø og en stak – formodentlig fra sociale medier som Facebook, hvor statusopdateringerne optræder netop som først-ind-først-ud. Men der er alligevel en anden datastruktur, de kender allerbedst – og det kan man se af figuren ovenfor. Det er nemlig lister.

Jeg har sommetider en fornemmelse af, at nogle hyppigt forekommende misforståelser hos studerende kan føres tilbage til et præ-datalogisk vidensniveau.

Fra min egen undervisningserfaring og fra diskussioner med kolleger ved jeg nemlig, at mange studerende tager udgangspunkt i en forståelse af, at data skal organiseres som lister – også selv lineær søgning er en helt ineffektiv søgestrategi, når der er tale om store datamængder. Jeg ved også, at en del studerende har svært ved at forstå og anvende rekursion som programmeringsprincip. Rekursion er fundamental i datalogi, men et princip, man normalt ikke støder på som almindelig bruger af computere.

Jeg tror derfor, vi i fagdidaktisk sammenhæng i langt højere grad skal forske i etno-datalogi. Vi er nødt til i både  projektarbejde og kursusundervisning at kunne tage udgangspunkt i de datalogistuderendes “præ-datalogi” og være mere eksplicitte om hvordan vi kan bringe de studerende fra det præ-datalogiske vidensniveau til et datalogisk. Vi skal især passe på, at vi ikke simpelthen udbygger den ustrukturerede, ikke-teoribaserede præ-datalogiske forståelse.

(Visited 46 times, 1 visits today)
Loading Facebook Comments ...

Skriv et svar