Objekt-orienterte språk er blitt de
dominerende i moderne programmering.. Fler og fler universiteter og høyskoler
velger et objekt-orientert språk som det første studentene
lærer. Men det skrives til stadighet i USA om at problemet i undervisningen
er at objekt-orientert programmering er vanskelig å lære,
" Object-oriented programming has a steep learning curve."
Min erfaring er at det skyldes en feilaktig pedagogikk.
Allerede i de første SIMULA-kursene på 1960-tallet
viste det seg at folk som kunne FORTRAN eller ALGOL på forhånd
hadde vanskeligere for å få tak på objekt-orientert
programmering enn dem som ikke hadde programmeringskunnskaper på
forhånd. Hvorfor?
Fordi alle programmeringsspråk har et innebygget
"perspektiv", en måte å oppfatte verden på,
den verden av oppgaver og problemer som skal beskrives og løses.
De første SIMULA-kursene tok derfor utgangspunkt i hvordan en skal
beskrive og løse oppgaver i en verden som består av systemer
med mange komponenter som eksisterer og samhandler i parallell. Dette
står i kontrast til en tenkning der "verdensbildet" består
av én lang sekvens av beregningsoperasjoner, den verdenen der beregningsrutinene,
"algoritmene" er de sentrale byggeklossene
Alle andre objekt-orienterte programmeringsspråk
bygger på SIMULAs grunnbegreper, men amerikanerne begynte med å
bruke objekt-orientering i oppgaver der de klarte seg med én handlingssekvens
(Smalltalk, C++), og derfor starter de ikke opplæringen slik at
objekt-orienteringens grunnbegreper, "objekter", "klasser",
"nedarving" osv, kommer i fokus fra første stund. Elevene
lærer først å tenke snevert, og har senere vanskelig
å tilegne seg det rikere verdensbildet.
Alt for ofte blir det til at folk sendes på kurs
for å tilegne seg et eller annet objekt-orientert hjelpemiddel,
for så å komme tilbake og programmere på samme måte
som før, bare ved hjelp av et nytt språk eller annet objekt-orientert
hjelpemiddel.
Jeg underviste svært mange kurs i objekt-orientering
i perioden 1965-72, men så kom en lang periode der jeg arbeidet
med andre ting. Etter hvert som objekt-orientert programmering slo gjennom
i stor bredde på 1980- og 1990-tallet, ble jeg mer og mer oppgitt
over den pedagogikken som ble brukt, og fra 1996 av har jeg gjennom en
lang rekke 2-4-dagers kurs rundt i verden utviklet et tre-dagers opplegg
som jeg synes ser ut til å fungere som det skal.
Det er beregnet på programmerere, systemutviklere
og prosjektledere som enten skal lære eller allerede har hatt undervisning
i objekt-orientert programmering. Det vil være svært forskjellig
fra andre slike kurs og legge hovedvekten på tenkemåte og
arbeidsform i objekt-orientering.
|