Begrebsmaskiner

Fra Felienne Hermanns’ websted (kilde: http://www.felienne.com/archives/6375)

Et af de nye tiltag inden for forskning i datalogi ser ud til at bringe to forskningsområder, som jeg beskæftiger mig med, sammen – semantik af programmeringssprog og uddannelsesforskning inden for datalogi. I juli i år har der således været et Dagstuhl-seminar hvor forskere fra disse to områder mødtes . Den amerikanske datalog og uddannelsesforsker Mark Guzdial skriver

A notional machine is a human-facing, student-accessible explanation for how some aspect of the computational machine works — it might be an explanation of a language feature, or an explanation of some aspect of a running program (e.g., how swap() works). To be able to debug a program, a student needs to understand it, i.e., to have a mental model of how the program works. A student has to be able to predict what their program does, simulating it in their head. A notional machine is a teaching tool for helping the student develop a successful (predictive) mental model.

Dette begreb, der bl.a. skyldes Guzdial, er centralt i de didaktiske overvejelser om programmeringsundervisning, og det er formodentlig broen til at knytte uformel og formel forståelse sammen.

Jeg ved ikke, hvordan begrebet notional machine bedst oversættes – måske “begrebsmaskine”? Dette begreb er interessant, og det er måske endda det, man i fagdidaktiske sammenhænge kalder for et tærskelbegreb. Ofte har vi lidt vagt talt om at man skal lære “principper i programmeringssprog”, men det, vi faktisk efterlyser, er denne form for abstrakt maskine i delvist uformel form.

Jeg har gennem mange år undervist i semantik af programmeringssprog. Min egen erfaring fra undervisningssammenhænge er her, at det desværre i høj grad er muligt at kunne programmere, men samtidig have store problemer med at forstå formel semantik af programmeringssprog. Min fornemmelse er, at denne kløft typisk skyldes at man i så fald ikke har en systematisk forståelse af det programmeringssprog, man anvender, herunder et begrebsapparat der ville kunne understøtte en sådan forståelse. Så vidt jeg kan se, er det netop en “begrebsmaskine”, der er behov for, for den kan hjælpe med at lære programmeringsfærdigheder og samtidig fungere som en bro til den forståelse af formel semantik, der er nødvendig i sprogdesign, oversætterkonstruktion og egentlig programanalyse. En af mine overvejelser er lige nu, om man mon i højere grad skulle bygge programmeringsundervisningen op med et af de centrale læringsmål (og med den sprogbrug) at den lærende skal kunne gøre rede for og anvende en sådan begrebsmaskine.

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

Skriv et svar