Oratie: Intuïtie bij programmeren vervangen door systematische aanpak

04/06/2010 15:03

Open Universiteit

Computerprogramma's zijn het ingewikkeldste product dat de mens tot op heden heeft gemaakt, waarbij een typfoutje onvoorspelbare gevolgen kan hebben. Toch is programmeren vaak gebaseerd op inspiratie en intuïtie. Prof. dr. Lex Bijlsma, hoogleraar Onderwijs en softwareconstructie, pleit in zijn inaugurele rede ervoor dat Informatica als wetenschap deze sterk intuïtieve benadering vervangt door een systematische, controleerbare en overdraagbare werkwijze. De oratie vindt plaats op maandag 7 juni 2010 op de campus van de Open Universiteit in Heerlen. Start: 16.00 uur.

De grote omvang en mate van detaillering van de programmacode, en de onoverzichtelijke veelheid aan scenario's die zich kunnen voordoen als de code wordt uitgevoerd, maakt productie van foutloze programmatuur tot een lastige opgave. De wijze waarop programma's in de praktijk tot stand komen is echter weinig systematisch. Hoe kun je dan leren foutloos te programmeren?

Klasse-interferentie

Bij de ontwikkeling van materialen voor afstandsonderwijs is het noodzakelijk bij de uitleg van begrippen en oplossingsmethoden expliciet te zijn. Immers, de stof wordt door de student tot zich genomen zonder dat de docent daarbij aanwezig is en optredende misverstanden meteen kan corrigeren.

Een technische benadering van het probleem bestaat erin dat men de te ontwikkelen module vastlegt door middel van logische formules en daaruit door stapsgewijze transformatie volgens bekende regels een programmatekst afleidt. Het is echter moeilijk deze systematische vorm van programmaconstructie te combineren met objectoriëntatie.

Moeilijkheid is, dat ver uiteengelegen codefragmenten een soms onvoorspelbare uitwerking hebben op elkaars correctheid, samengevat: klasse-interferentie.

Aspectgeoriënteerd programmeren

Een betere aanpak is te vinden in de ontwikkeling van aspectgeoriënteerd programmeren. Aspecten, programmeertaalconstructies, die onafhankelijk van en in zekere zin loodrecht op de objectgeoriënteerde indeling van een programma bestaan. Een aspect houdt zich bezig met implementatie van één kwaliteitskenmerk van het programma, door daaraan codefragmenten toe te voegen. Het voordeel hiervan is dat een aspect zich met een enkele welomschreven eigenschap bezighoudt en de daarvoor relevante code bevat. De logische formules waarvan men bij formele programmaconstructie uitgaat, hebben eveneens ten doel een bepaalde eigenschap te realiseren en passen daarom in reikwijdte goed bij een aspect.

Over Lex Bijlsma

Prof. dr. Lex Bijlsma (Rotterdam, 1949) heeft een gedegen achtergrond in informatica en wiskunde, met oog voor zowel theorie als de praktische toepassingen. Bijlsma behaalde in 1973 cum laude zijn doctoraalexamen aan de Universiteit van Amsterdam. In 1978 promoveerde hij aan deze universiteit tot doctor in de wiskunde en natuurwetenschappen. Hij was als wetenschappelijk medewerker en later als universitair docent - werkzaam bij de Universiteit van Amsterdam en de Technische Universiteit Eindhoven. In 1999 werd Bijlsma universitair hoofddocent en vanaf 2000 tevens onderwijsdirecteur bij het departement Informatica van de faculteit Bètawetenschappen van de Universiteit Utrecht. Sinds september 2007 is Bijlsma decaan van de faculteit Informatica bij de Open Universiteit met als leerstoel Onderwijs en softwareconstructie.

Symposium: Informatica, Onderwijs en Innovatie aan de Open Universiteit

Voorafgaand aan de oratie is er om 13.00 uur een symposium. Hier worden activiteiten gepresenteerd waarin de faculteit Informatica, onder leiding van prof. dr. Lex Bijlsma, een voortrekkersrol vervult met betrekking tot het vernieuwen van het informaticaonderwijs. Sprekers zijn ir. Wouter Tebbens van de Free Technology Academy, en prof. dr. Johan Jeuring en prof. dr. ir. Stef Joosten, beiden hoogleraren bij de faculteit Informatica van de Open Universiteit.