Capita selecta thema Software Technologie Thema sjabloon Naam Thema Verzorgd door domein Docenten Verklarende feedback Software technologie prof. dr. J.T. Jeuring ir. A. Gerdes Periode 1 september 2008 1 februari 2008 Wervende tekst Het geven van goede feedback is een belangrijke component van bijna ieder leerproces. Feedback kan verschillende vormen aannemen: motiverend, corrigerend, verklarend, etc. Een voorbeeld: in een werkcollege werkt een student een opdracht uit op het bord. Een goede docent geeft hem aanwijzingen als hij vastloopt. Dat heet verklarende feedback. In een elektronische leeromgeving doet de student oefeningen via de computer. Dan is het wenselijk om door de computer gegenereerde verklarende feedback te kunnen bieden. In dit capita selecta thema zullen we kijken naar hoe we verklarende feedback kunnen geven aan studenten die, in een elektronische leeromgeving, aan technische onderwerpen werken. We zullen ons concentreren op de (generatie van) feedback zelf, en niet zozeer de representatie daarvan. Verklarende feedback kan gaan over syntactische fouten in een programma, typefouten in een programma, maar ook fouten gemaakt in elektronische leeromgevingen die het stapsgewijs oplossen van opgaven ondersteunen. Veel elektronische leeromgevingen bieden te weinig of totaal geen verklarende feedback. Onderzoek heeft aangetoond dat het geven van feedback tijdens het werken aan een opdracht een positief effect heeft op het leerproces. De verklarende feedback in elektronische leeromgevingen kan op verschillende niveaus worden gegeven: op syntaxniveau (een expressie is niet correct opgeschreven), op regelniveau (een stap in de oplossing is niet correct), of op strategieniveau ( doe eerst... voordat je... gaat doen ). Het specificeren van terugkoppeling voor elke individuele opgave, binnen een domein, is veel werk. Bovendien is er een groot aantal domeinen (bijvoorbeeld logische expressies of lineaire algebra). Het is daarom wenselijk om feedback automatisch te genereren. Het is interessant om te kijken hoe feedback kan worden gegenereerd. In dit capita selecta thema zullen we een aantal artikelen lezen die aspecten van dit onderwerp, verklarende feedback, behandelen. De student
zal een opdracht uitvoeren die een aspect van het geven van verklarende feedback verder uitdiept. Inhoudelijke tekst Het geven van goede feedback is een belangrijke component van bijna ieder leerproces. Feedback kan verschillende vormen aannemen: motiverend, corrigerend, verklarend, etc. In dit capita selecta thema zullen we kijken naar hoe we verklarende feedback kunnen geven aan studenten die, in een elektronische leeromgeving, aan technische onderwerpen werken. Verklarende feedback kan gaan over syntactische fouten in een programma, typefouten in een programma, maar ook fouten gemaakt in elektronische leeromgevingen die het stapsgewijs oplossen van opgaven ondersteunen. De verklarende feedback in elektronische leeromgevingen kan op verschillende niveaus worden gegeven: op syntaxniveau, op regelniveau, of op strategieniveau. Het produceren van verklarende feedback is een arbeidsintensief proces, derhalve is het wenselijk om feedback automatisch te genereren. Opzet Het thema is grofweg opgedeeld in tweeën. In het eerste gedeelte wordt de theorie behandeld die nodig is om het tweede deel, een opdracht, goed uit te kunnen voeren. Het eerste deel concentreert zich op materiaal over verklarende feedback, functioneel programmeren en grammatica s. De opgebouwde kennis wordt middels een samenvatting en een aantal opgaven getoetst. In het tweede deel begint de student met de bestudering van een artikel dat uit het Strategische Feedback onderzoek stamt. Op basis van het gekozen artikel en een aantal voorbeeld opdrachten, zal de student zelf een opdracht opstellen en vervolgens uitvoeren. Voorbeelden van mogelijke opdrachten zijn: opzetten van een nieuwe domein in ons feedback raamwerk, uitbreiden van een bestaand domein, realiseren van een webapplicatie die gebruikt maakt van online feedback services. Over de uitvoering van de opdracht zal door de student worden gerapporteerd. Bovendien dient de student tijdens de laatste bijeenkomst een presentatie te houden over de resultaten. Leerdoelen Het doel van dit thema is dat de student zich een academisch vraagstuk (in ons specifieke geval verklarende feedback) zich eigen kan maken door bestudering van relevante literatuur. Bovendien krijgt de student 2
betere kennis van verschillende onderdelen uit de softwaretechnologie (functioneel programmeren en grammatica s). Deze onderdelen worden toegepast in de context van verklarende feedback middels bestudering van relevante academische literatuur. Na afloop van de cursus, dient de student zelfstandig een soortgelijk vraagstuk zich eigen te kunnen maken en eveneens de geleerde technieken daarbinnen kunnen gebruiken. Voorkennis Aangenomen wordt dat de studenten het vak Concepten van programmeertalen reeds hebben voltooid. Verondersteld wordt dat je leereenheden 1, 2, 7, 9, 10 en 11 paraat hebt. Deze hebben allen betrekking op functioneel programmeren. Deze voorkennis is nodig omdat naast een herintroductie in functioneel programmeren, een aantal functioneel programmeren thema s zullen worden uitgediept (zoals bv. type classes ). Het vak Talen en ontleders is niet vereist maar wel nuttig. De hoofdstukken 1, 2 en 3 zijn in het bijzonder van toepassing. Tijdpad Een gedetailleerd tijdschema zal op het studienet beschikbaar worden gesteld. Waarom is dit thema zinvol? De onderdelen die in thema aan bod komen, sluiten goed aan bij het onderzoek dat binnen het Software Technologie domein van de faculteit Informatica wordt uitgevoerd. Te verstrekken materiaal Het cursusmateriaal zal bestaan uit een aantal vrij beschikbare artikelen, diktaten, compiler en bibliotheken. Vooralsnog wordt gedacht aan het volgende materiaal: Specifying strategies for exercises [3], Feedback Services for Exercise Assistants [2], Functioneel programmeren [1], Grammatica s en ontleden diktaat [5], Feedback research revisited [4], Feedback software, http://ideas.cs.uu.nl/trac/browser/feedback/ trunk, Haskell compiler en bibliotheken, http://www.haskell.org. 3
Afhankelijk van de opdracht die de studenten zullen uitvoeren zullen hier artikelen aan worden toegevoegd Te bestellen materiaal Naast de vrij beschikbare artikelen en diktaten hoeft er geen additioneel materiaal worden besteld. Werkwijze De werkwijze voor de student is als volgt: na de eerste bijeenkomst, waar de nodige voorbereidingen worden getroffen, zal de student een aantal (of één) wetenschappelijke artikelen over verklarende feedback bestuderen en hier een samenvatting over schrijven. In parallel kan worden begonnen met het bestuderen van het uitgereikt materiaal over functioneel programmeren en grammatica s. Om de vorderingen te toetsen zullen een aantal opgaven moeten worden gemaakt, voor zowel functioneel programmeren als het grammatica gedeelte. De kennis opgedaan in het eerste deel is noodzakelijk om het tweede deel, de opdracht, goed te kunnen volbrengen. Tijdens de tweede bijeenkomst zullen, naast een presentatie over het lopende Strategische Feedback onderzoek, een aantal voorbeeldopdrachten worden gepresenteerd. De student bedenkt zelf een opdracht met in achtneming van de gegeven voorbeelden. Er zal in ieder geval een software implementatie moeten worden geconstrueerd. Na goedkeuring van de opdracht door de docent, zal de opdracht moeten worden uitgevoerd. De student dient een rapport te schrijven over de opdracht, de gekozen aanpak en de uitwerking daarvan. Het rapport moet samen met de implementatie worden ingeleverd. Wellicht zal er gebruik worden gemaakt van een versiebeheersysteem. Tijdens de derde en afsluitende bijeenkomst zal de student een presentatie van ongeveer een kwartier tot twintig minuten houden over de opdracht en de uitwerking daarvan. Daarbij dient de nadruk te liggen op wat er uiteindelijke is bereikt, en niet zozeer op het proces (wat is er bereikt in plaats van hoe). Begeleidingswijze Er zullen een drietal bijeenkomsten worden gepland. 1. 13 september 2008 De eerste bijeenkomst zal een inleiding geven in het thema, de werkwijze van de cursus zal goed uit de doeken worden gedaan. 4
Vervolgens zal een presentatie worden gegeven over verklarende feedback en aansluitend over functioneel programmeren en grammatica s. Aansluitend zullen we gezamenlijk de benodigde gereedschappen (Haskell compiler, Subversion, bibliotheken e.d.) installeren. Er vanuit gaande dat de meeste studenten een laptop hebben. Mocht een student geen laptop hebben, kan worden meegekeken bij een ander. Nadat de gereedschappen zijn geïnstalleerd, zullen de opgaven worden uitgedeeld en kunnen de studenten daarmee aan de slag. 2. 1 november 2008 De tweede bijeenkomst zal worden gebruikt om een presentatie te geven over het Strategische Feedback onderzoek. Het onderzoek staat centraal voor de mogelijke opdrachten. Het is de bedoeling dat de student zelf een opdracht bedenkt en deze later uitvoert. Daartoe zullen een aantal voorbeeld opdrachten worden getoond, zodat de student weet wat er wordt verwacht. 3. 24 januari 2009 Tijdens de derde en laatste bijeenkomst zullen de studenten hun bevindingen presenteren. De beoordeling zal daarop volgen. Tussen de bijeenkomsten door zal begeleiding worden geboden in de vorm van: e-mail, telefoon/skype, IRC-kanaal of nieuwsgroep (mocht daar behoefte aan zijn). Van de student wordt verwacht dat deze wekelijks (uiterlijk tweewekelijks) een e-mail naar de docent stuurt met een samenvatting van de voortgang en eventuele vragen. Tentamineringswijze Het eerste deel van dit thema zal worden getoetst door een samenvatting en een aantal uitgereikte opgaven. Het tweede deel van dit thema, de opdracht, zal worden beoordeeld op basis van de rapportage en implementatie van de opdracht en de presentatie hierover. Het eindcijfer zal middels de volgende weging worden samengesteld: 40% samenvatting en opgaven, 40% rapportage en implementatie van de opdracht, 20% eindpresentatie. Competenties Onderstaande competenties komen binnen dit thema aan bod: 5
Intellect De deelnemers moeten een aantal wetenschappelijke artikelen tot zich nemen. De opgebouwde kennis zal in een opdracht moeten worden benut. Over de uitkomst zullen de studenten een rapportage moeten opstellen. Analyseren Tijdens het uitvoeren van de opdracht dient eerst een gedegen analyse te worden gemaakt van de te ontwikkelen functionaliteit. Abstraheren Abstracties komen op veel plaatsen voor in dit thema, bijvoorbeeld bij het opstellen van een data type. Definiëren Goede definities zijn erg belangrijk. Bijvoorbeeld bij de implementatie een strategie voor een specifiek (mathematische) domein; deze kan middels een stroomschema worden gedefinieerd. Het specifieke domein kan via een contextvrije grammatica worden gedefinieerd. Ontwerpen Alvorens tot daadwerkelijke implementatie over te gaan, zal er een ontwerp gemaakt worden. In dit ontwerp zal de student rekening moeten houden met de aan te bieden functionaliteit en/of de verschillende interfaces waar tegen aan zal worden gebouwd. Programmeren Zowel in de gegeven opgaven als in de opdracht zal het één en ander moeten worden geïmplementeerd. Er zal worden geprogrammeerd in Haskell, bovendien zal er gebruik worden gemaakt van Haskell bibliotheken. Wat doe je met studenten die achter raken? Doordat we van de studenten verlangen dat ze een presentatie geven, die pas kan worden gemaakt nadat de opdracht is voltooid, worden de studenten aangemoedigd om de alles op tijd af te hebben. Mocht dit niet het geval zijn, kan voor een presentatie en beoordeling worden uitgeweken naar een Software Technologie afstudeerbijeenkomst. Referenties [1] Jeroen Fokker. Functioneel programmeren. Technical report, Utrecht University, 1998. [2] Alex Gerdes, Bastiaan Heeren, Johan Jeuring, and Sylvia Stuurman. Feedback services for exercise assistants. Technical Report UU-CS-2008-018, Department of Information and Computing Sciences, Utrecht University, 2008. [3] Bastiaan Heeren, Johan Jeuring, Arthur van Leeuwen, and Alex Gerdes. Specifying strategies for exercises. Technical Report UU-CS-2008-001, 6
Department of Information and Computing Sciences, Utrecht University, 2008. [4] Edna H. Mory. Feedback research revisited. In D. H. Jonassen, editor, Handbook of Research on Educational Communications and Technology, chapter 29, pages 745 783. Lawrence Erlbaum Associates, 2004. [5] Doaitse Swierstra and Johan Jeuring. Grammars and parsing. Technical report, Utrecht University, 2001. 7