Automatische analyse van computationele complexiteit voor programmeeroefeningen rond bioinformatica-algoritmen en computationele biologie

Vakgroep/dienst: Toegepaste Wiskunde, Informatica en Statistiek (WE02)
Promotor:  Prof. Peter Dawyndt (peter.dawyndt@ugent.be), Prof. Veerle Fack (veerle.fack@ugent.be)
Projectmedewerkers: Felix Van der Jeugt (felix.vanderjeugt@ugent.be)

Korte beschrijving van het onderwijsinnovatieproject

Bij het ontwikkelen van computationeel denken is het belangrijk dat studenten leren om computerprogramma’s te schrijven die problemen op een correcte manier kunnen oplossen. Maar minstens even belangrijk - zeker als de problemen groter en complexer worden - is dat ze leren om oplossingsmethoden te gebruiken of te bedenken die voldoende efficiënt zijn qua snelheid van uitvoeren en qua gebruik van computergeheugen.

In dit onderwijsinnovatieproject willen we de automatische beoordeling van ingediende oplossingen binnen de opleidingsonderdelen Computationele Biologie (bachelor en master in de Informatica) en Bioinformatica Algoritmen (master in de Bioinformatica; master in de Biochemie en de Biotechnologie) - twee opleidingsonderdelen waarin algoritmen en datastructuren centraal staan - uitbreiden met een beoordeling van de computationele complexiteit (tijds- en geheugencomplexiteit) van de aangebrachte oplossing.

Beschrijf hoe het onderwijsinnovatieproject aansluit bij één van de thema’s ‘Toetsbeleid en evaluatie’ en ‘Optimalisatie van afstemming met het werkveld (bijvoorbeeld ook via stage en masterproef)’ en ‘Activerend leren’

Het beoordelen van de tijds- en geheugencomplexiteit van aangebrachte oplossingen is een wezenlijke hoeksteen van alle opleidingsonderdelen waarin algoritmen en datastructuren centraal staan. Door een deel van deze beoordeling te automatiseren, wordt het schaalbaarder om studenten meer frequent te toetsen (longitudinaal toetsen in plaats van momentaan toetsen) op hun vaardigheden rond computationele complexiteit en om hen beter van feedback te voorzien op die aspecten van computationeel denken.

Daarnaast werken we ook met de methodiek die aangebracht wordt in het boek Bioinformatics Algorithms: An Active Learning Approach” (Philip Compeau, Pavel Pevzner). Zoals de titel aangeeft, staat dit boek voor een dynamische, op “actief leren” gebaseerde benadering om studenten bioinformatica aan te leren.

Toon aan dat er een link of samenwerkingsverband is met een andere faculteit

De ondersteuning voor de automatische beoordeling van computationele complexiteit zullen ingebouwd worden in de judges die gebruikt worden in het online leerplatform Dodona (dodona.ugent.be), dat ondertussen binnen zeven faculteiten van de UGent gebruikt wordt. Op die manier kunnen deze voorzieningen op termijn niet enkel gebruikt worden binnen de twee opleidingsonderdelen die de focus vormen van dit onderwijsinnovatieproject, maar ruimer binnen alle opleidingsonderdelen waar de focus ligt op algoritmen en datastructuren.

Het opleidingsonderdeel Bioinformatica Algoritmen van prof. Veerle Fack wordt door prof. Wesley De Neve ook gedoceerd aan de Ghent University Global Campus in Zuid-Korea.

Doelstellingen van het project + tijdsbesteding

Een prototype voor het automatisch beoordelen van de computationele complexiteit van oplossingen die worden ingediend in Dodona, wordt tijdens academiejaar 2017-2018 ontwikkeld door Evert Van Petegem in het kader van zijn masterthesis (master in de Informatica; promotor prof. Peter Dawyndt). Het doel van dit onderwijsinnovatieproject is om deze nieuwe technologie toe te passen op de oefeningen uit het boek “Bioinformatics Algorithms: An Active Learning Approach” (Philip Compeau, Pavel Pevzner) en de gelijknamige MOOC, om zo nog een meer activerende leeromgeving te creëren binnen Dodona. Dit zal aangevuld worden met eigen oefeningen die door de promotoren van dit project opgesteld werden.

Het boek bevat in totaal 124 oefeningen, naast nog 161 andere oefeningen die in de MOOC-versie van het boek beschikbaar zijn. Daarvan werden reeds een 80-tal oefeningen door de promotoren in Dodona ingebracht. Het doel van dit project is om de resterende oefeningen in Dodona in te brengen, en al deze oefeningen te voorzien van een automatische beoordeling van de computationele complexiteit. Het bestaande MOOC-platform biedt geen ondersteuning voor automatische beoordeling van ingediende programmacode (correctheid en computationele complexiteit) zoals dat door Dodona wel gedaan wordt. Een deel van dit werk zal door de promotoren en hun begeleiders gebeuren in de loop van het tweede semester van academiejaar 2017-2018, en in de zomer van 2018 in aanloop naar academiejaar 2018-2019 met ondersteuning van jobstudenten.