Functioneel programmeren in het inleidend informatica-onderwijs aan de Universiteit Twente

Aan de Universiteit Twente wordt Functioneel Programmeren geïntroduceerd in het eerste trimester van het eerste jaar voor studenten in de opleidingen Informatica (INF) en BedrijfsInformatieTechnologie (BIT) van de faculteit Informatica. Als voorkennis wordt verondersteld een standaard VWO-pakket maar geen verdere programmeerervaring. Doelstelling van het vak is het leren ontwerpen van algoritmen voor de oplossing van praktische problemen en het aantonen dat de oplossing voldoet aan de specificatie. De programmeertaal in het vak is Miranda. Belangrijke kenmerken van het programmeren in deze functionele programmeertaal zijn:
. er zijn hogere orde functies: functies als argument en als functieresultaat
. de substitutie-eigenschap geldt zoals in de wiskunde
. er is een luie evaluatie strategie: expressies worden pas berekend wanneer de resultaten nodig zijn
. de taal heeft een type-systeem met polymorfe typen: het type van functies wordt afgeleid en (eventueel) vergeleken met het type dat door de programmeur is opgegeven
. er is een bibliotheek met een aantal krachtige standaard functies
. de syntax is eenvoudig: een grote expressieve kracht wordt gecombineerd met een grote leesbaarheid
. er wordt veelvuldig gebruik gemaakt van recursie
. abstracte data typen zijn eenvoudig te definiëren.
Het vak Functioneel Programmeren wordt in het tweede trimester gevolgd door Imperatief Programmeren, waarbij Modula-2 als programmeertaal is gekozen. Procedurele abstractie en data-abstractie worden uitstekend ondersteund in deze taal. Expliciet komt aan de orde het verschil met functioneel programmeren dat waarde-georiënteerd is, terwijl bij imperatief programmeren de geheugentoestand centraal staat met de toestandsveranderingen. Miranda expressies worden in pre- en postcondities gebruikt voor de specificatie van procedures in Modula-2. In het derde trimester worden (alleen voor studenten in de opleiding Informatica) in het vak Programmeertechnieken een aantal algoritmen behandeld, zoals back tracking en graaf-algoritmen, in zowel de functionele als imperatieve programmeertaal.
De typische verschillen van beide benaderingen worden expliciet gemaakt. In het eerste trimester van het tweede studiejaar worden in het vak Software Engineering opnieuw beide formalismen gebruikt voor het hele traject van de ontwikkeling van software. Miranda programma’s worden gebruikt als executeerbare specificatie van de software en voor het maken van prototypes. Uiteindelijk worden Modula-2 programma’s geschreven met een sterk modulair karakter, waarbij veelvuldig gebruik wordt gemaakt van abstracte data typen die in het prototype reeds zijn gedefinieerd. Voor beide soorten programma’s worden testen uitgevoerd: unit tests en integratietests. De vakken zijn onderwijskundig uitvoerig geëvalueerd. De aanpak blijkt succesvol *). Eveneens is er onderzoek uitgevoerd naar de verschillen tussen het programmeren in een functionele en imperatieve programmeertaal. Op sommige punten blijken er verschillen te zijn in de resultaten voor studenten Informatica en BedrijfsInformatieTechnologie.

*)
Joosten, S.M.M. (Ed.), K.G. van den Berg, G.F. van der Hoeven (1993), Teaching Functional Programming to First-Year Students, Journal of Functional Programming, 3(1), 49 – 65.


Bijlagen

Bioinformatica: competentiegericht onderwijs en toetsing

De laatste jaren is in Nederland toenemend geïnvesteerd in onderzoek en onderwijs in de Bioinformatica. Dit is in belangrijke mate het gevolg van ontwikkelingen in het genomics- en biomedisch onderzoek, waarbij Bioinformatica steeds meer een centrale plaats inneemt. Bioinformatica is een zeer breed en multi-disciplinair vak, waar informatici, statistici, biologen en medici zeer nauw moeten samenwerken. Algoritme ontwikkeling (machine learning) en high-throughput data mining (grootschalige analyses van genomics datasets) is een essentiele component van het bioinformatica onderzoek. Daarbij is het onderzoek toenemend toegepast en grootschalig, veroorzaakt door de beloften die genomics onderzoek biedt en de reusachtige datasets die door genomics onderzoekers worden gegenereerd. De breedte/diepte van het vak, de snelle ontwikkelingen en het feit dat er nauwelijks uitgewerkt lesmateriaal is, maakt dat het opzetten van bioinformatica-onderwijs een enorme uitdaging is.
Aan de Vrije Universiteit verzorgd het Centre for Integrative Bioinformatics masteronderwijs alsmede een bachelorcursus Bioinformatica voor studenten Medische Natuurwetenschappen (MNW). Onze ervaring is dat studenten moeite kunnen hebben met de oplossingsgerichte en heuristische aanpak die vaak vereist is in bioinformatica onderzoek. Naast het aanleveren van benodigde kennis (waar een selectieprobleem heerst door de breedte van het vak) staat competentiegericht onderwijs centraal.
In mijn voordracht bespreek ik de centrale problemen en positionering van Bioinformatica-onderzoek en zal ik ingaan op de competentiegerichte elementen in onderwijs en toetsing.


