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.



Objekt-orientert tenkemåte og arbeidsform

Kursansvarlig: Kristen Nygaard, assistert av Kjell Solvang

Kurset blir i Norge arrangert av

 

 

 

 

Tidligere kurs arrangert i Norge:

Objekt-orientert tenkemåte og arbeidsform

Tredagers-kurs arrangert av ARK-Skrivervik

13, 14 og 15 oktober, og
22, 23 og 24 november
, 1999

Endags-kurs arrangert av Getronics:

15 juni 2000

Kursansvarlig: Kristen Nygaard, assistert av Kjell Solvang

 

FORMÅL
Kurset skal gi oversikt og grunnleggende forståelse av hva objektorientering er, og det skal skape felles begreper for kommunikasjon om objektorientert systemutvikling, systembruk og systemvedlikehold innen organisasjonen.

MÅLGRUPPE
Kurset er beregnet på folk som er prosjektdeltakere, prosjektledere eller på annen måte har ansvar for utvikling av informasjonssystemer i egen organisasjon eller som konsulenter

INNHOLD

- Historisk bakgrunn
- Innføring i praktisk bruk av grunnbegrepene gjennom eksempler fra situasjoner som kursdeltakerne vil være fortrolige med
- Innføring av presise begreper:

Perspektivbegrepet
Vitenskapens hovedaspekter: Observasjon, analyse, syntese, flerperspektiv-refleksion
Innføring av presise definisjoner av grunnbegrepene i objektorientering
Hovedtyper av programmeringsspråk:
Abstraksjonsmekanismer
Forholdet mellom datautstyr/mennesker og programmer/roller
Språk om arbeid/språk i arbeid

- Java
- Systemutviklingsverktøy (UML, Rational Rose, OSDL)

{Bunnfelt 480}