Bijlagen

2004_Heringa_handout.pdf

Informatica-curricula in het WO

Voor de afdelingen Informatica aan de Nederlandse universiteiten is de vormgeving van curricula voor de bachelor- en de masteropleidingen een voorwerp van aanhoudende zorg. Interne en vakinhoudelijke factoren zijn hierbij van belang: welke deskundigheid hebben we in huis? hoe ontwikkelt de informatica zich? In toenemende mate spelen ook externe factoren een rol, zoals in de afgelopen jaren de overgang naar het bachelor-mastersysteem en in de nabije toekomst de accreditatie-eisen die aan de opleidingen gesteld gaan worden.
Traditioneel ontwikkelt elke afdeling Informatica zijn eigen curricula, maar in de afgelopen jaren is een begin gemaakt met onderling overleg en afstemming. Tot dusverre vond dit plaats op het niveau van opleidingsdirecteuren. NIOC2004 is een uitgelezen gelegenheid om de uitwisseling en discussie over informatica-curricula in een breder forum plaats te laten vinden.
Het ligt in de bedoeling om een of twee sprekers uit to nodigen voor een korte inleiding.
Onderwerpen die tijdens het rondetafelgesprek aan de orde kunnen komen: de relatie met het HBO; de rol van algemene academische vaardigheden; aansluiting VWO-WO; relatie met andere ICT-gerelateerde opleidingen zoals Kunstmatige Intelligentie en Informatiekunde; relatie met bestaande en geplande activiteiten op dit gebied, bv. het SURF-project Connecticut.
Aan het einde van het gesprek zal aandacht besteed worden aan het formeren van special interest groups die als klankbord zullen fungeren bij bovengenoemd project Connecticut.


Bijlagen

Athena, a large scale programming lab support tool

Providing a programming lab to a large group of students requires a lot of effort. Often in these cases additional staffing is required to provide students with enough feedback on their work. However, due to resource constraints this is not always possible. This paper presents Athena, a lab support tool that reduces the effort required for programming labs and provides students with adequate and timely feedback. Athena reduces the need for additional staffing and provides students with a better learning experience. Furthermore, it allows for new educational forms for large student groups like programming lab exams.


Bijlagen

2004_Jansen_proceedings.pdf

2004_Jansen_handout.pdf

Informaticatoepassingen in de biomedische technologie

Een wetenschapsgebied dat de laatste jaren een enorme vlucht heeft gekregen ten gevolge van de ontwikkelingen in de informatica is de biomedische technologie. Deze ontwikkelingen hebben er onder andere toegeleid dat er binnen de faculteit BioMedische Technologie van de Technische Universiteit Eindhoven een divisie gerealiseerd is die zich richt op het gebruik van Informaticahulpmiddelen op zowel het gebied van de biomedische beeldverwerking als op dat van het modelleren van biomedische processen. Deze processen kunnen zich manifesteren op zeer uiteenlopende lengte- en tijdschalen: van het lengteniveau van een molecuul tot op het niveau van populaties, en op de tijdsas van nanoseconden tot eeuwen. Omdat het experimenteel evident moeilijk is betrouwbare data op dit complex van lengte- en/of tijdschalen te verkrijgen wordt er in het onderzoek veelvuldig gebruik gemaakt van computermodellen en van computersimulaties. Voorbeelden zijn ondermeer het in kaart brengen van genomen, waaronder die bacterieen en die van het menselijke DNA en van muizen, het met behulp van computers voorspellen van eiwitstructuren en het ontstaan van celmembramen, het transport van moleculen door celmembramen, het doorrekenen van veranderingen in botstructuren als gevolg van fysieke belasting en genetische algoritmen.
Tijdens de voordracht zal een aantal van deze voorbeelden gedemonstreerd worden.


Bijlagen

Schakelen tussen bachelor en masteropleidingen

De invoering van het Bachelor Master Systeem in het hoger onderwijs in heel Europa, heeft onder andere als doelstelling een verbetering van de mobiliteit van studenten. Na afronding van een bacheloropleiding aan enig onderwijsinstituut, moeten er goede overstapmogelijkheden zijn naar masteropleidingen aan andere instituten, binnen en buiten Nederland.
Nu daadwerkelijk de bachelor- en masteropleidingen tot stand komen, ontstaan er inderdaad vele overstapmogelijkheden. Aan het overstappen (schakelen) worden nogal eens eisen gesteld, in de zin van een specifieke invulling van de bacheloropleiding, een zeker behaald niveau, of aanvullend te volgen onderwijs in schakelprogramma’s.
Wil een student een goede overstap kunnen maken, dan is juiste informatievoorziening over de mogelijkheden een essentiële voorwaarden. Momenteel is die informatievoorziening erg versnipperd, vaak niet volledig en vanwege de verschillende invulling per instelling ook niet vergelijkbaar.
Om in de informatievoorziening te voldoen, wordt een internetsite ‘BaMaS’ ontwikkeld en geïmplementeerd met informatie over de ict bachelor- en masteropleidingen en de schakelmogelijkheden en programma’s die daartussen zijn gedefinieerd. Dit project wordt uitgevoerd binnen de kaders van de Digitale Universiteit, maar zal ter beschikking komen voor het gehele hoger onderwijs.
Tijdens de presentatie zal opzet, uitwerking en implementatie van de beoogde informatievoorziening uiteen worden gezet.


Bijlagen

Mogelijkheden en onmogelijkheden voor theorie in hedendaags academisch Informatica-onderwijs

De voordracht betreft uiteindelijk de volgende vraag: “Wat is onder de huidige maatschappelijke omstandigheden nog mogelijk op theoriegebied in academisch Informatica-onderwijs?” De minder gunstige factoren zijn onder de huidige omstandigheden: (1) een geringere basis van (beginnende, resp. gevorderde) Informatica-studenten op het vlak van wiskundig redeneren en wiskundig abstraheren, (2) een geringere belangstelling van die studenten voor de (pure) theorie, (3) een geringere ruimte voor studenten om bepaalde thema’s dieper te laten bezinken (resp. om een verdere interesse te ontwikkelen voor dergelijke thema’s).
Als exemplarisch geval bespreek ik: een standaardthema, namelijk “het pomplemma”, uit de theorie van formele talen. Vroeger behoorde dit tot de standaardstof van een hogerejaars Informatica-vak over talen en automaten, maar het lijkt — vanwege de steeds grotere moeite die studenten ermee hebben — onvermijdelijk dit thema uit de tentamenstof te schrappen. Algemene vragen: “Waar gaat dit alles heen?”, “Is het tij nog te keren [ten gunste van theorie-onderwijs]?” Specifieke vraag van concrete didactisch inhoudelijke aard: “Is er in het geval van dit pomplemma toch nog een alternatieve manier van behandelen mogelijk, waardoor de studenten er wel mee uit de voeten kunnen?”


Bijlagen

Leertaken in een virtuele leeromgeving voor een cursus over communicatietechnologie

Een cursus over communicatietechnologie voor Informatica-studenten bij de Open Universiteit Nederland wordt, vanwege het open inschrijvingskarakter, door een brede groep studenten gevolgd. Twee problemen die zich daarbij kunnen voordoen is dat: 1) een deel van de studenten nauwelijks een beeld heeft van de manier waarop communicatietechnologie in hedendaagse systemen geïmplementeerd is, en 2) studenten onvoldoende of geen kennis hebben van de context waarin communicatietechnologie wordt toegepast. Wij bieden daarom een aantal leertaken in een virtuele leeromgeving aan, een elektronisch werkboek, waarin studenten aan de hand van een aantal casussen rond actuele thema’s op het gebied van communicatietechnologie enerzijds hun huidige kennis kunnen evalueren en anderzijds een indruk krijgen van relevante aspecten die spelen in dit domein en contexten waarin communicatietechnologie wordt toegepast.. De taken zijn zodanig opgezet dat deze ook voor studenten met meer achtergrond interessante informatie opleveren. Het elektronisch werkboek is gespecificeerd in EML (Electronic Markup Language) en geïmplementeerd in Edubox, een door de Open Universiteit Nederland ontwikkelde leeromgeving waarmee materiaal dat in EML ontwikkeld is afgespeeld kan worden.
Wij presenteren de resultaten van een eerste proef met dit elektronisch werkboek.


Bijlagen

2004_Mofers_ea_1_handout.pdf

Functioneel Programmeren met Helium

Moderne functionele talen zijn mathematisch precies, notationeel elegant, en sterk getypeerd. Deze talen zijn daarom bij uitstek geschikt voor het onderwijzen van programmeerconcepten en algoritmiek. Helium is een onderzoeksproject waarbij een krachtig typesysteem gecombineerd wordt met precieze en gebruiksvriendelijke foutmeldingen.


Bijlagen

2004_Heeren_ea_proceedings.pdf

2004_Heeren_ea_handout.pdf

Het virtuele bedrijf OTO

Het virtuele bedrijf OTO is gecreëerd als werk en leeromgeving waarin studenten als tijdelijke werknemers in teamverband met elkaar samenwerken om opdrachten van organisaties op het gebied van het ontwerpen of aanpassen van informatiesystemen en bedrijfsprocessen uit te voeren. De naam “OTO” staat voor “Ontwerp Transfer Open Universiteit”, waarmee we vooral tot uitdrukking willen laten komen dat het ontwerpen bij deze opdrachten niet uitsluitend door de medewerkers van OTO plaatsvindt maar juist in samenwerking met de opdrachtgever en gebruikers, en dat dus ook kennis en informatie onderling worden gedeeld.


Bijlagen

2004_Crutzen_toelichting.pdf