Handleiding Maple T.A.7 toets items maken © Metha Kamminga december 2011. Het Toetssysteem Maple T.A. voor on line toetsen, kan gebruikt worden voor het toetsen van alle disciplines en vereist geen extra software op de computer. Zorg wel dat uw Java van een recente datum is.
0 Informatie en Downloads handleiding Items Maken Klik op http://www.tech.nhl.nl/~kamminga/MapleTA/HandleidingMapleTA7.pdf voor een digitale versie van deze handleiding (met bladwijzer). Course Module Workshop Bij de handleiding Items Maken hoort ook een voorbeeld-Course Module met daarin alle voorbeeldvragen en voorbeeldtoetsen, inclusief bijbehorende plaatjes. Deze is te downloaden via http://www.tech.nhl.nl/~kamminga/MapleTA/Workshop.zip Hoe deze course module is binnen te halen staat in de handleiding MapleTA hoofdstuk 4.4. Het is echter ook mogelijk om een Class bij Maple T.A. van CAN-diensten te maken met als template Maple T.A. Demonstration Class met daarin de hele Question Group met voorbeeldvragen van de handleiding. Algemene handleiding MapleTA Klik op http://www.tech.nhl.nl/~kamminga/MapleTA/userMTA7CAN.pdf voor de digitale versie van de algemene handleiding Maple T.A. (met bladwijzer) (Als u gebruikmaakt van de server bij CAN-diensten) met informatie over de Question Repository (hoofdstuk 4.1) en informatie over Course Modules (hoofdstuk 4.4) en hoe daarmee te werken. Voor Blackboardgebruikers: http://www.tech.nhl.nl/~kamminga/MapleTA/userMTA7BB.pdf, Voor gebruikers die Maple T.A. rechtstreeks op hun eigen instituut draaien: http://www.tech.nhl. nl/~kamminga/MapleTA/userMTA7Instituut.pdf Gratis Question Banks en Course Modules Klik op http://www.tech.nhl.nl/~kamminga/MapleTA/Toetsbanken.htm voor meer question banks en Course Modules die ingeladen kunnen worden in uw eigen Class. Course modules zijn handig om de Question Groups, tesamen met de bijbehorende bestanden op te slaan en ergens anders weer in te laden. Een Course Module is een .zip-bestand en een Question Bank is een .qu-bestand (zie Handleiding MapleTA paragraaf 4.1.4.). Ook in Wisnet: http://www.wisnet.nl kan erg veel gratis gedownload worden: Zoek in de trefwoordenlijst naar mapleta-toets en dan krijgt u alle toetsen te zien die er in Wisnet zitten. Off line werken Voor het maken van toets items off line met behulp van Latex wordt verwezen naar het document van André Heck: http://www.tech.nhl.nl/~kamminga/MapleTA/MapleTAAndreHeck.pdf. In deze handleiding gaat het over het maken van toets items on line. Home page Metha Kamminga Meer informatie over cursussen en nieuws over Maple T.A. op de site van Metha Kamminga: http://www.tech.nhl.nl/~kamminga. Maple-codes Voor het maken van geavanceerde toets items van wiskundige en fysische aard, is het handig om enige kennis te hebben van Maple-codes. (Zie ook hoofdstuk 27) Boekje Handleiding Maple Aanbevolen litteratuur is Handleiding Maple 10, Metha Kamminga ISBN: 90 395 2346 0 Uitgeverij Academic Service Maplesoft
1
Kijk ook eens op http://www.maplesoft.com/products/mapleta/ voor demo's en question banks.
1 Inleiding Maple T.A. wordt vaak voor training gebruikt Het systeem is uitermate geschikt voor individueel trainen, maar biedt ook mogelijkheden voor het on line toetsen van grote groepen, beveiligd met wachtwoord en dergelijke. Bij deze training kunnen hints en feedback toegankelijk gemaakt worden, zodat het maken van toetsen een leereffect heeft. In de feedback kunnen verwijzingen naar de lesstof staan. Ook is het mogelijk door middel van de instellingen (policies) een toets (assignment) meer keren te herkansen of instellingen te doen voor adaptieve toepassingen. Zie ook het artikel in Euclides van juni 2008 http://www.tech.nhl. nl/~kamminga/MapleTA/EuclidesJuni2008.pdf Maak oefentoetsen van circa 15 minuten Korte toetsen waarvoor 10 punten gegeven worden en waarvoor minimaal een 8 gehaald moet worden, geven snelle feedback en inzicht in eigen kunnen. Grotere toetsen worden door studenten meestal niet opgepakt. Maak in het begin veel gebruik van de mogelijkheid voor herbeoordelen Het systeem is bij de beoordeling onverbiddellijk. Geef studenten de mogelijkheid om over hun werk te communiceren en doe een herbeoordeling waarbij gekeken wordt naar het soort fouten die de studenten maken. Geef eventueel in eerste instantie nog een extra puntje voor een half goed antwoord ter stimulering en schrijf bij herbeoordelen commentaar erbij. Stel het maken van oefentoetsen verplicht Het blijkt dat het verplicht stellen van de training zijn vruchten afwerpt. Studenten denken soms te weten dat ze het kunnen, maar voor het ontwikkelen van snelheid en routine is de training beslist noodzakelijk. Het blijkt uit ondervinding dat alle studenten die training gedaan hadden en op alle oefentoetsen, eventueel na herkansen, boven de 80% gescoord hadden, geslaagd waren voor de (schriftelijke) eindtoets! Bij Wis-Natuur en Scheikunde: laat studenten eerst oefenen met het intikken van een formule Het blijkt dat studenten die nog niet met het systeem gewerkt hebben, problemen hebben met het intikken van formules. Het heeft te maken met niet goed aangebrachte begrippen over operatoren. Niet iedere student weet dat 2a a. Ook het functiebegrip is niet altijd even goed ontwikkeld. Laat studenten de officiële syntax voor het intikken van formules gebruiken Laat studenten in het schrift werken alvorens het antwoord in te tikken Het werken met pen en papier verdient nog altijd de voorkeur bij het ondersteunen van het denkproces. Zorg ervoor dat de toetsen in het schrift gemakkelijk terug te vinden zijn door bijvoorbeeld datum en naam van de toets bovenaan te noteren en daarna de opgaven in volgorde te maken. Het bevordert de terugkoppeling, zodat de student beter inzicht krijgt in het soort fouten dat hij maakt.
1.1 Equation Editor voor de student Er zijn twee soorten Equation Editors voor het intikken van het antwoord. 1) Bij de Maple Graded Question en bij het vraagtype Mathematical Formula kan de instelling voor het intikken van de vraag op Formula gezet worden. Het is daarbij mogelijk dat de student zelf kiest. Door te klikken op Change Math Entry Mode waarmee een pop-upschermpje komt waar de radiobutton gezet kan worden op Symbol Mode of op Text Mode. Zie figuur 1.1.De student kan dan zelf kiezen. 2) Bij de Maple Graded Question kan de instelling ook gezet worden op Maple-syntax. Echter dan kan de student niet zelf kiezen voor Symbol Mode of Text Mode. Bij de instellingen wordt de keuze tussen deze twee door de bouwer van de vraag afgedwongen.. Het is op den duur niet aan te raden om vaak gebruik te maken van de editor met de Symbol Mode, omdat er door de verschillende conversies die er dan voortdurend plaatsvinden, miscommunicatie kan ontstaan. Bovendien wordt daarmee ook niet het goede begrip van de operatoren ontwikkeld bij de studenten en het gaat beslist niet sneller met de Equation Editor. Echter soms heeft het voordelen!!! De Editor die bij de Maple-syntax wordt aangeboden is iets uitgebreider en werkt beter!
2
De Equation Editor is bij bepaalde vragen (bijvoorbeeld de Maple Graded Question Type en Mathematical Formula Question Type) te bereiken. Als de instellingen voor het intikken van het antwoord ingesteld zijn op Formula dan is het mogelijk dat de student kan kiezen voor een tweedimensionale invoer (met een editor) of voor een ééndimensionale invoer (met sterren, dakjes en haakjes e.d.). Symbol Mode Kiest de student voor Symbol Mode (zie figuur 1.1), dan krijgt hij een editor met palettes tot zijn beschikking (figuur 1.2).
Figuur 1.1 Open vraag met formules met Equation Editor De Equation Editor (zie figuur 1.2) is vrij beperkt en werkt traag en is niet altijd even betrouwbaar, omdat er conversies plaatsvinden die niet altijd even vlekkeloos verlopen. Met de rechter muisknop klikken, komt er een beperkt aantal palettes tevoorschijn ten behoeve van de invoer van de student. Het aardige is ook dat als de student de grading doet, dat dan het antwoord dat hij ingevoerd heeft ook tweedimensionaal weergegeven wordt.
3
Figuur 1.2 Equation Editor in de front office van de vraag Text Mode Er is echter een goed alternatief. Kiest de student voor Text-Mode (zie figuur 1), dan moet de student het antwoord intikken met haakjes, sterretjes, dakjes en dergelijke (accepts numbers or formulas). Echter soms mag de student de sterretjes wel weglaten (het systeem zet de sterren er wel tussen waar het denkt dat de student het bedoeld heeft om te vermenigvuldigen). Het is echter niet raadzaam om de sterren weg te laten als er een keerteken bedoeld wordt. Daarmee kan het systeem op het verkeerde been gezet worden. De student klikt op Preview en dan komt er een pop-upschermpje waarin de formule tweedimensionaal getoond wordt. Zie figuur 1.3. Deze Preview is niet altijd optimaal, omdat er toch nog (overbodige) haakjes in staan maar daar wordt aan gewerkt, MapleSoft is op de hoogte.
Figuur 1.3 Equation Editor in de front office van de vraag De Preview-knop dient er dus voor om de ingetikte formule tweedimensionaal te bekijken, zodat miscommunicatie tot een minimum beperkt wordt. Maple syntax Bij het maken van het toets item kan de instelling van een Maple-Graded vraag ook op Maple-syntax gezet worden. De student kan dan níet kiezen tussen Text Mode of Symbol Mode. 4
Als de Text Mode ingesteld is op Maple syntax, dan is het ééndimensionaal intikken van de formule een stuk strenger. Er mogen dan geen sterren vergeten worden als er keer bedoeld wordt en bij exponentiële functies met grondtal e moet beslist exp(...) gebruikt worden. Met het aanklikken van Preview, komt er weer een pop-upschermpje om de formule tweedimensionaal te presenteren ter controle. Deze Preview is veel beter dan die bij de instellingen van Formula! Zie figuur 1.4
Figuur 1.4 Text Mode met Maple syntax in de front office van de vraag Echter er mogen nu geen sterren vergeten worden op straffe van een Invalid Maple syntax error! Het programma is nu "streng" afgesteld (zie figuur 1.5).
Figuur 1.5 Text Mode met Maple syntax in de front office van de vraag TIP: Bij het vraagtype Maple-graded (hoofdstuk 5) is het dus ook mogelijk om een editor aan te bieden maar die werkt anders dan de editor die bij het vraagtype Formula wordt aangeboven. In paragraaf 5.4 wordt er meer aandacht aan besteed aan de instelling Maple syntax of Formula-instellingen. Bij dit vraagtype is ook een uitgebreidere Formule-editor voor matrices en integralen (vanaf versie 7) en dergelijke beschikbaar als Maple-syntax gebruikt wordt. Zie ook hoofdstuk 20: Matrices en vectoren en hoofdstuk 21: Differentiaalvergelijkingen. TIP: Bij het vraagtype Formula (hoofdstuk 15) wordt er ook meer aandacht aan deze instellingen gegeven. TIP: Bij alle vraagtypen wordt aandacht besteed aan het presenteren van formules in de vraag, de feedback, de hints en dergelijke. Daar zijn ook meerdere mogelijkheden voor het hanteren van formules. Zie hoofdstuk 8.
2 Kwaliteitseisen voor toets items Lezen van het scherm is zeven maal moeilijker dan lezen van papier hebben onderzoeken uitgewezen.........
5
Bij een toets komt het er op aan dat de student de vraag goed kan lezen alvorens het antwoord te geven. Er volgt hier een aantal tips om de leesbaarheid op het scherm te vergroten. De nieuwste browsers ondersteunen de optie om met de rolmuis en de Ctrl-knop ingedrukt, de lettergrootte aan te passen. Maak de studenten daarop opmerkzaam. Bij het bouwen van het toets item dient daar rekening mee gehouden te worden. Als men met copy en paste een vraag invoert in het systeem, doe dat dan niet vanuit Word, maar vanuit bijvoorbeeld NotePad of WordPad dat opmaak-vrij is. Zorg ervoor dat in de tekst de zinnen niet te lang zijn. Ga regelmatig naar een nieuwe regel, dat maakt de informatie over de vraag overzichtelijk. Ga zeker naar een nieuwe regel als de uiteindelijke vraag wordt gesteld en misschien is het dan zelfs nog beter om de vraag pas te stellen na een witregel. Presenteer plaatjes en formules gecentreerd in de tekst met ruimte er omheen. Zorg ervoor dat eventuele plaatjes waarin iets afgelezen moet worden, ook duidelijk en groot genoeg zijn op het scherm. Bij gebruik van grafieken, zorg er dan voor dat de lijndikte mogelijk iets forser genomen wordt dan standaard. Bij gebruik van kleuren in grafieken, zorg dan tegelijkertijd ook voor verschillende lijnstijlen (om kleurenblinden niet te benadelen). Zie verder bij tips in paragraaf 12 Figuren in de vraag. Maak gebruik van tabellen om bepaalde informatie overzichtelijk aan te bieden. Zorg ervoor dat variabelen cursief zijn in de tekst, dat verhoogt sterk de leesbaarheid. Werk in Maple T.A. altijd met decimale punt om verwarring te voorkomen, ook als er níet gerekend wordt. Geef goede hints (die eventueel uitgezet kunnen worden bij bepaalde toetsen), want vaak worden de vragen gebruikt als lesmateriaal om van te leren. Besteed ook aandacht aan de feedback. Echter vaak is de feedback en het geven van hints afhankelijk van de docent en de doelgroep waarvoor de vragen gebruikt worden. Dus wees secuur in het toevoegen van hints en feedback met het oog op hergebruik van de Question Banks. Hints en feedback kunnen eventueel uitgezet worden bij de instellingen van de toets. Doe analyse van uw toetsen om te kijken of er vragen bij zijn waar de tekst misschien niet duidelijk is, of dat het belangrijk is om meer feed back toe te voegen of hints. In het Gradebook van Maple T.A. zijn veel mogelijkheden voor toetsanalyse. Met het oog op hergebruik van Question Banks en het dupliceren van vragen met het oogmerk ze te modificeren, is het belangrijk dat er goed gebruikgemaakt wordt van de rubriek Algorithm. Daarin iets veranderen is heel gemakkelijk en u hebt snel weer een nieuwe vraag gemaakt. Randomiseren is een krachtige feature van Maple T.A.. Soms is het niet zo duidelijk te zien hoe sommige ingewikkelde zaken zijn geprogrammeerd in de rubriek Algorithm. Geef daarom transparante namen aan de variabelen. Om de vragen ook bruikbaar te maken voor anderen is soms enig commentaar in de vorm van aanwijzingen in de rubriek Algorithm aan te raden. Zie bijvoorbeeld bij Group Question Designer bij vraag Landmeten1 punt B hoe je dat kunt doen met het maken van een extra 'dummie'-variabele met aanwijzingen. Geef goed aanwijzingen ten behoeve van hoe het antwoord ingetikt moet worden (aantal decimalen of juist geen decimalen maar breuken, alleen het getal, de hele vergelijking of alleen maar het rechterlid, of er komma's tussen moeten of haakjes eromheen of de haakjes uitgewerkt enz. enz.). Het intikken van formules is moeilijk voor studenten. Zorg dat de studenten de Preview-knop, die onderaan de vraag staat (of achter het invulveld met een "vergrootglaasje"), niet vergeten te gebruiken bij vragen waar formules ingevoerd moeten worden. Ook is het handig om studenten vooraf een training aan te bieden om het intikken van formules te leren. Ook belangrijk bij scheikundeformules. bedoeld wordt: dus ook 2*x in plaats van 2x, onafhankelijk van de instellingen die zijn gedaan. Bij een dergelijke training is het handig om de instellingen voor het inikken van de formule (rubriek: "Select the type of expression you want to except" vlak na de rubriek van "Enter Maplecode to grade the students answer") te zetten op Maple syntax, zodat het niet-tikken van de sterretjes afgestraft wordt. Zie paragraaf 1.1.
3 Tips vooraf bij gebruik Question Repository 6
Lees nu eerst hoofdstuk 4.1 van de Handleiding MapleTA voor de informatie over de Question Repository. Hieronder nog een aantal tips vooraf. Als een toets item gemodificeerd is, heeft dat consequenties voor de student die dit item in een Assignment krijgt voorgeschoteld. De student krijgt in principe altijd de laatste versie te zien van een toets item dat vanuit de Question Repository in een Assignment verwerkt is. (Informatie over Assignments is te vinden in de Handleiding MapleTA in hoofdstuk 4.2) Eerder gemaakte Assignments zijn dan helaas met de oude versie van het toets item gemaakt en de opgeslagen records van de studenten blijven verder onveranderd toegankelijk voor student en docent. Items van de Question Repository kunnen te allen tijde gemodificeerd worden, ook al zijn studenten bezig met toetsen. Het is trouwens wel te zien aan een toets-item in welk Assignment het item voorkomt. De naam van een toets item kan veranderd worden bij editen van het toets item. De naam van een toets item is in het algemeen niet terug te zien in een Assignment. De naam dient enkel als geheugensteuntje voor de beheerder van de Question Bank. Echter bij de toetssoort "Mastery Policies" die ingesteld kan worden in de Assignment Editor, kan de student wel zien aan welk item hij bezig is en dan is het handig als de naam van het item representatief is voor de betreffende opgave. LET OP: Gebruik geen trema's en accenten bij de namen van de toets items. Ook niet bij de namen van de Assignments en de namen van de Question Groups. Er is een goede helpfunctie die te bereiken is via Help rechtsboven in het scherm. Kies dan voor "Advanced Authoring" voor meer tips en trucs nadat deze handleiding is doorlopen. Gebruik liever niet de Back-knop van de Browser om naar een vorig scherm te gaan. Omdat er on line gewerkt wordt, kan het zijn dat de pagina dan "verloopt". (Maar het kan vaak wel.) Gebruik liever de navigatieknoppen van het Maple T.A.-systeem maar let daarbij op dat dan veranderingen niet altijd opgeslagen zijn als niet expliciet op OK of iets van dien aard geklikt is. Gebruik NOOIT copy en paste vanuit Word. Open liever het Word-bestand in NotePad of WordPad (opmaakvrij) en alles gaat vlekkeloos. Word is namelijk heel erg Internetonvriendelijk! Bij de toets items in een Question Bank staat vaak een C of een H of een A of een S achter het item. De betekenis hiervan is dat als een item is voorzien van een dergelijke code, dat er dan respectievelijk iets ingevuld is bij de rubriek Feedback (Commentaar), bij de rubriek Hints of bij de rubriek Algorithm of Solution. Als u een Class hebt bij CAN-diensten, zorg er dan voor dat deze Class een Child-Class is van Maple T. A. Demonstration Class. Dan hebt u meteen toegang tot alle toets-items van de handleiding. Gebruikt u dan een (overgeërfde) vraag van deze Group, zet deze met Modify Question in een van uw eigen groepen, zodat u hem daarna kunt clonen waarna u deze vraag kunt editen. Het is handig om daarna de overgeërfde vraag weer uit deze Group te halen. Bij uitloggen gebruikt u rechtsbovenaan Logout.
4 Structuur van een toets item (multiple choice/selection) Aan de hand van één toets item, gaan we bekijken hoe de structuur van een vraag er in het algemeen uitziet. We kiezen daarvoor het vraagtype Multiple Choice. (Zie daarvoor ook paragraaf 4.1.3 van de Handleiding MapleTA om te weten hoe het in zijn werk gaat wat betreft de Question Repository.) Vanuit de Question Repository: open een multiple choice-vraag door op Edit te klikken. Het editen kan overigens alleen met een vraag die niet overgeërfd is. Gebruikt u een (overgeërfde) vraag van een overgeërfde Group, zet deze vraag dan ook in een van uw eigen groepen, zodat u hem daarna kunt clonen waarna u deze vraag kunt editen. Het is handig om daarna de overgeërfde vraag weer uit deze Group te halen.
7
Figuur 4.1 Edit toets item vanuit de Question Repository Na klikken op Edit komt men in figuur 4.2.
Figuur 4.2 Een toets item vanuit de Question Repository In figuur 4.2 zien we nu de vraag (een multiple choice-vraag met meer alternatieven die goed kunnen zijn) klaarstaan om te gaan editen. Eventueel kan de vraag uitgeprobeerd worden met de knop Grade en eventueel kan de vraag in een andere groep ingedeeld worden met Modify Question Groups. Maar nu eerst klikken we op Edit om de vraag te gaan bekijken hoe deze gemaakt is. Eerste formulier
8
Figuur 4.3 Eerste formulier van het editen van een toets item Er komen bovenaan drie knoppen in beeld. De Cancel-knop is duidelijk, Edit source is ervoor om in de broncode van de vraag te komen. Gebruik deze Edit Source-knop liever niet als het niet beslist noodzakelijk is, er kunnen dan dingen vernield worden die later niet meer te reconstrueren zijn. In sommige situaties is het echter onvermijdelijk om over de broncode te beschikken, maar dat komt later als u een gevorderde gebruiker wordt. Ten slotte is er de Next-knop waarmee u in het vervolg van de vraag komt, nadat eerst zoveel mogelijk van de rubrieken zijn ingevuld. Bovenaan staat wat voor soort vraag het is (The Question Type). ("Maple-graded", "Numeric", "Question Designer", "Multiple choice" of in dit geval van figuur 4.3 "Multiple Selection".) We hebben hier te maken met een Multiple Selection vraagtype waar straks meer checkboxen aangevinkt kunnen worden. Er zijn nu verschillende rubrieken die ingevuld kunnen worden: De naam van de vraag wordt ingevuld bij Question Description. De naam is niet erg belangrijk en deze kan gemakkelijk later ook nog weer aangepast worden. De naam van de vraag verschijnt niet in de Assignments zoals de student die te zien krijgt (behalve bij het type Assignment "Mastery Dialog" waarover meer in de Handleiding Maple T.A. paragraaf 4.2.5). In de Feedback-rubriek kan met Add/Edit uitgebreid feedback voorgeprogrammeerd worden waarbij gebruikgemaakt kan worden van variabelen die in de rubriek Algorithm zijn voorbereid. Bij het maken van een item, gaat men ook altijd eerst naar de rubriek Algorithm. In de rubriek Algorithm kan met Add/Edit de basis van de vraag worden vastgelegd met de randomvariabelen en het voorbereiden van de variabelen, nodig voor de vraag en het antwoord inclusief de benodigde MathML-code (zie Hoofdstuk 8 bij Formules) die gebruikt wordt in de lay-out van de tekst van de vraag en in de Feedback, de Hints en eventueel de Solution-rubriek. De rubriek Algorithm is eigenlijk het hart van het toets item. Maar hier is eerst nog niets ingevuld. Gemakkelijk programmeren van de randomvariabelen (zie ook in hoofdstuk 7 Randomvariabelen) kan eventueel ook met behulp van een Wizzard. Zie ook paragraaf 7.1 Gebruik van de Designer voor het maken van randomvariabelen. In de rubriek Information Fields kunnen metadata worden ingevuld om later gemakkelijk opgaven te zoeken die geschikt zijn voor een Assignment. Bijvoorbeeld bepaalde soorten, niveau, auteur of andere kenmerken. In de rubriek Hints kunnen zoveel hints worden ingevuld als wenselijk is. (Bij het samenstellen van een Assignment kunnen voorgeprogrammeerde hints voor de student eventueel "uitgezet worden".) Ook hier kunnen weer variabelen worden gebruikt die in de rubriek Algorithm zijn aangemaakt. De lay-out van de Hints kan met behulp van de knoppen naar wens gebruikt worden (figuur 4.4). Als er meer hints aangemaakt moeten worden, moet beslist "numbered items" worden gebruikt (eerste 9
knop van de tweede rij). Zo kunnen er naar wens meerdere hints naar wens aangemaakt worden. Als de Hints ingevuld zijn in het scherm van figuur 4.4, klik dan op Save en u komt weer in het scherm van het eerste formulier van het editen van de vraag figuur 4.3.
Figuur 4.4 Invoeren van Hints
In de rubriek Solution, kan de oplossing van de vraag met uitgebreide feedback ingevuld worden. Alleen het toetstype Assignment "Study Session" maakt daarvan gebruik. Meestal kan hetgeen er in de rubriek Feedback staat, ook naar de rubriek Solution gekopiëerd worden. Tweede formulier Na klikken op Next in figuur 4.3, komt het tweede formulier tevoorschijn waarin de vraag geformuleerd wordt en het programmeren van de goedkeuring van het antwoord ingevuld kan worden. Zie figuur 4.5.
10
Figuur 4.5 tweede formulier van het editen van het toets item In figuur 4.5 bent u in het tweede formulier van het editen van de vraag met bovenaan de knop Finish. Maar eerst moet er nog een aantal rubrieken worden ingevuld: Tekstveld voor de vraag (Text for the question). Hierin kan volop gebruikgemaakt worden van de variabelen die in de rubriek Algorithm reeds zijn voorbereid. Maar dat is in deze vraag nog niet aan de orde. Verder is te zien dat er voor het editen van de vraag tal van knopjes zijn om het gemakkelijk te maken om tabellen, plaatjes of hyperlinks toe te voegen of tekst in kleur weer te geven. Ook is er het Sigma-knopje om formules in de tekst te plaatsen. Men komt dan in een goede formuleeditor maar handiger is het om de formule eerst voor te bereiden in de rubriek Algorithm. Eventueel kan nog op het Source-knopje geklikt worden om te beschikken over de broncode en eventueel extra html-tags toe te voegen. Bij een vraag van het type Multiple Choice of Multiple Selection, worden de alternatieven een voor een ingevuld en er kunnen zoveel alternatieven als wenselijk worden aangemaakt met Add Choices. Er is linksboven ook nog een knop Equation Editor die gebruikt kan worden om formules in de alternatieven van de vraag te plaatsen. Voor de formules die in het tekstvak van de vraag komen te een van de velden van de alternatieven staan en klik dan op deze knop. Na het bouwen van de formule komt dan de MathML-code te staan voor de formule. De MathML-code kan ook ergens anders al voorbereid zijn en wordt hier dan met copy en paste ingevoegd. Ook kan men eenvoudige formules met HTML-tags maken. Zie hoofdstuk 10. Er kan gekozen worden om de volgorde van de vragen steeds door elkaar aan te bieden (Change the order of the choices?). Er kan gekozen worden dat het selecteren van méér alternatieven mogelijk is (Allow more than one selection?) of niet en dan is het een multiple choice-vraag met maar één alternatief goed. In het laatste geval worden de knopjes geen checkboxes maar radio buttons. Veel meer informatie over dit vraagtype Multiple Choice/Multiple selection is te vinden in hoofdstuk 12 als het gaat om randomiseren, plaatjes en formules in de alternatieven en eventuele responsgevoelige feed back. Als de vraag verder klaar is en de goede alternatieven zijn aangevinkt, klikt men op Finish en daarmee komt men in de situatie van figuur 4.6 waar de vraag nog een plaats moet krijgen in de boom van de Question Groups. Als het om een vraag gaat die aangepast wordt, dan had de vraag al een plaats in de boom van Question Groups en dan is het meteen klaar. (Als deze laatste slag niet gedaan wordt, dan komt de vraag in de rubriek "Questions not in Groups" te staan.)
Figuur 4.6 de vraag krijgt een plaats in de boom van de Question Groups Daarmee is de vraag tevens opgeslagen. Zie verder in de Handleiding Maple T.A. hoofdstuk 4.1 hoe het allemaal georganiseerd is in de Question Repository.
5 Vraagtype Maple-graded Deze vraagsoort (Question Type) is een van de belangrijkste soort om vragen met formules te maken en biedt zeer veel mogelijkheden voor het stellen van open vragen met formules met randomizering die door middel van Maple beoordeeld worden op juistheid en waarbij er heel veel mogelijkheden zijn om de grading te programmeren. 11
Er is bij elk vraagtype (niet alleen bij Maple-graded) áltijd de mogelijkheid voor het gebruik van randomvariabelen, zodat met het maken van één toets item eigenlijk een hele familie van toets items is gemaakt. Het gaat erom de organisatie van de vraag zo simpel mogelijk te houden, zodat modificaties gemakkelijk gedaan kunnen worden (ook door anderen). Soms kan met het aanpassen van één formule in de rubriek Algorithm een hele nieuwe familie van vragen verkregen worden als de rest van de organisatie van de vraag samenhangend en goed in elkaar zit. In het algemeen is de grading van de door de student ingevoerde formule (respons) goed te doen door middel van het checken van het verschil tussen het goede antwoord en de respons van de student. Maple draait op de achtergrond om de berekening te doen en daarom heet het soort toets item ook Maplegraded. Als het verschil tussen het juiste antwoord en de respons van de student gelijk is aan 0, is de ingevoerde formule in principe goed. Meer mogelijkheden zijn er voor het vergelijken van het goede antwoord met de respons van de student, afhankelijk van de vraagstelling. Zie daarvoor in hoofdstuk 6 Tips voor het programmeren van de beoordeling.
5.1 Structuur van de vraag Begin met het openen van een voorbeeld van een Maple-graded vraagtype. (In Group differentiëren)
Figuur 5.1 Edit toets item Dit is een voorbeeld van een Maple-graded vraagtype waarbij de instellingen voor het invullen van de formule op Maple syntax staan (formulas in Maple syntax). Daarbij is gekozen voor Text Entry only (zie paragraaf 5.4) dat betekent 2D invoer van de formule. Er is een functie gegeven met bijbehorende grafiek. De afgeleide van de functie moet bepaald worden en de student kan de grafiek van zijn gevonden afgeleide functie plotten voor een visualisatie met het klikken op Plot linksonderaan de vraag. De afgeleide functie moet in het invulveld ingetikt worden en kan vervolgens met Preview gecontroleerd worden om de 2D-invoer in een pop-up in 3D te zien. TIP: Deze Preview-functie is uitgebreid in de laatste versies van Maple T.A. en zodoende zit daar ook een automatsche vereenvoudiging in. Als de student deze vereenvoudiging zelf moet doen is het niet handig om het met Preview in feite voor te zeggen. Een work-around is om de instellingen op Symbol
12
Entry Only te zetten. Daarmee is de Preview functie niet meer mogelijk! Elke keer als deze vraag geopend wordt, krijgt de student een andere versie van de vraag te zien met een andere bijbehorende grafiek, want de grafiek is binnen de vraag geprogrammeerd. Linksboven staat de knop Edit. Eerste formulier Na klikken op Edit komt u in het eerste formulier: figuur 5.2
Figuur 5.2 Edit toets item eerste formulier Er komen bovenaan drie knoppen in beeld. De Cancel-knop is duidelijk, Edit Source is ervoor om in de broncode van de vraag te komen. Gebruik deze Edit Source-knop liever niet als het niet beslist noodzakelijk is, er kunnen dan dingen vernield worden die later niet meer te reconstrueren zijn en dan is de vraag onbruikbaar geworden. In sommige situaties is het echter onvermijdelijk om over de broncode te beschikken als u gevorderde gebruiker bent. Ten slotte is er de Next-knop waarmee je in het vervolgformulier van de vraag komt, nadat eerst zoveel mogelijk van de rubrieken zijn ingevuld. Bovenaan staat wat voor soort vraag het is (Question Type). ("Maple-graded", "Numeric", "Question Designer", "Multiple choice" of iets dergelijks.) We hebben hier te maken met een Maple-graded vraagtype. Zeer geschikt om open vragen te stellen met formules. Er zijn nu verschillende rubrieken die ingevuld kunnen worden: De naam van de vraag wordt ingevuld bij Question Description. De naam is niet erg belangrijk en deze kan makkelijk later ook nog weer aangepast worden. De naam van de vraag verschijnt niet in de Assignments zoals de student die te zien krijgt (behalve bij het type Assignment "Mastery Dialog" waarover meer in de handleiding van Maple T.A. paragraaf 4.2.5). In de Feedback-rubriek kan met Add/Edit uitgebreid feedback voorgeprogrammeerd worden waarbij gebruikgemaakt kan worden van variabelen die in de rubriek Algorithm zijn voorbereid (zie inzet van figuur 5.2). Bij het maken van een item, gaat men ook altijd eerst naar de rubriek Algorithm. In de rubriek Algorithm kan met Add/Edit de basis van de vraag worden vastgelegd met de randomvariabelen en het voorbereiden van de variabelen (zie voor mogelijkheden met randomvariabelen in hoofdstuk 7), nodig voor de vraag en het antwoord inclusief de benodigde MathML-code (zie Hoofdstuk 8 Formules en Tips over MathML) die gebruikt wordt in de lay-out van de tekst van de vraag en in de Feedback, de Hints en eventueel de Solution-rubriek. De rubriek Algorithm is eigenlijk het hart van het toets item. Elke keer als de student deze toetsvraag opent, ziet hij een andere opgave. De functie is anders en de bijbehorende grafiek, die tevens in de rubriek Algorithm is aangemaakt, is dan ook anders. In het systeem wordt met behulp van het
13
computeralgebrasysteem Maple het antwoord van de student met het juiste antwoord vergeleken en er de grading wordt naar aanleiding daarvan geregeld. In hoofdstuk 6 wordt uitgebreid ingegaan op mogelijkheden om te programmeren ten behoeve van de grading. In de rubriek Information Fields kunnen metadata worden ingevuld om later gemakkelijk opgaven te zoeken die geschikt zijn voor een Assignment. Bijvoorbeeld bepaalde soorten, niveau, auteur of andere kenmerken. Hiervan wordt tot nu toe nog niet veel gebruikgemaakt. In de rubriek Hints kunnen zoveel hints worden ingevuld als wenselijk is. (Bij het samenstellen van een Assignment kunnen voorgeprogrammeerde hints voor de student eventueel "uitgezet worden".) Ook hier kunnen weer variabelen worden gebruikt die in de rubriek Algorithm zijn aangemaakt. De lay-out van de Hints kan met behulp van de knoppen naar wens gebruikt worden. Als er meer hints aangemaakt moeten worden, moet beslist numbered items worden gebruikt (eerste knop van de tweede rij). Zie ook in inzet van figuur 5.2. Als alle rubrieken zoveel mogelijk zijn ingevuld, gaat men met Next naar het tweede formulier van de vraag: Figuur 5.3 Tweede formulier
Figuur 5.3 Maple-graded toets item tweede formulier In figuur 5.3 bent u in het tweede formulier van het editen van de vraag met links-bovenaan de knop Finish. Maar eerst moet er nog een aantal rubrieken worden ingevuld: Tekstveld voor de vraag (Enter the text for the question) Hierin kan volop gebruikgemaakt worden van de variabelen (te herkennen aan het dollarteken) die in de rubriek Algorithm reeds zijn voorbereid. Zie figuur 5.2 waarin de formule van de vraag als $polydisplay wordt gebruikt en als MathML code reeds voorbereid is (zie voor meer informatie over
14
MathML-code in hoofdstuk 8). De formule van de vraag wordt op het scherm gecentreerd aangeboden. (Zie hoofdstuk 2 voor een overzicht van de kwaliteitseisen voor het maken van toets items.) Verder is te zien dat er voor het editen van de vraag tal van knopjes zijn om het gemakkelijk te maken om tabellen, plaatjes of hyperlinks toe te voegen of tekst in kleur weer te geven. Eventueel kan in dit tekstveld voor de vraag nog op Source geklikt worden om te beschikken over de broncode en eventueel extra html-tags toe te voegen. Het veld voor de Maple-code voor het juiste antwoord op de vraag (Enter Maple code that evaluates to the correct answer), hoeft niet beslist ingevuld te worden als het antwoord al in de rubriek Algorithm is voorbereid (maar het mag wel). Als u dat wél doet (niet vergeten af te sluiten met puntkomma), dan geldt het resultaat hiervan automatisch als $ANSWER en daarmee is de variabele van het juiste antwoord gedefinieerd en hoeft dus niet in de rubriek Algorithm gedefinieerd te worden. Dit antwoord wordt gebruikt in de terugkoppeling naar de student na grading en kan ook gebruikt worden voor het volgende veld. Handiger is het om gebruik te maken van de rubriek Feedback voor het genereren van het goede antwoord met uitleg en eventueel gebruikmakend van de variabelen die in de rubriek Algorithm zijn voorbereid. TIP: Het is ook mogelijk om in dit veld de MathML-code te genereren voor het goede antwoord. Echter dit moet dan wel beslist!!!!Maple-code zijn, bijvoorbeeld: printf(MathML[ExportPresentation](x^3+2*x-5)); Als de student de vraag heeft gemaakt, krijgt hij het goede antwoord keurig in twee dimensionale formule op zijn scherm. Echter dit aldus geformuleerde antwoord (dat per definitie als $ANSWER gedefinieerd wordt), kan níet dienen om het antwoord van de student mee te vergelijken, zoals in het volgende punt uiteengezet wordt. De code voor het al of niet goedkeuren van de respons van de student (Enter Maple code to grade the student response) is een Maple-code en kan van alles zijn. Bijvoorbeeld het antwoord van de student, dat automatisch per definitie als de variabele $RESPONSE wordt aangemerkt, kan door aftrekken van het juiste antwoord (de variabele $antwoord die in de rubriek Algorithm is aangemaakt of ter plaatse geformuleerd) 0 opleveren of eenvoudig gelijk gesteld worden. Met het evalb-commando (evalueer boolean) kan gecheckt worden of het true of false is. Afgesloten met een puntkomma. evalb($RESPONSE=$antwoord); of evalb(($RESPONSE)-($antwoord)=0); De variabele $RESPONSE wordt dus automatisch door het systeem aangemaakt en is dus hetgeen door de student wordt ingetikt in het invulveld waarbij de variabele $antwoord (het juiste antwoord) voorgeprogrammeerd kan worden in de rubriek Algorithm. Maar dat laatste hoeft niet. Het goede antwoord kan ook in het veld Enter Maple code that evaluates to the correct answer, ingevuld worden (niet weggeschreven als MathML-code) en dan is dat per definitie de variabele $ANSWER. TIP: Ook kan in dit veld een getal worden ingevoerd tussen 0 en 1. Als de student iets in dit veld invult, wordt het antwoord fout gerekend als er in dit veld een 0 staat en volledig goed gerekend als er in dit veld een 1 staat. Als in dit veld een getal tussen 0 en 1 staat, bijvoorbeeld 0.5, dan wordt het antwoord half goed gerekend. Zo is het mogelijk ook antwoorden gedeeltelijk goed te rekenen. Zie verder in hoofdstuk 6 voor mogelijkheden om hiermee te spelen met de programmering van de beoordeling. TIP: let hierbij op eventueel extra haakjes om de randomvariabelen (te herkennen aan het dollarteken). Deze extra haakjes zijn beslist noodzakelijk als randomvariabelen ook wel eens negatief kunnen zijn!!! Formule-instelling (Select the type of expression you want to accept) zie paragraaf 5.4 Maple Repository wordt momenteel niet gebruikt in de beschikbare Question Banks. Echter als men zelfgemaakte programmaatjes in Maple heeft gemaakt, kunnen die hier worden opgeslagen en gebruikt worden in de vraag. Plotting. In deze rubriek kan bijvoorbeeld de code voor het maken van een grafiek van het antwoord dat de student intikt worden ingevuld, of een grafiek van de vraag of beide. Deze rubriek is alleen bij Maple-graded vragen beschikbaar.
15
plot([$poly,$RESPONSE],x=-5..5,y=-100..100,color=[blue,red],thickness=2); Er wordt dus een grafiek gemaakt, aangeboden als pop-upscherm, waarin de grafieken van zowel de originele functie $poly als ook het antwoord van de student $RESPONSE te zien zal zijn. Zie ook bij paragraaf 11.7 (Figuren in de vraag) en 15.5 (Question Designer).
5.2 Formules om mee te rekenen Formules om mee te rekenen worden veelal voorbereid in de rubriek Algorithm. Formules kunnen op meer manieren gedefinieerd worden. Echter op de volgende manier is de meest handige: Dé methode om formules te definiëren waarmee op de achtergrond gerekend wordt, is met gebruikmaking van Maple. De formule wordt dan als volgt gedefinieerd: $a=range(1,8); $b=range(2,4); $integrand=maple("$a/x^3+1/($b*x^2)"); Hierin zijn $a en $b de randomvariabelen. (Zie ook bij hoofdstuk 7 Randomvariabelen.) Het heeft een voordeel om Maple in te zetten om de formule te maken. Dan wordt er namelijk niet overgegaan op numerieke getallen met decimale punt. Elk Maple-commando heeft de volgende strucuur (vergelijk dit ook met Maple commando's binnen Excel):
maple("......") Echter in sommige gevallen kan het onhandig zijn in verband met de automatische vereenvoudigingen. Zie daarvoor in hoofdstuk 6 Tips voor het programmeren van de beoordeling.
5.3 Presentatie van de formules Zie ook bij hoofdstuk 8 Formules (Tips voor MathML-code). De presentatie van de formule in de opgave zoals deze voor de student op het scherm zal verschijnen, kan op meer manieren. Deze manieren hebben elk hun eigen handigheden en onhandigheden, dus naar omstandigheden kan er mee gevarieerd worden. Met door Maple voorgeprogrammeerde MathML-code in de rubriek Algorithm, waarbij in de tekst maar ook in de hints of de feed-back gerefereerd kan worden naar deze vooraf gedefinieerde variabele. Deze manier heeft veruit de voorkeur, omdat gemakkelijk op deze manier vragen te modificeren zijn. $displayvraag=maple("printf(MathML[ExportPresentation]($vraag))"); of $displayvraag=maple("printf(MathML:-ExportPresentation($vraag))"); Met door Maple T.A. voorgeprogrammeerde MathML-code in de rubriek Algorithm: $displayvraag=mathml("1/($a)+1/($b)"); Met behulp van HTML-tags in de broncode bijvoorbeeld : De formules om de <em>e<sub><em>t te berekenen luiden <em>e<sub><em>t =<em> e<sub><em>0 + <em>e<sub>i + <em>e<sub>2 Wat hier staat is dus: "De formules om de te berekenen is In hoofdstuk 10 staan allerlei html-tags en verwijzingen naar meer mogelijkheden. Ten slotte is er nog een mogelijkheid om in het tekstveld van de vraag of in een ander tekstveld (bij de rubriek Hints) op de knop met het Sigma-teken (Equation Editor) te klikken en daar de formule te "bouwen". Zie figuur 5.6. In het tabblad van de Equation Editor kan met de rechter muisknop geklikt worden om de knoppen tevoorschijn te halen. In het tabblad MathML van dit dialoogscherm kan er nog in de code aangepast worden dat bijvoorbeeld de grootte van de formule wordt aangepast met bijvoorbeeld mathsize='16' . Zie ook paragraaf 8.4.
16
Figuur 5.4 Equation Editor TIP: de met MathML gecodeerde formules dienen uitsluitend voor de presentatie op het scherm en niet voor de berekeningen!! TIP: het is handig om variabelen, die in de rubriek Algorithm gedefinieerd zijn, in de vorm van formules waarmee niet gerekend kan worden, maar louter bedoeld zijn voor de presentatie op het scherm, een naam te geven met display erin. (Zie in de Group Breuken.) De manier met voorgeprogrammeerde MathML-code in de rubriek Algorithm is het snelst om mee te werken, ook met het oog op het modificeren van een vraag. In deze Group Breuken zijn een paar vragen waarbij de MathML-code door het Maple T.A.-programma zelf worden gegenereerd met mathml("....") omdat de breuk anders reeds vereenvoudigd op het scherm zou verschijnen. Zie verder bij hoofdstuk Formules (Tips voor MathML-code). Zie ook bij hoofdstuk 6 Tips voor de programmering van de beoordeling. Als het niet lukt met Maple-graded-vragen (zoals de eerste vraag met het sterretje van deze Group Breuken waarbij het overtikken van de vraag leidt tot een juiste beoordeling), is het mogelijk om uit te wijken naar andere soorten vragen die later de revue zullen passeren in deze handleiding, namelijk het vraag type Question Designer (hoofdstuk 15) of vraagtype Mathematical Formula. Vragen in de Question Repository met een sterretje moeten maar liever niet gebruikt worden in Assignments. Bij de eerste vraag in deze Group Breuken, kan de student namelijk gewoon de vraag overtikken om tot een goede beoordeling te komen. In dit geval zal de tweede vraag met behulp van de vraagsoort Question Designer wel het gewenste resultaat laten zien (hoofdstuk 15). Zie ook in hoofdstuk 6 Tips voor de programmering van de beoordeling. Zie ook in hoofdstuk 15 over vragen van het type Question Designer.
5.4 Formule-instellingen voor invoer Formule-instelling (Select the type of expression you want to accept) Er zijn in het algemeen twee hoofdtypes voor de instellingen van de invoer; dus hoe de student de formule dient in te tikken. Met Formula - e.g. x^2 sin(x^2) kan de student eventueel ook het *-teken weglaten bij vermenigvuldigen bijvoorbeeld (a+b)(a-b). De student heeft dan tevens de keuze om het antwoord ééndimensionaal in te tikken of gebruik te maken van een formule-editor. Zie hoofdstuk 1 voor uitleg hiervan. De Preview is niet in alle opzichten naar wens en er kan misverstand ontstaan bijvoorbeeld bij de exponentiële functie met grondtal e. Bij de instellingen met Maple syntax is de invoer veel strenger en moeten beslist sterren getikt worden voor vermenigvuldigen bijvoorbeeld (a+b)*(a-b) en moet beslist exp(...) worden getikt voor de exponentiële functie met grondtal e. Echter soms kan het niet anders en móet wel gebruikgemaakt worden van de Maple syntax bijvoorbeeld als de respons van de student ook gebruikt gaat worden om een plot te presenteren of voor het invoeren van matrices of in situaties waarbij het nogal veel en ingewikkeld is om het antwoord in te tikken zoals bij matrices en integralen. TIP: Vanaf versie 7 is het nu ook mogelijk om bij Maple-graded vragen te beschikken over een geavanceerde formule-editor voor de studenten om het antwoord in te voeren. Bij de instellingen voor het intikken van de formule kiezen we dan voor Maple syntax waarbij een extra 17
optie aangeboden wordt zodat bij de instellingen meteen wordt meegegeven of de student Text entry only (formule intikken met sterren, haakjes en dakjes e.d.) of Symbolic entry only (met een formule editor) kan gebruiken. De student kan hier beslist niet zelf kiezen! (Zie figuur 5.4.)
Figuur 5.5 Select the type of expression you want to accept: Wordt er gekozen voor de Symbolic entry, dan is de aangeboden formule editor aanmerkelijk geavanceerder en de conversie is minder gevoelig voor fouten. Zie figuur 5.5. Voorbeeld in Group DV's invoeren DV2
Figuur 5.6 Maple syntax met Editor TIP: Als er gekozen wordt voor Maple syntax -e.g. diff(2*f(x),x), in de Text mode, dan kan de student Maple-commando's gebruiken om het antwoord te genereren in plaats van dat de student het antwoord zelf formuleert door eigen berekening en dan toch een goede beoordeling krijgen. Als men dat niet wil, dan kan er nog iets zwaarder geprogrammeerd worden. Verwezen wordt dan naar hoofdstuk 6 voor vele tips en trucs om middels eenvoudig programmeren de grading naar uw hand te zetten. TIP: Na een aantal jaren ervaring zijn wij van mening dat beter niet Formula - e.g. x^2 sin(x^2) gehanteerd moet worden. De studenten leren veel beter formules intikken als er eenduidigheid is en vooral als het om Fysica gaat. Daar worden soms lettercombinaties gebruikt als variabelen en dan zouden met de instelling Formula - e.g. x^2 sin(x^2) misschien verkeerde conversies kunnen plaatsvinden. TIP: Let op dat bij exponentiële functies ook in de editor exp(...) ingevoerd moet worden als het om de 18
exponentiële functie gaat met grondtal e. TIP: De Symbol Entry wordt onder water vertaald naar 2D-tekst-mode en daarna vindt de Grading plaats, zodat het wel mogelijk blijft om te programmeren met StringTools (zie paragraaf 6).
6 Tips voor het programmeren van de beoordeling In deze paragraaf worden een paar voorbeelden gegeven over de manieren waarop de beoordeling kan plaatsvinden en welke mogelijkheden er zijn bij de verschillende vraagtypen. Het is handig om eerst een aantal vraagtypen te bestuderen waaronder vraagtype Maple-graded (hoofdstuk 5), Mathematical Formula (hoofdstuk 13) en Question Designer (hoofdstuk 15). Er is een groot aantal trucs om verschillende situaties het hoofd te bieden. Bij Maple-graded vragen zijn er erg veel mogelijkheden om middels programmeren invloed uit te oefenen op de beoordeling. TIP: het invoeren van de formule door de studenten kan het beste met de bekende manier met de sterretjes, dakjes etc. Echter op het ontbreken van sterretjes voor de vermenigvuldiging wordt niet gecontroleerd en het antwoord kan als fout beoordeeld worden ondanks dat de Preview goed is bevonden. Waarschuw de studenten daarvoor! TIP: Er is in Wisnet een cursus om te leren hoe formules ingetikt dienen te worden. Zoek in de trefwoordenlijst bij "formules..." in Wisnet http://www.wisnet.nl. TIP: Geef om te beginnen goed aan bij de redactie van de vraag hoe het antwoord ingetikt dient te worden. Het antwoord kan als formule worden ingetikt met behulp van de sterretjes, dakjes, haakjes en deelstrepen etc. (Maple syntax). Er kan door de student gebruikgemaakt worden van Preview om de formule twee dimensionaal te bekijken alvorens verder te gaan met de beantwoording van de vragen. Dit is een krachtig middel en te prevaleren boven de Equation Editor gebaseerd op Java en die vrij langzaam werkt en waar men bovendien overgeleverd is aan de conversies die daarbij plaatsvinden en de vervuilde MathML-code. Zet de instellingen bij de rubriek Select the type of expression you want to accept: op Formula. Het is in een van de rubrieken na het veld voor het intikken van de tekst van de vraag. Als bij deze instellingen gekozen wordt voor Maple syntax, kan de student eventueel gebruikmaken van Maple-commando's om tot het antwoord van de vraag te komen, wat niet altijd de bedoeling is, maar daarvoor zijn trucjes om dat te voorkomen bij Maple-graded-vragen. Er zijn echter nog wel wat meer mogelijkheden zie paragraaf 5.4.
6.1 Open vragen met formules (Maple-graded vraagtype) Als het antwoord van de student ($RESPONSE) hetzelfde moet zijn als het antwoord dat geprogrammeerd is, kunt u het beste ter controle Maple op de achtergrond hebben draaien om te kijken of de antwoorden als gelijk opgevat worden bij het ontwerpen van een toets item. In de rubriek Enter Maple code to grade the student response tikt men dan bijvoorbeeld het volgende. evalb($RESPONSE=$antwoord); of evalb(($RESPONSE)-($antwoord)=0); TIP: voor het geval een randomvariabele met een minteken kan beginnen, is het handig om haakjes om de randomvariabele te zetten om verwarring te voorkomen. Als de schrijfwijze echter niet uitmaakt is het handig om te programmeren: evalb(simplify(($RESPONSE)-($antwoord))=0); Dit kunt u ook gebruiken bijvoorbeeld bij differentiëren, waarbij wellicht de schrijfwijze van het antwoord niet het belangrijkste is. Zie bij de vragen van het Group Differentiëren.
6.1.1 Wanneer zijn formules gelijk aan elkaar? In het volgende voorbeeld worden twee formules als ongelijk beoordeeld. Het is handig om een en ander uit te proberen met Maple op de achtergrond draaiend. Breuken herleiden is moeilijk te checken bij een Maple-graded-vraag. De student kan namelijk ook gewoon de breuk overtikken om een goede beoordeling te krijgen. We moeten dus een truc toepassen.
19
Hieronder een stukje Maple om te zien wat het computeralgebrasysteem Maple eigenlijk doet. > restart;breuk1:=a/x+b;
> breuk2:=simplify(breuk1);
> evalb(simplify(breuk1-breuk2)=0);
Na vereenvoudiging is natuurlijk het verschil tussen de twee vormen gelijk aan 0. Echter, kijk eens naar de volgende twee statements: > evalb(breuk1=breuk2); > evalb(breuk1-breuk2=0);
De breuken worden als ongelijk beschouwd als er geen vereenvoudiging plaats vindt. Niet alleen bij getallen maar ook als een veelvoud van is, hebben we een probleem. > breuk3:=a/x+3*a;
> breuk4:=simplify(breuk3);
> breuk5:=(a+3*a*x)/x;
> evalb(breuk4=breuk5); > evalb(breuk3=breuk4); De twee breuken die wel hetzelfde zijn maar verschillen in schrijfwijze, worden niet als hetzelfde gezien door Maple. Dat geeft voordelen als we willen forceren dat de student de breuk vereenvoudigt of dat meer breuken samengenomen dienen te worden.
6.2 De student tikt de vraag over en het antwoord wordt goedgerekend Het is natuurlijk niet de bedoeling dat de student gewoon de vraag overtikt en dan een goede beoordeling krijgt. Het heeft te maken met het gebruik van getallen bij Maple. In een Maple-graded vraagtype wordt de breuk
als dezelfde gezien als de breuk
bijvoorbeeld.
Ook bij wortels en logaritmen met getallen hebben we een probleem als we van de student verlangen dat deze de vereenvoudigde vorm geeft als antwoord en niet gewoon de vraag overtikt. Maak in deze gevallen gebruik van Question Type Question Designer. Daarmee is soms één en ander te sturen omdat binnen deze vraag meer antwoordvelden mogelijk zijn. Group Gehele getallen, ontbinden in priemfactoren 1 Neem hiervoor het vraagtype Question Designer. (Zie voor deze vraagsoort ook hoofdstuk 15.) Hierbij verdelen we het antwoord in meer onderdelen en bereiden één en ander voor in de rubriek Algorithm. Het is handig om een paar van deze vragen (met ontbinden in priemfactoren) te maken met verschillende mogelijkheden, omdat er niet elk willekeurig getal genomen kan worden: men weet van te voren namelijk niet hoeveel invulvelden er gemaakt moeten worden, omdat het aantal priemfactoren waarin een getal ontbonden kan worden natuurlijk niet altijd gelijk is. Group Gehele getallen, ontbinden in priemfactoren 2 Neem hiervoor een Fill in the blanks Question Type. (Zie voor dit vraagtype in hoofdstuk 16.) Verder is het ongeveer hetzelfde als bij ontbinden in priemfactoren 1, maar nu met de mogelijkheid om de exponent wat hoger te plaatsen.
20
Group Breuken Er worden hier wel 6 alternatieven getoond hoe de vraag te stellen is en hoe het juiste antwoord goed beoordeeld kan worden. Bij de eerste vraag (breuken optellen* (maple graded) ) geeft het overtikken van de vraag een goede beoordeling. Er staat dan ook een sterretje bij en deze vraag moet maar niet gebruikt worden. Bij de tweede vraag (breuken optellen (QD) ) geeft het overtikken van de vraag een foute beoordeling. Echter als voor
als antwoord gegeven wordt
, wordt dat wel goedgerekend hoewel
ingesteld is "Formula without simplification", had u wellicht liever
ingevuld gezien. Deze voldoet
dus wellicht nog niet helemaal. TIP: let hier even op de situatiegevoelige feedback van het voorgeprogrammeerde commentaar in de rubriek Algorithm van deze vraag. Bij de derde vraag (breuken optellen teller en noemer ) is het antwoord uitgesplitst in teller en noemer van de in te voeren breuk apart, zodat men kan forceren dat er vereenvoudigd moet worden. Mogelijkheden om meer invulvelden te maken zijn er met het vraagtype Question Designer (hoofdstuk 15). Maak gebruik van een mini-tabelletje met in de eerste cel een horizontale regel
als breukstreep
Als de code van dit minitabelletje in de html-code wordt verwerkt (klikken op Source), kunt u later in de cellen invulvelden toevoegen van teller en noemer apart, waarbij het vraagtype van het invulveld op Numeric gezet kan worden met absolute nauwkeurigheid waarbij de optie "arithmetic" uitgevinkt moet zijn. Bij de vierde vraag (breuken optellen (exact match M-gr) ) is er maar één antwoord mogelijk. Het is een Maple-graded-vraagtype, waarbij de instellingen voor de formule-invoer op "Maple syntax -e.g. diff(2*f(x),x)" moeten staan. Bij de programmering voor de beoordeling van het goede antwoord is de volgende Maple-code ingevoerd als in de rubriek Algorithm reeds de volgende variabele is voorbereid. $stringantwoord=maple("convert($antwoord,string)"); Vervolgens kan men, bij het controleren of het antwoord ingetikt wordt exact als het juiste antwoord, door te vergelijken met een string. with(StringTools): stringrespons:=Remove(" ","$RESPONSE"): evalb(SubString(stringrespons, 1..-1)=$stringantwoord); Het betekent dat het juiste antwoord eerst al in de rubriek Algorithm is omgezet naar een string, dus als variabele $stringantwoord. Vervolgens geven we Maple in de rubriek Enter Maple code to grade the student response: de opdracht om de respons van de student (gedefinieerd als $RESPONSE en vervolgens als string gedefinieerd: "$RESPONSE") van spaties te ontdoen (met Remove(" ", "$RESPONSE") ) en daarna worden deze twee met elkaar vergeleken. SubString(stringrespons, 1..-1) betekent dat alle tekens van de string meegenomen worden. Overigens kunnen de spaties ook weggehaald worden uit een string met DeleteSpace(string) uit het StringTools-pakket. Bij de vijfde vraag (breuken optellen (QD exact match M-gr) ) is precies hetzelfde gedaan als bij de vierde vraag, maar dan met behulp van een Maple-graded invulveld binnen het vraagtype Question Designer en ook weer de instelling voor de formule-invoer op "Maple syntax -e.g. diff(2*f(x),x)". 21
Bij de zesde vraag (breuken optellen (QD list) ) is het vraagtype Question Designer gebruikt met een invulveld van het vraagtype List met Exact Match. De student moet dan precies datgene invullen wat het antwoord is. Group Algebra, items met logaritmen Met de vragen 8, 9 en 10 (log definitie (4) en (5) en (6) ) kan met Question Type Question Designer de instelling met "Formula without simplification" bewerkstelligd worden dat dus
beslist
vereenvoudigd moet worden tot precies 4. TIP: Ditzelfde kan ook met Question Type Mathematical Formula gemaakt worden, maar dan kunnen de instellingen met "Formula without simplification" alleen bewerkstelligd worden als er in de broncode nog een regel grading=form@ wordt meegegeven (zie ook paragraaf 13 Vraagtype Mathematical Formula). Group Algebra, items met wortels Vraag 17 (wortel-herleiden 1) en 18 (wortel-herleiden 2) zullen na intikken van de vraag tot een goede beoordeling leiden als er gebruikgemaakt wordt van Question Type Maple-graded. Er staat dan ook een sterretje bij deze vragen! Niet gebruiken in toetsen dus! Een oplossing hiervoor is weer Question Type Question Designer te gebruiken. Bij vraag 19 (Wortelherleiden 2 (QD)) en 20 (Wortelherleiden 3 ) zien we dat met de instellingen van "Formula without simplification" iets bereiken is. Echter dan moet de wortel wel beslist als macht (^1/2) worden ingetikt en dat is misschien niet wenselijk. Een alternatief is vraag 21 (Wortelherleiden 4) of vraag 24 (Wortelherleiden 5), waar de onderdelen weer gesplitst zijn. TIP: als dus de vereenvoudiging problemen geeft bij het invoeren van het antwoord, kies dan voor vraagtype Question Designer en splits de invulvelden of werk in het uiterste geval met Maple-graded vraagtype en programmeren met strings die met elkaar vergeleken worden.
6.3 Haakjes wegwerken Controleer eens of bij een item het natikken van de vraag niet een juiste beoordeling oplevert. Het heeft dan niet zoveel zin de vraag te stellen als gevraagd wordt de haakjes juist weg te werken. Enkele toets items in de Question Bank met een sterretje zijn zulke foute voorbeelden! Er zijn verschillende oplossingen voor. Een mooi voorbeeld is het item haakjeswegwerken1, het item 25 van Group Algebra. U wilt de student de haakjes laten wegwerken. Van de vraag om de haakjes weg te werken van wordt bijvoorbeeld ook 7*(x^2-2*x+1) goedgerekend als u niet nog extra eist dat bijvoorbeeld er geen haakjes in het antwoord mogen voorkomen. De respons van de student moet dus beslist zonder haakjes staan. Voor de veiligheid kunt u eisen: type($RESPONSE,expanded) ; en verder kunt u met String Tools controleren of het aantal haakjes dat door de student wordt ingetikt gelijk is aan 0 met: evalb(StringTools[CountCharacterOccurrences]("$RESPONSE", "(")=0). U controleert dus of er een haakje-openen " ( " is ingetikt. Voor hetzelfde had u ook met bijvoorbeeld haakje-sluiten kunnen controleren. Er kan alleen maar enkele tekens "geteld" worden en geen tekencombinaties. In totaal kunt u dus het volgende invoeren bij de rubriek "Enter Maple code to grade the student response:" evalb($RESPONSE=($antwoord)) and type($RESPONSE,expanded) and evalb(StringTools [CountCharacterOccurrences]("$RESPONSE", "(")=0); TIP: kijk ook eens in het veld: Enter Maple code that evaluates to the correct answer: waar de MathML-code gegenereerd is om het goede antwoord te presenteren. Let dan wel op dat met dit antwoord niet gerekend kan worden en in de grading als $ANSWER niet gebruikt kan worden.
6.4 Maple syntax Bij open vragen met formules (Maple-graded vraagtype) kan vaak bij Formule-instelling gekozen worden voor "Formula ...." in de rubriek Select the type of expression you want to accept:. Echter soms is het wenselijk om te kiezen voor "Maple syntax........" bijvoorbeeld bij het intikken van matrices of differentiaalvergelijkingen of exponentiële functies met exp. Echter als de student Maple-codes kent, dan is het wel heel gemakkelijk om te scoren voor een toets! Maple kan dan het werk doen van de student als u niet oplet.
22
Zie ook in paragraaf 5.4 voor meer mogelijkheden met een editor. Voorbeelden zijn: Group Matrices, de eerste vier items. Daar moet door de student een matrix worden ingetikt op de manier, zoals u dat ook bij Maple doet (overigens zonder afsluitteken;): Matrix([[a,b],[d,e]]) Het mooie is dan dat met de Previewknop de matrix ook netjes gepresenteerd wordt. TIP: het is ook mogelijk om met een Maple-graded vraagtype te kiezen voor Maple syntax waarbij er een editor aangeboden wordt. De student kan dan geen Maple-code gebruiken en moet de editor gebruiken. Zie ook paragraaf 5.4 voor meer informatie daarover. Een voorbeeld is in de Group Matrices vraag 10 inverse.
Figuur 6.1 Editor Maple-syntax bij Maple-graded vraagtype
Zie ook bij Group DV's invoeren vraag DV1 dat de instellingen in de rubriek "Select the type of expression you want to accept:" op "Maple syntax ..." staan. De student moet dan bijvoorbeeld invoeren: m*diff(v(t),t)=k*v(t)^2 en met de Preview-knop komt dan de DV in de juiste presentatie als volgt te staan: . Dergelijke dingen kunnen ook met integralen. TIP: tegenwoordig is het mogelijk om bij Maple-graded vraagtype te beschikken over een editor om een afgeleide te maken. Zie paragraaf 5.4. (Group DV's invoeren vraag DV2)
23
Figuur 6.2 Editor Maple-syntax bij Maple-graded vraagtype TIP: als de student Maplecommando's kent die nodig zijn om een berekening te doen zoals in Group Algebra, item 4 ontbinden, is het natuurlijk niet handig als de student zou intikken "factor(....)" terwijl het de bedoeling is dat met pen en papier de berekening wordt gedaan. De instelling voor de formuleinvoer staat bij deze Maple-graded-vraag op Maple syntax. Als de student een Maple-commando gebruikt, kan voorkomen worden dat de vraag goedgerekend wordt door in de rubriek "Enter Maple code to grade the student response:" het volgende mee te geven in deze Maple-graded-vraag: evalb($RESPONSE=$antw) and evalb(StringTools[Search]("factor","$RESPONSE")=0); Hiermee bereikt u dat er in hetgeen de student intikt ($RESPONSE) gezocht wordt naar de lettercombinatie "factor". Als die voorkomt, dan wordt de vraag alsnog foutgerekend. TIP: het is bij deze instellingen met Maple syntax wel beslist noodzakelijk dat er sterren getikt worden waar er keer bedoeld wordt. Dus 2a wordt niet meer geaccepteerd met deze instelling en 2*a wel als er twee maal bedoeld wordt. TIP: het is vanaf versie 7 mogelijk om bij het Maple-graded vraagtype de student te verplichten om Maple syntax met behulp van een editor te doen. Er is dan geen gevaar bij dat studenten de Maplecodes gebruiken in plaats van zelf de berekening te doen. Bij matrices en integralen en differentiëren zijn uitgebreide mogelijkheden gekomen. Zie Group Matrices bij de eerste 4 items. Bij de matrixoptelling wordt als volgt de respons van de student gecontroleerd: LinearAlgebra:-Equal( simplify( $RESPONSE ), simplify($antw)) and evalb(0=StringTools[Search]("+ ","$RESPONSE")); Hierbij wordt met Equal gecontroleerd of alle matrixelementen van het juiste antwoord en van de studentrespons gelijk zijn. Bovendien (and) wordt gecheckt of de student in zijn antwoord ook het +teken gebruikt. Zo ja, dan wordt het antwoord alsnog afgekeurd. Deze zelfde truc is te zien in Group Differentiëren bij vraag 2 dat bij de code voor het controleren van de respons een extra voorwaarde wordt gesteld: evalb(simplify(($RESPONSE)-(diff(($p),t)))=0) and evalb(0=StringTools[Search]("diff", "$RESPONSE")); 24
Hiermee wordt gecontroleerd of de lettercombinatie "diff" ook voorkomt in de ingetikte formule van de student en zo ja, dan wordt het antwoord foutgerekend. Zie ook bij Group Differentiëren vraag 6 en 7.
6.5 Vergelijkingen Het is lastig om twee vergelijkingen met elkaar te vergelijken of ze dezelfde zijn of in ieder geval gelijkwaardig zijn. (Probeer trouwens ook eens het vraagtype Palette-based symbolic editor. Zie voor meer informatie in hoofdstuk 24.) Met behulp van Maple-graded vraagtype kan er in de rubriek "Enter Maple code to grade the student response:" het een en ander geprogrammeerd worden om de grading naar uw hand te zetten. Bij de instellingen voor het intikken van het antwoord ("Select the type of expression you want to accept") gekozen wordt voor Maple syntax. Controle of twee vergelijkingen aan elkaar gelijk zijn, ongeacht de schrijfwijze, namelijk de vergelijking van het antwoord en de vergelijking die de student intikt is vrij lastig. Een truc is dan om de oplossingen van de vergelijking met elkaar te matchen. In Group Figuren het item 6: cirkel manipuleren gaat het over de vergelijking in x en y. Programmeer dan in de rubriek "Enter Maple code to grade the student response:" evalb({solve($g,y)}={solve($RESPONSE,y)}); Maak van de oplossing van de vergelijking die gedefinieerd is als variabele $g een verzameling, door er acolades omheen te zetten en doe dat ook met de $RESPONSE (de vergelijking die het antwoord van de student voorstelt). Op deze manier wordt gecontroleerd of de twee verzamelingen gelijk zijn, dus de oplossingen van beide vergelijkingen dezelfde zijn. Iets dergelijks kunt u ook doen bij het controleren van de invoer van een differentiaalvergelijking. Een voorbeeld daarvan bij Group DV's invoeren de eerste vraag DV 1. Als een student een differentiaalvergelijking moet invoeren. Hier een differentiaalvergelijking in v(t) waarbij het expliciete oplossingen van studentantwoord ($RESPONSE) gelijk moet zijn aan de oplossing van de differentiaalvergelijking die de juiste dv is. evalb(dsolve($RESPONSE,v(t),explicit)=dsolve($answ1,v(t),explicit)); Er wordt dus gecontroleerd of de oplossingen van de juiste dv dezelfde zijn als de oplossingen van de dv die de student invoert. Als dat zo is, dan zullen de dv's ook wel gelijk zijn. Het is dan wel zaak dat bij de instellingen voor het intikken van het antwoord ("Select the type of expression you want to accept") gekozen wordt voor de Maple syntax. Twee vergelijkingen met twee onbekenden (x en y). Voorbeelden daarvan zijn te vinden in Group Vergelijkingen, de eerste drie items. Het zijn Maplegraded vragen. Er moet goed gecommuniceerd worden hoe het antwoord dan ingetikt dient te worden. Laat bijvoorbeeld de student het goede antwoord op de volgende manier invullen: x=4,y=6. De oplossing die door Maple gegenereerd wordt, is in verzamelings-vorm en zal dan bijvoorbeeld zijn $opl={x=4,y=6}. In een dergelijke situatie is bijvoorbeeld mogelijk om te programmeren: evalb($opl={RESPONSE}); Op die manier worden er accolades om het antwoord van de student gezet, zodat de verzamelingen met elkaar vergeleken kunnen worden en de volgorde er dus niet toe doet. Ook een leuk voorbeeld is bij het oplossen van vergelijkingen als er meer antwoorden mogelijk zijn. Neem dan het vraagtype Maple-graded, omdat daar nogal wat mogelijkheden zijn om te programmeren ten behoeve van de grading. (Kan ook met het vraagtype Maple binnen de Question Designer.) Maak eerst in de rubriek Algorithm een variabele aan die de oplossing is van de een of andere vergelijking. Deze oplossing $oplossing zal dan in de vorm van een rij gedefinieerd zijn. Controleer even of dat inderdaad zo is. De oplossing $oplossing kan ook als verzameling gedefinieerd worden, dat is even iets om mee rekening te houden. Laat dan de student de oplossing intikken met komma's ertussen. Laten we zeggen dat de oplossing uit 3 elementen bestaat. We programmeren dan het volgende in de rubriek aantal:=nops({$RESPONSE} intersect {$oplossing}): evalf(aantal/3); De betekenis hiervan is dat van de respons ($RESPONSE) van de student eerst een verzameling 25
gemaakt wordt door er accolades om te zetten. Ook wordt er van de oplossing ($oplossing) een verzameling gemaakt door er accolades omheen te zetten. Als de oplossing reeds een verzameling was, dan hoeven de accolades er niet omheen. Daarna wordt de doorsnede van deze twee verzamelingen genomen met intersect en dan wordt van die doorsnede met nops het aantal operanden berekend. Als het volledige aantal van de oplossing gelijk is aan 3, dan komt er als resultaat het getal 1 en dan wordt de vraag volledig goed beantwoord en als bijvoorbeeld er slechts twee van de 3 antwoorden door de student goed ingevuld zijn, dan bestaat de doorsnede van de twee verzamelingen dus uit twee elementen en dan komt er uit het uiteindelijke getal 2/3=0.6666666..... De student krijgt dan een percentage van 66% voor deze vraag. Echter als de instellingen voor het ingeven van het antwoord op Maple syntax staat, dan is het wellicht handig om het volgende te programmeren voor bijvoorbeeld het oplossen van een kwadratische vergelijking: aantal:=nops({$RESPONSE} intersect {$opl}): if evalb(StringTools[CountCharacterOccurrences] ("$RESPONSE", "solve")=0) then evalf(aantal/2) else 0 end if; Het is dan mogelijk om te voorkomen dat de student met behulp van het Maple-commando solve de vergelijking gaat oplossen want dat zal dus niet de bedoeling zijn. Zie bij Group Vergelijkingen: kwadratische vergelijking half goed. Deze zijn gemaakt met het vraagtype Maple binnen de Question Designer. Om bijvoorbeeld een aantal (verzameling) antwoorden voor een deel goed te rekenen en aftrek te geven voor foute antwoorden, kan er eerst in de rubriek voor het formuleren van het goede antwoord een rij antwoorden gegeven worden. Daarmee is de variabele $ANSWER aangemaakt en kan er vervolgens gewerkt worden met: aantalgoed := nops({RESPONSE} intersect {ANSWER}); aantalfout := nops({RESPONSE} minus {ANSWER}); evalf(max(aantalgoed-aantalfout,0)/nops({ANSWER})); Het is ook mogelijk om de linkerkant en de rechterkant van een vergelijking te checken met het antwoord van de student. evalb(lhs($antw)=lhs($RESPONSE) and rhs($antw)=rhs($RESPONSE)) or evalb(lhs($antw)=rhs ($RESPONSE) and rhs($antw)=lhs($RESPONSE)) Helaas is bovenstaande mogelijkheid niet toepasbaar als de student de vergelijking niet vereenvoudigd heeft en nog een factor waardoor gedeeld kan worden niet weggedeeld heeft. In dat geval is een mogelijkheid om te checken of een vooraf gedefinieerde factor $s er in voorkomt: evalb($s in {op(factor(lhs($RESPONSE)-rhs($RESPONSE)))}); Ook is het mogelijk om te werken met het vraagtype Mathematical formula (hoofdstuk 13) waarin het mogelijk is om geordende maar ook ongeordende lijsten in te vullen door de student en nog vele mogelijkheden meer. Zie bij Group Vergelijkingen : v.vergelijking 4 (complex) (mathematical formula) , v.vergelijking 5 (reëel) , v.vergelijking 19 (reeel) , v.vergelijking 20 (complex) (mathematical formula) .
6.5a Ongelijkheden Ook ongelijkheden kunnen gecheckt worden. Een ongelijkheid word bij Maple altijd vertaald naar het type < of <= . Dat wil zeggen dat de ongelijkheid vertaald wordt naar Daarmee is het linkerlid en het rechterlid eenduidig vastgelegd. De ongelijkheid kan op type tetest worden met evalb(type($RESPONSE,`<`) ), dus het teken (`<` of `<=`)tussen backquotes. Verder kan er weer gewerkt worden met het linker en rechterlid zoals bij vergelijkingen.
6.6 Matrices en vectoren Als men twee matrices of twee vectoren met elkaar wil vergelijken gebruik dan een Maple-graded vraagtype en controleer dan of alle elementen hetzelfde zijn met de volgende regel. LinearAlgebra:-Equal( simplify( $RESPONSE ), simplify($antw)); Zie bij Group Matrices de eerste vraag over Matrix optelling. Het is dan wel zaak dat bij de instellingen voor het intikken van het antwoord ("Select the type of expression you want to accept") gekozen wordt voor de Maple syntax. Om daarbij uit te sluiten dat de student een bepaald Maple-commando gebruikt voor het invoeren van het antwoord, kan in deze rubriek van "Enter Maple code to grade the student response:" ingevuld worden: LinearAlgebra:-Equal( simplify( $RESPONSE ), simplify($antw)) and evalb(0=StringTools[Search]("+", "$RESPONSE")); Daarmee voorkomt u dan dat de student de vraag overtikt met het plusteken. 26
Handige dingen om vectoren en matrices te presenteren: $richting=maple("<3,-4>"); $displayrichting=maple("printf(MathML[ExportPresentation]($richting))"); TIP: het is ook mogelijk om met een Maple-graded vraagtype te kiezen voor Maple syntax waarbij er een editor aangeboden wordt. De student kan dan geen Maple-code gebruiken en moet de editor gebruiken. Zie ook paragraaf 5.4 voor meer informatie daarover. Een voorbeeld is in de Group Matrices vraag 10 inverse.
Figuur 6.1 Editor Maple-syntax bij Maple-graded vraagtype
6.7 Half goed rekenen Zie ook bij paragraaf 6.5 voor het half goedrekenen als er bijvoorbeeld meer antwoorden gevraagd worden.
6.7.1 met maple programmeren Zie Group Figuren bij item Grafiek rechte lijn 3 (aflezen half goed). expr:=$RESPONSE: coeffexprA:=round(1000*coeff(expr,x,1))*0.001: coefftrueA:=coeff($p,x,1): coeffexprB:=round(1000*coeff(expr,x,0))*0.001: coefftrueB:=coeff($p,x,0): if degree(expr,x)=1 then if abs(coeffexprA-coefftrueA)<=0.2 or abs(coeffexprB-coefftrueB)<=0.2 then if abs(coeffexprA-coefftrueA)<=0.2 and abs(coeffexprB-coefftrueB)<=0.2 then grade:=1.0 else grade:=0.5 fi: else grade:=0.0 fi: else grade:=0.0 27
fi: grade; Hierboven staat dat het antwoord van de student beoordeeld wordt op verschillende manieren. Het juiste antwoord is de polynoom $p. De student moet bijvoorbeeld opgeven 5.1 + 2.8*x En hij heeft ingetikt 5.12 +3.1*x Dan wordt het antwoord van de student uitgesplitst in de coëfficiënten van de polynoom naar machten van x. en afgerond op 3 decimalen (met round). Met een genest if then else statement kan gecontroleerd worden of een van beide of allebei de coëfficiënten binnen de marge van 0.2 vallen en vervolgens wordt de grade vastgesteld.
6.7.2 met behulp van Question Designer List Kies in de Question Designer voor het vraagtype list (zie paragraaf 15.6) Bij het instellen van Weight kan daar een antwoord gedeeltelijk goed gerekend worden.
7 Randomvariabelen Randomvariabelen kunnen het beste binnen de rubriek Algorithm voorbereid worden. Ze kunnen daarbinnen ook getest worden. Echter het is ook mogelijk om randomvariabelen buiten de rubriek Algorithm te definiëren. Ter voorbereiding van de vraag, kunnen op meer manieren de randomvariabelen in de rubriek Algorithm worden voorbereid. Neem bijvoorbeeld het Group Algebra het toets item Herleiden 1 $a=range(2,5); $b=range(3,5); $c=range(2,4); $vraag=maple("($a)/((s+1/($b))^($c))"); $displayvraag=maple("printf(MathML[ExportPresentation]($vraag))"); $antwoord=maple("simplify($vraag)"); $displayantwoord=maple("printf(MathML[ExportPresentation]($antwoord))"); $getal=maple("printf(MathML[ExportPresentation]($b^$c))"); Hierin is te zien dat de variabelen $a, $b en $c, gebruikt kunnen worden in de rest van de berekening. Bij het declareren van de variabele $vraag, wordt gebruikgemaakt van Maple. Het heeft als voordeel dat niet automatisch overgegaan wordt op numerieke berekening. Vergelijk het resultaat van $variabele1=maple("($a)/((s+1/($b))^($c))"); met als resultaat 4/(s+1/5)^2 eens met $variabele2=($a)/((s+1/($b))^($c)); met als resultaat 4.0/(((s)+0.2)^2.0) Dit laatste is waarschijnlijk niet wat u wilt met die decimale getallen. Of wel, en dan doet u dat. Eventueel kan de decimale omzetting, behalve met behulp van Maple, ook voorkomen worden door er quotes omheen te zetten: $variabele3='($a)/((s+1/($b))^($c))'; Verder wordt het juiste antwoord voorbereid ($antwoord) met behulp van Maple en ook de formules die nodig zijn voor de feedback ($displayantwoord) en de formules voor de juiste presentatie in de vraag ($displayvraag). Dit alles met behulp van MathML. Zie voor meer informatie in hoofdstuk 8 Tips voor MathML code .
7.1 Gebruik van de Designer
28
Figuur 7.1 Designer Er is in deze opgave een aantal variabelen gedeclareerd in de rubriek Algorithm. Allereerst de drie randomgetallen a, b en c aangegeven met $a, $b en $c. Als u de code nog niet goed kent om een variabele te declareren, kunt u dit het beste doen met behulp van de Designer (figuur 7.1) waarbij u kunt instellen om wat voor soort randomgetal het moet gaan. De code wordt dan vanzelf gegenereerd. TIP: Als je in de rubriek Algorithm zit, klik op Show Designer om deze open te klappen. Na gebruik kunt u weer op Hide Designer klikken om ruimte in het scherm te krijgen. Het aantal decimalen kan ingesteld worden en ook eventueel de stapgrootte. TIP: vergeet niet rechts in het scherm van de Designer op OK te klikken om een en ander te bevestigen, zodat de code gegenereerd wordt. TIP: met Refresh kunnen de in de rubriek Algorithm geprogrammeerde variabelen weer nieuwe waarden aannemen om te kijken of alles naar wens is. Ten slotte kan met Save de rubriek worden afgesloten. De formule wordt als Maple-formule ingevoerd en er kan op de achtergrond mee gerekend worden door het computeralgebrasysteem. De formule maakt u met een Maple-commando maple("..."); Om nu de formules tweedimensionaal in de vraag op het scherm te presenteren, wordt gebruikgemaakt van MathML. De code voor MathML laten we bij voorkeur door Maple genereren met behulp van het commando maple("printf(MathML[ExportPresentation](....))"); Zie verder bij hoofdstuk 8 Formules (Tips voor MathML-code) voor meer informatie hierover. Omdat in de Feedback ook een en ander geformuleerd moet worden, wordt dat meteen ook voorbereid in de rubriek Algorithm. Belangrijke TIP: als de randomvariabelen ook negatieve waarden kunnen aannemen, is het verstandig deze in de formules tussen haakjes op te nemen. $vraag=maple("($a)/((s+1/($b))^($c))"); Dus haakjes om de variabelen heen!!! TIP: let op de volgorde van de programmeerregels. Deze worden namelijk achter elkaar doorlopen in de volgorde waarin het staat. TIP: extra condities kunnen nog aan een variabele toegekend worden. Deze kunnen gemakkelijk geprogrammeerd worden vanuit de Designer: Als bijvoorbeeld de randomvariabele $a niet gelijk mag zijn aan 0. $a=range(-5,5); condition:not(eq($a,0)); Merk op dat het in de Designer niet nodig is dat het dollarteken erbij getikt wordt als het over de variabele $a gaat. Dat dollarteken komt er in de code automatisch wel bij te staan. 29
BELANGRIJK!! Gebruik niet teveel van deze condities op deze manier. Wat er in feite gebeurt is dat uit de range een waarde gekozen wordt en als deze niet voldoet, dan wordt er een nieuwe waarde gekozen, net zolang totdat wel aan de voorwaarde voldaan is. Worden er teveel condities meegegeven, dan kan het zijn dat het systeem te vaak opnieuw de waarden voor de variabelen moet genereren en dan kan dat uitmonden in een system overload. Er zijn vele andere mogelijkheden om een set variabelen direct te genereren met de nodige condities. Kijk ook eens in paragraaf 7.8 bij de permutaties en combinaties of gebruik de volgende TIP. TIP: Wat ook mogelijk is om uit meerdere ranges te kiezen met switch zoals bijvoorbeeld: $c=switch(rint(2),range(-9,-1),range(1,9)); Het betekent dat er ombeurten tussen de twee ranges geswitcht kan worden. Zie ook bij switch en rint verderop in paragraaf 7.2 Randomgetallen. TIP: Als twee getallen niet gelijk mogen zijn aan elkaar: condition:not(eq($a,$b)); TIP: Een andere mogelijkheid is: Bij Group Rekenen tweede item is dat bijvoorbeeld als volgt gedaan. if(ne(($a1),($b)),($a1),($a1)+1); De betekenis hiervan is: Als $a1 niet gelijk is aan $b dan is het $a1 en anders is het $a1+1. Zie verder bij paragraaf 7.2 Randomgetallen. TIP: de haakjes staan in de code voor de zekerheid om de variabelen (Bijvoorbeeld ($a1)) als deze misschien ook negatief kunnen zijn. TIP: vergeet in de Designer niet om rechts op OK te klikken voor bevestiging! Meestal is de rechterkant van het scherm namelijk niet zichtbaar als het om smalle schermen gaat!
7.2 Randomgetallen Mogelijke randomgetallen zijn te maken op de volgende manieren: range(-10,10) geeft een geheel getal tussen -10 en 10 inclusief eindpunten range(3.5,10) geeft de getallen 3.5 of 4.5 tot en met 9.5 (dus altijd stappen van 1). range(-10,10,3) geeft een geheel getal tussen -10 en 10 met stappen van 3 Dus -10, -7, -4 enz. tot en met 8 range(3.5,15,3) geeft getallen vanaf 3.5 , 6.5 enz. in stappen van 3. range(1000,5000) geeft een getal tussen 1000 en 5000 bijvoorbeeld 1997 maar dit getal wordt als 1,997 gepresenteerd. In berekeningen gaat het verder wel goed met de separator voor duizendtallen. TIP: als dit getal echter wordt gebruikt op het scherm in de presentatie van de vraag, kan het verwarring veroorzaken met decimale komma en decimale punt. Maak in dat geval een presenteerbaar getal met behulp van Maple: $a=range(1000,5000); $A=maple("$a"); of $A=mathml("$a"); met $A kun je dan het getal in de opgave en in de Feedback presenteren en komt het er zonder komma te staan. Zie in hoofdstuk 10 voor nog meer tips voor grote getallen. Zie vraagstukken bij Group Gehele getallen. rand(30, 50.67) geeft een willekeurig reëel getal tussen 30 en 50.67 (vaak met 6 cijfers achter de decimale punt) met eindpunt meegerekend. rand(30, 50.67,4) geeft een reëel getal tussen 30 en 50.67 met 4 significante cijfers met eindpunt meegerekend. Zie Group Figuren bij Steenworp. decimal(2,rand(1,10)) geeft een decimaal getal met twee cijfers achter de decimale punt tussen 1 en 10.
30
decimal(2,range(3.5,20.8,0.03)) geeft een decimaal getal met twee cijfers achter de decimale punt tussen 3.5 en 20.8 met stappen van 0.03 TIP: met range is de stapgrootte in te stellen en met rand is het aantal significante cijfers in te stellen. decimal(2, range(1,10)) kan dus niet want bij range is de stapgrootte altijd 1 en dan krijg je nooit een decimaal getal. sig(3, 20.8571) geeft in dit geval 20.9. Het is een afronding naar 3 significante cijfers. int(20.8571) geeft in dit geval 20. Het kapt af op gehele getallen. U zou ook decimal(0,20.8571) kunnen doen, maar dan wordt het 21, een afronding dus. switch(3,a,b,c,d) geeft de letter d. Het getal 3 fungeert hier als index en de index van switch loopt namelijk van 0 tot aan het aantal elementen. Zijn er dus n elementen, dan loopt de index van 0 tot en met n - 1. Mooie voorbeelden met switch zijn te vinden bij Group Rekenen met breuken item 9: eenheden 1 Group algebra item 19: Wortel herleiden 2 (QD), Group Figuren item 13 en 14: kracht ontbinden en krachten, Group Integreren item 4, 5, 6 en 7: Primitiveren, Group Fill in the blanks itme 4: bij groter/kleiner, Group Matrices item 4: bij Lineair Systeem, switch(rand(0,5), 2, 3, 5,6,7,8) Geeft één uit de opgenoemde getallen. rand(0,5) heeft hier de functie van index en loopt van 0 tot en met 5. switch(rint(6),2,3,5,6,7,8) geeft hetzelfde effect als hierboven: switch(rand(0,5), 2, 3, 5,6,7,8). Zie ook bij Group algebra, item 19 wortelherleiden 2 (QD). rint(6) genereert een geheel getal uit de rij 0, 1, 2, 3, 4, 5 Dus rint(n) betekent 0 tot en met n - 1. switch(rint(2),range(-5,-1),range(1,5)) Hiermee kun je snel een variabele uit het interval [-5,5] kiezen, waarbij 0 uitgesloten wordt. lsu(3, 48.9876) ( de eerste letter is de l van letter). geeft 0.1: de kleinste significante eenheid van het getal op de derde plaats. lsu(2,0.00589) geeft 0.0001 lsu(3,12765.987) geeft 100. Dit is erg gemakkelijk bij het bepalen van de tolerantie van een numeriek antwoord. Zie Group Figuren bij Steenworp. $a=if(ne(($a1),($b)),($a1),($a1)+1) Betekent: als a1 niet gelijk is aan b, dan a1 en anders a1+1. Deze regel kan gebruikt worden als alternatief voor bijvoorbeeld de volgende conditie. condition:ne($a,$b) Betekent dat de variabelen a en b niet gelijk mogen zijn. Deze variabele kan gemaakt worden met de Designer. condition:gt($teller,$noemer) Betekent: voorwaarde dat de teller groter is dan de noemer. Eventueel gt vervangen door eq (gelijk) of lt (kleiner dan) of not(eq($teller,$noemer)). Deze variabele kan gemaakt worden met de Designer. $b=if(lt($a,5),20,30); betekent, dat als $a kleiner dan of gelijk is aan 5, dat $b is 20 en anders is $b gelijk aan 30. Deze variabele kan gemaakt worden met behulp van de Designer. $a=maple("randomize():RandomTools:-Generate(choose(remove(has,[seq(seq(i*k^2,i=2..10),k=2. .10)],[seq(k^2,k=2..31)])))"); Op deze manier is het mogelijk om zelf een range te maken met bepaalde getallen waaruit gekozen kan worden. Van alle getallen in de lijst van de vorm i*k^2 waarbij i = 2 t/m 10 en k =2 t/m10, wordt gecontroleerd of er kwadraten, dus elementen in zitten van de lijst getallen k^2 waarbij k loopt van 2 t/m 31, [seq 31
(k^2,k=2..31)] en zo ja, dan worden die er uitgehaald met remove, en dan wordt er eentje uitgekozen met choose. Bij gebruik van RandomTools moet altijd eerst randomize() gegeven worden, anders wordt steeds dezelfde waarde gegenereerd. remove is een toplevel-commando en Generate(choose([lijst])) is een commando uit RandomToolspakket Zie ook Group Algebra, item wortelherleiden 4. Zie ook bij switch voor het willekeurig kiezen uit een of meer verzamelingen opgegeven getallen.
7.3 Tekstuele randomizering Op een gemakkelijke manier is ook tekstuele randomizering mogelijk. Zie Group Matching item1, beschrijvende statistiek H1 - meetschalen $interval=switch(rint(3),"tijdsaanduiding in uren","temperatuur in °C","bouwjaar"); $ratio=switch(rint(4),"leeftijd in jaren","hoogte t.o.v. N.A.P.", "aantal verkeersdoden per week", "levensduur gloeilamp"); $nominaal=switch(rint(3),"burgelijke staat","merk auto","bezit van auto"); $ordinaal=switch(rint(2),"gebruik openbaar vervoer (zelden, soms, vaak)","tevredenheid"); Met switch wordt een bepaald element genomen, in dit geval tekst (string tussen dubbele quotes) en rint(3) betekent een willekeurig getal 0, 1, of 2. Meer voorbeelden zijn: Group Figuren item 13: kracht ontbinden waarbij het gegeven van de vraag steeds wisselt. $index=range(0,1); $component=switch($index,"Fx", "Fy"); (tekst) $gegeven=switch($index,$Fx, $Fy); (waarden) In de vraag staat dan: Gegeven is de kracht
$component = $gegeven N. Group Figuren item 14: krachten waarbij het gegeven én de vraag steeds wisselt en dus het antwoord ook. Met het vooraf opgeven van een random index, lopen de andere variabelen met elkaar in de pas. $index1=range(0,2); $gegeven=switch($index1,$F, $Fx,$Fy); $gegevenkracht=switch($index1,"F","F<sub>x","F<sub>y"); $bereken=switch($index1,"F<sub>x", "F<sub>y", "F"); $antwoord=switch($index1,"$Fx", "$Fy", "$F"); Let hier ook eens op het gebruik van html-tags voor een kleine formule met subscript. Dan hoeft er geen MathML gemaakt te worden. Group Matrices item 4: Lineair Systeem en item 5: Rank van Matrix, waarbij er steeds door middel van switch een andere vraag gesteld wordt. Group Rekenen met breuken item 9: eenheden 1 Zie ook in paragraaf 7.2 Randomgetallen. Zie ook in paragraaf 7.4 waar bij Multiple choice randomisering gemakkelijk te doen is om de vraag vaker te kunnen gebruiken. TIP: bij switch kunnen er strings of getallen gebruikt worden, maar geen MathML-code. Als er dus variabelen gedeclareerd zijn als MathML-code, dan kunnen die niet gebruikt worden als onderdeel van switch. Wat wel kan is de formule als string nemen en uiteindelijk bij de laatste slag nog eens de MathML-code daarvan genereren. Dus bijvoorbeeld bij eerst $integrand=maple("$a/x^3+1/($b*x^2"); $vraag=maple("Int($integrand,x)"); $antw1g=maple("value($vraag)"); $antw2g=maple("simplify(value($vraag))"); $antwg=switch(rint(2),"$antw1g","$antw2g"); $antwgoed=maple("MathML[ExportPresentation]($antwg)"); Het is handig om de formules dan als string te geven bij switch, anders worden alle getallen omgezet naar decimale getallen. Verder kan het resultaat dan altijd nog naar MathML-code worden omgezet.
7.4 Randomisering bij Multiple choice-vragen Group Integreren, item 4, 5, 6 en 7 hebben een interessant gebruik van "switch" bij Multiple choice en
32
Multiple selection-vragen. De alternatieven voor deze soort vragen kunnen uit een verzameling komen waaruit random gekozen kan worden. Maak een aantal goede antwoorden en een aantal foute antwoorden en wissel met switch daartussen. Ook kan men dus een aantal foute zinnen en een aantal goede zinnen als antwoord geven en daar tussen wisselen. TIP: switch werkt wel met tekst, (string met quotes), met getallen, met formules, maar NIET met MathML-gecodeerde formules! Dan zijn er wel weer andere trucjes om de gekozen variabele formule in tweede instantie om te zetten naar MathML-code. Textuele randomisering in Groep Multiple Choice vraag 12: textuele randomisering. Om een vraag van het type Multiple Choice wat meer te randomiseren is het handig om bijvoorbeeld eerst een aantal foute antwoorden en ook een aantal goede antwoorden in de rubriek Algorithm te programmeren. Dat kan door de zinsbouw wat te veranderen of de volgorde van een opsomming te wijzigen. Bij de alternatieven maken we dan gebruik van deze vooraf gemaakte variabelen. In de rubriek Algorithm maken we uiteindelijk één goed en twee foute antwoorden ook kunnen we ten behoeve van de tekst van de vraag drie synoniemen voor $gebouw steeds automatisch laten veranderen: $antwg1="Structuur, ondergrond, overspanningen, constructiemateriaal"; $antwg2="Ondergrond, overspanningen, constructiemateriaal, structuur"; $antwg=switch(rint(2),"$antwg1","$antwg2"); $antwf1="Bouwsysteem, fundering, overspanningen, materialen"; $antwf2="Functie, ondergrond, constructie, overspanningen"; $antwf3="Bouwsysteem, overspanningen, ondergrond, constructie"; $index1=rint(3); $index2=rint(3); condition:not(eq($index1,$index2)); $commentaar1="rint(3) betekent 0 of 1 of 2"; $antwF1=switch($index1,"$antwf1","$antwf2","$antwf3"); $antwF2=switch($index2,"$antwf1","$antwf2","$antwf3"); $gebouw=switch(rint(3),"stapelbouw","etagebouw","een gebouw met verdiepingen"); In het formulier voor de tekst van de vraag komt dan het volgende te staan:
Figuur 7.2 Randomisering in Multiple Choice-vraag In de figuur 7.2 is te zien dat in de tekst van de vraag en in de alternatieven die ook nog door elkaar 33
steeds worden aangeboden slechts de variabelen worden aangeroepen die in de rubriek Algorithm zijn voorbereid. TIP: Maak niet te veel gebruik van condition.... want als er meer van deze condities gebruikt worden in de rubriek Algorithm, dan krijgt het systeem het soms erg zwaar te verduren om de juiste setting variabelen te vinden die aan alle condities voldoen. Zie ook de truc van paragraaf 7.8 om de functie condition te omzeilen.
7.5 Random matrices $matrix=maple("randomize():LinearAlgebra[RandomMatrix]($n,$n,density=0.75,generator=rand(-9..10) )"); Voordat het commando RandomMatrix aangeroepen wordt, moet eerste randomize(): gedaan worden om te resetten, anders krijgt u steeds dezelfde matrix te zien waarbij de elementen tussen -9 en 10 zijn. Zie Group Matrices bij item Determinant. Op deze manier kunnen ook random vectoren gemaakt worden met RandomVector Echter, u kunt natuurlijk ook alle elementen van de matrix of de vector apart als variabelen benoemen. Zie Group Matrices bij het eerste item Matrixoptelling. Let even op dat vanaf versie 7 bij het Maple-graded vraagtype er gekozen kan worden uit een instelling met Maple syntax waar bij er een editor aangeboden wordt waar ook gebruikgemaakt kan worden van matrices.
7.6 Random polynomen $polynoom = maple("randomize():RandomTools:-Generate(polynom(integer(range=-5..5),x,degree=3)) "); Het is een polynoom in x van de graad 3 en de coëfficiënten liggen tussen -5 en 5. Voordat het commando aangeroepen wordt, moet eerste randomize(): gedaan worden om te resetten, anders krijgt u steeds dezelfde polynoom te zien. Zie bij Group Differentiëren, het eerste en tweede item. Echter, u kunt natuurlijk ook de algemene polynoom van de graad 3 als volgt definiëren: $a=range(-6,6); $b=range(-6,6); $c=range(-10,10); $d=range(-10,10); $poly=maple("($a)*x^3+($b)*x^2+($c)*x+($d)"); Let daarbij op de haakjes om de variabelen omdat de variabelen ook wel eens negatief kunnen zijn en Maple het teken +- niet verstaat. Verder ook opletten dat de formule van de polynoom met Maple gemaakt wordt, anders worden de gehele getallen onmiddellijk vertaald naar decimale getallen, wat vaak niet wenselijk is.
7.7 Randomvariabelen buiten de rubriek Algorithm TIP: Variabelen kunnen buiten de rubriek Algoritme aangemaakt worden met daarin verwerkt de response of de grading van een vorige vraag of andere variabelen met berekeningen en voorwaarden en dergelijke. Een dergelijke variabele is als volgt geconstrueerd: ${........} met binnen de accolades eventueel andere variabelen te gebruiken met Maple T.A.-codes (dus geen Maple-codes). Hiervan wordt een enkele keer gebruikgemaakt bijvoorbeeld in de situatie dat de respons of de grading van een vorige vraag aangeroepen wordt. Het is namelijk niet mogelijk om dat binnen de rubriek Algorithm te doen. Zie daarvoor in paragraaf 19.3 bij Kettingvragen.
7.8 Permutaties Als er in de rubriek Algoritme te veel gebruikgemaakt moet worden van de restrictie condition: .... dat variabelen niet gelijk aan elkaar mogen zijn, dan kan het wel eens zijn dat het systeem de juiste setting gewoon niet kan vinden helaas. Er gebeurt namelijk het volgende als er randomvariabelen gebruikt worden met restricties: Het systeem stelt een aantal variabelen vast, vervolgens wordt er gecontroleerd of aan de restricties voldaan wordt (condition....) en zo niet, dan wordt er een nieuwe set vastgesteld, net zo lang totdat wél aan de restricties voldaan is. Als er maar beperkte mogelijkheden zijn, kan het voorkomen dat dat gewoon helemaal niet lukt en is het beter om de condities te omzeilen. Om vier verschillende variabelen te krijgen waarbij gekozen mag worden uit een beperkt aantal elementen kan het volgende bedacht worden. 34
Met combinat[permute]([0,1,2,3,4,5,6,7,8,9],4); krijgen we ALLE combinaties te zien om 4 elementen uit een lijst van 10 te kiezen. Maar die willen we niet allemaal zien, dus kiezen we er at random een combinatie (rijtje van 4) uit met randcomb. $A=maple("randomize():combinat[randcomb]([1,2,3,4,5,6,7,8,9,10,11],4)"); $index1=maple("$A[1]"); $index2=maple("$A[2]"); $index3=maple("$A[3]"); $index4=maple("$A[4]"); Op deze manier krijg je dus vier verschillende variabelen uit het lijstje van [1,2,3,4,5,6,7,8,9,10,11] TIP: Let op dat vooraf randomize(): gegeven moet worden, anders wordt er steeds hetzelfde gekozen. Met de functie switch kunnen de variabelen aangemaakt worden als de indexering vast ligt. Ook is het mogelijk met permutaties te werken om een aantal elementen op verschillende volgorden te krijgen en waarbij ze niet hetzelfde mogen zijn. $numbperm=maple("combinat[numbperm]([0,1,2])"); $n=maple("randomize():rand(1..$numbperm)()"); $A=maple("randomize():with(combinat):permute([0,1,2])[$n]"); $index1=maple("$A[1]"); $index2=maple("$A[2]"); $index3=maple("$A[3]"); Met de eerste regel wordt een lijstje aangemaakt met een random permutatie van het lijstje. TIP: Let op dat vooraf randomize(): gegeven moet worden, anders wordt er steeds hetzelfde gekozen. Met de functie switch kunnen de variabelen aangemaakt worden als de indexering vast ligt. $Antwg1=switch($index1,"het bestemmingsplan", "de bouwverordening","het Bouwbesluit"); $Antwg2=switch($index2,"het bestemmingsplan", "de bouwverordening","het Bouwbesluit"); $Antwg3=switch($index3,"het bestemmingsplan", "de bouwverordening","het Bouwbesluit"); Er kan ook gekozen worden bijvoorbeeld voor een combinatie van 2 uit 4 elementen. $A=maple("randomize();combinat[randcomb]([0,1,2,3],2)"); $index1=maple("$A[1]"); $index2=maple("$A[2]"); Op deze manier kan weer een indexering aangemaakt worden ten behoeve van het commando switch om twee elementen uit 4 te combineren. Voorbeeld van het genereren van 4 even getallen en twee oneven getallen: $even=maple("randomize():combinat[randcomb]([2,4,6,8,10,12,14,16,18,20,22,24],4)"); $oneven=maple("randomize():combinat[randcomb]([1,3,5,7,9,11,13,15,17,19,21],2)"); $a=maple("$even[1]"); $b=maple("$even[2]"); $c=maple("$even[3]"); $d=maple("$even[4]"); $e=maple("$oneven[1]"); $f=maple("$oneven[2]");
8 Formules (Tips voor MathML-code) Voor formules op het scherm werken we met MathML. Deze code zorgt ervoor dat de formules in de Browser op de juiste manier worden weergegeven. Er zijn meer manieren om de MathML-code te genereren. Als het niet lukt (wegens automatische vereenvoudiging) om de formule in de rubriek Algorithm voor te bereiden met behulp van de code gemaakt door Maple, kan eventueel met quotes gewerkt worden of anders met MathML op verschillende manieren. In hoofdstuk 8 Formules (tips voor MathML-code) wordt hieraan uitgebreid aandacht besteed. TIP: werk voor formules op het scherm altijd met MathML. De Equation Editor is ook op MathML gebaseerd.
35
Een enkele keer kan er wellicht met html-tags gewerkt worden, zie paragraaf 8.6.
8.1 Wat is MathML-code Een formule netjes op het scherm krijgen is vaak een lastige zaak, maar met behulp van MathML-code is het vrij eenvoudig. Maple T.A. ondersteunt het gebruik van MathML-code op een elegante manier. Zelf de code maken is niet nodig. Een voorbeeld van een gecodeerde formule is de volgende code die door de browser gezien wordt als een echte formule. <math xmlns='http://www.w3.org/1998/Math/MathML'><mrow><mi>P<mo>= <mfrac><mrow><msup><mi>M<mn>2<mo>⁢ <mi>H<mrow><mrow><mi>v<mo>⁢ <mfenced><mrow><mrow><mi>B<mo>⁢ <mi>M<mo>+<mrow><mi>C<mo>⁢ <mi>m<mo>⁢ <mi>h Deze code stelt de volgende formule voor en het systeem vertaalt dus de code naar een presentabel formaat:
Nogmaals: gelukkig hoeven we een dergelijke code niet zelf te maken en zeker niet te lezen. Er zijn verschillende manieren om de code te maken die allemaal hieronder uitgelegd worden.
8.2 Hoe wordt MathML-code gemaakt De MathML-code kan in Maple T.A. op drie manieren gemaakt worden. In de rubriek Algorithm met behulp van een Maple-commando (meest efficiënte manier). Zie paragraaf 8.3 maple("printf(MathML[ExportPresentation]($vraag) )"); In de rubriek Algorithm met behulp van de mathml-functie van Maple T.A.. Zie verder in paragraaf 8.3. mathml("$a/x+$b"); Met de Equation Editor (zie paragraaf 8.4) is vaak wat langdradig werk, maar het kan soms nodig zijn. In deze Equation Editor kan eventueel ook MathML-code vanuit een ander programma geplakt worden als u gewend bent in een ander formule-programma te werken (bijvoorbeeld MathType). Zie daarvoor paragraaf 8.4.1.
8.3 MathML-code programmeren in rubriek Algorithm Stel eerst de random variabelen vast in de rubriek Algorithm. Vervolgens moet de formule van de vraag waarmee gerekend wordt, gedefiniëerd worden. Voor de tweedimensionale presentatie van de formule in de vraag, moet de formule van de vraag (door Maple of door Maple T.A.) omgezet worden in MathML-code. In het veld waar de vraag gesteld wordt (maar ook op elke andere plaats, bijvoorbeeld in de Feedback of in Hints of in alternatieven van Multiple choice-vragen), kan gerefereerd worden naar deze voorbereide code die als variabele is opgeslagen in de rubriek Algorithm. LET OP: met de omzetting van een formule naar MathML-code krijgt u een formule met de bedoeling deze op het scherm te presenteren maar NIET om mee te rekenen! Het is handig om deze formules een naam te geven met display erin voor de herkenbaarheid. $a=range(2,5); $b=range(3,5); $vraag=maple("$a/x+$b"); $displayvraag=maple("printf(MathML[ExportPresentation]($vraag) )"); Met de variabele $vraag kan gerekend worden, met de variabele $displayvraag (gecodeerde formule) kan dus NIET gerekend worden. TIP: Geef een variabele die staat voor MathML-code altijd een naam met daarin iets van display, zodat 36
men weet dat deze niet per ongeluk gebruikt wordt om mee te rekenen. Uitgeprobeert dient te worden of de vraag ook weergegeven wordt zoals bedoeld is. Dat kan ook gemakkelijk gecontroleerd worden in de rubriek Algorithm (met de knop Refresh). Hier staan trouwens geen haakjes om de variabelen bij $a/x+$b omdat dat hier in dit geval niet beslist noodzakelijk is. Immers de variabelen zullen steeds positief zijn in bovenstaand voorbeeld, maar als de variabelen ook negatieve waarden kunnen hebben, is het verstandiger om haakjes om de variabelen te plaatsen. TIP: ook een mogelijkheid is om het volgende commando te hanteren binnen Maple T.A., wat overigens niet een Maple-commando is dus er staat geen maple("...") omheen maar mathml("..."). $displayvraag = mathml("$a/x+$b"); of $displayvraag = mathml("$a/x+$b","nosimplify"); TIP: deze laatste optie kan soms nuttig zijn om automatische vereenvoudiging tegen te houden. Hierbij kunt u beter niet refereren naar de randomvariabele $vraag door te tikken $displayvraag = mathml("$vraag"); want dan bent u afhankelijk van de automatische vereenvoudiging die Maple dan mogelijkerwijs toch eerst doet. Soms kan deze manier, met het commando mathml("..") binnen Maple T.A., een oplossing zijn als Maple onbedoelde vereenvoudigingen zou doen. Zie ook bij: Group Rekenen met Breuken. Ook bij wortels is het lastig om de automatische vereenvoudiging van Maple tegen te houden. Zie Group Algebra, item 19 wortel-herleiden 2 (QD). Zie ook hoofdstuk 6 Tips voor de beoordeling van het antwoord. De volgende vorm
zou door Maple automatisch vereenvoudigd worden tot
.
Daarom is het in een dergelijk geval raadzaam met MathML te werken buiten Maple om, dus met de editor, of met een ander programma dat MathML-code kan genereren, of binnen Maple T.A. met mathml("...") eventueel met de optie "nosimplify".
8.3.1 Werken met quotes Met quotes kan gewerkt worden om automatische vereenvoudiging tegen te houden. Een voorbeeld waarbij automatische vereenvoudiging plaats vindt en dat het mogelijk is om deze vereenvoudiging in sommige gevallen tegen te houden door middel van quotes. (Het zijn forward quotes.) Zie in de handleiding Maple10 hoofdstuk 6 voor meer informatie over quotes. In Group algebra item 12 : logdefinitie (6a) is daarvan een voorbeeld te zien in de rubriek Algorithm, waarbij deze variabele in de tekst van de vraag gebruikt kan worden. $displayvraag = maple(" printf(MathML:-ExportPresentation('log[$c]($b)')) "); Dus met quotes eromheen om de vereenvoudiging tegen te gaan. Overigens presenteert Maple (en tegenwoordig ook de moderne rekenmachines met een groter display) het grondtal van de logaritme als subscript: . Soms zijn backward quotes ook handig om Maple exact te laten overnemen wat je wilt. Bijvoorbeeld: maple("printf(MathML[ExportPresentation](c[n]=(`5 `)^6 /('5!'*n)))"); Dit komt er uit te zien als
.
Er moet dus voorkomen worden dat wordt uitgerekend door Maple. Met een spatie achter de 5 wordt voorkomen dat de 6 zowat tegen de 5 aan wordt afgebeeld.
8.3.2 Voorbeeld Door middel van quotes kan de evaluatie vertraagd worden. In onderstaande sessie zien we wat het computeralgebrasysteem Maple doet in de verschillende gevallen. Vooraf uitproberen in Maple is dan aan te raden. > restart;log[27](3);
> 'log[27](3)'; > log[3](8);
37
> 'log[3](8)';
TIP: als de randomvariabelen ook negatieve waarden kunnen aannemen, is het verstandig deze in formules tussen haakjes op te nemen. $vraag=maple(" ($a)/x+($b) ");
TIP: het komt de leesbaarheid ten goede als formules gecentreerd op het scherm in de vraag gecommuniceerd worden.
8.4 MathML met de Equation Editor LET OP: met de omzetting van een formule naar MathML-code krijgt u een formule met de bedoeling deze op het scherm te presenteren maar NIET om mee te rekenen! Soms is het vooraf programmeren van de MathML-code in de rubriek Algorithm niet voldoende om de formule op het scherm te krijgen zoals we zouden willen. U wilt bijvoorbeeld de lettergrootte aan kunnen passen of misschien geeft Maple de formule niet weer zoals we zouden willen. Er zijn dan nog wel wat trucjes met quotes of met het commando mathml("...") binnen Maple T.A.. zoals in paragraaf 8.3 besproken. De Equation Editor (zie figuur 9) is te bereiken met de knop met het Sigmateken in het formulier waar de tekst van de vraag ingevuld moet worden (of in de rubriek Hints of Feedback).
Figuur 8.1 Equation Editor In figuur 8.1 is te zien dat er in de formule zelfs ook variabelen (te herkennen aan het dollarteken) opgenomen kunnen worden. Dit voorbeeld komt uit Group algebra item 7: vrijmaken(2). Met het klikken op een bestaande formule en vervolgens op het Sigmateken, kan de formule aangepast worden. Met de rechtermuisknop klikken in deze Equation Editor kunnen palettes tevoorschijn gehaald worden ten behoeve van het bouwen van de formule. TIP: Met het tabblad MathML in de Equation Editor (zie figuur 8.1) kan de MathML-code nog aangepast worden bijvoorbeeld om de formule wat groter te maken of deze variabelen niet cursief te maken. Ook is het mogelijk om in dit tabblad de code te kopiëren die verkregen is uit een ander programma waar MathML-code is aangemaakt bijvoorbeeld in Maple of in MathType. Als u aanpassingen doet in deze MathML-code in het tabblad MathML van de formule-editor, ga dan vanuit dit tabblad van de MathMLcode direct op OK klikken om de formule te bevestigen en niet eerst weer terug naar de Equation Editor, want dan komen er wellicht ongewenste conversies. TIP: Met het maken van een formule op deze manier met variabelen erin, worden de variabelen als vanzelf cursief weergegeven zoals $B en $C. in figuur 8.1. Dat is echter niet de bedoeling, want in de vraag zullen voor deze $B en $C getallen worden ingevuld en die moeten niet cursief!
38
Met het tabblad MathML in de Equation Editor (zie figuur 8.1) kan de MathML-code nog aangepast worden, maar!!!! Het is veel handiger om de MathML-code aan te passen in de broncode van de vraag (te bereiken met Edit - Edit Source. De MathML-code is daar veel schoner en transparanter en er kan bijvoorbeeld aan toegevoegd worden: fontsize="14" of cursieve variabelen kunnen weer níet cursief gemaakt worden door de tags <mi>... te veranderen in <mn>.... Zie figuur 8.2.
Figuur 8.2 Broncode van de vraag. TIP: De MathML-code die in het tabblad MathML staat van de Equation Editor is vrij ingewikkeld. Op de een of andere manier wordt deze code weer omgezet in een eenvoudiger code die dus te vinden is in de broncode van het item die te bereiken is met Edit Source direct nadat op Edit geklikt is. Daar kan gemakkelijk de grootte van de formule aangepast worden met fontsize="14". Als in het formulier van het editen van de vraag op Source geklikt wordt, kan de MathML-code echter níet bereikt worden. De formule is dan vertaald naar een plaatje met extensie .gif.
8.5 MathML met MathType Soms krijgt u de formule niet goed op het scherm als u Maple de MathML-code laat genereren óf buiten Maple T.A. óf binnen Maple T.A. in de rubriek Algorithm. Het heeft te maken met automatische vereenvoudiging bijvoorbeeld bij logaritme met een ander grondtal dan e of bij wortelvormen of breuken met getallen waarbij Maple meestal overgaat tot automatische vereenvoudiging. Ook kan het zijn dat de formule die gepresenteerd moet worden té uitgebreid en geavanceerd is om dat in de Equation Editor van Maple T.A. te doen. Het programma MathType heeft een functionaliteit waarbij gemakkelijk de MathML-code te genereren is. Deze code is ook vrij schoon en gemakkelijk te overzien in de editor.
39
Figuur 8.2 MathType Start het programma MathType en ga naar "Preferences" en kies voor "Translators". Zorg ervoor dat de volgende instellingen gedaan worden: Zie figuur 8.2. Met de Radiobutton kiest u voor "Translation to other language" en kies dan voor de Translator: "MathML -- WebEQ compatible" of "MathML 2.0 [no namespace]". De checkboxes onderaan hoeven niet aangevinkt te worden. Als u nu in MathType een formule bouwt, kunt u deze formule gewoon selecteren, kopiëren en vervolgens in de Equation Editor van Maple T.A. plakken maar dan wel in het tabblad MathML. Als resultaat plakt u in feite de MathML-code. Met deze instellingen wordt er dus geen plaatje van gemaakt (gif-bestand). Bevestig dan direct deze formule in de editor dus direct vanuit het tabblad MathML zonder eerst weer terug te keren naar de Equation Editor. Gebruik hier liever geen dollartekens voor de randomvariabelen maar voeg eventuele dollartekens later toe in de code. (Doe dat dan liever niet in de Equation Editor maar in de source code van het item die te bereiken is met Edit Source vlak nadat het item opengemaakt is met Edit.) Een mooi voorbeeld hiervan is in Group Matrices, item 4: lineair systeem waar de MathML-code voor de aangevulde matrix in het programma MathType is voorbereid. TIP. Ook als u bepaalde formules van de ene vraag naar de andere wilt kopiëren, doe dat dan met de MathML-code in de broncode van de vraag, dat is de snelste manier.
8.6 Formules met HTML Soms is het handig om html te gebruiken om formules netjes op het scherm te krijgen. Meestal gaat het dan om een kleine formule in de tekst of iets wat in een formule-editor niet zo goed lukt: <em>P(<span style="text-decoration: overline"><em>X<sub> $aantalTwee $ongelijkheid $grens) In alternatieven voor Multiple Choice-vragen kan ook heel goed html gebruikt worden. Handig is ook om een formule met html eventueel voor te bereiden in het tekstvak van de vraag en die dan eventueel te kopiëren naar zo'n invulveld waar geen knopjes zijn voor html. Zie ook paragraaf 10.4 voor tips voor html-tags.
9 Tabellen en kleuren in de presentatie van de vraag In het tekstveld van de vraag kan de lay-out verzorgd worden, zodat de presentatie van de vraag optimaal is. Zie ook hoofdstuk 2 bij Kwaliteitseisen voor toets items. 40
Kijk bij de toets items in het Group Vergelijkingen item 1, 2 en 3 waarbij de twee vergelijkingen in de rubriek Algorithm reeds voorbereid zijn. Met behulp van de knoppen van het tekstveld van de vraag, kan op beperkte schaal een tabel worden ingevoegd (zie figuur 9.1), maar er zijn niet al te veel mogelijkheden. Met het klikken op Source kan met behulp van html-tags iets meer. TIP: Maak in uw favoriete html-programma (Dreamweaver) een stukje html-code aan en kopieer dit naar de broncode van het tekstveld van de vraag (Source). De vergelijkingen worden in een tabel gepresenteerd als volgt: Neem het volgende in de source-code van het tekstveld van de vraag op alvorens eerst in de rubriek Algorithm de vergelijkingen $displayv1 en $displayv2 te hebben gedefinieerd.
Figuur 9.1 Table Properties Los het volgende stelsel vergelijkingen op:
Nog een aardig gebruik van een minitabelletje is bij Group Rekenen met breuken de derde vraag: Door het splitsen van de vraag in meer invulvelden (in de Question Designer), kan hier teller en noemer apart worden ingevuld, zodat de automatische vereenvoudiging hier geen vat op heeft. In het minitabelletje zit de horizontale streep
die als breukstreep kan fungeren.
TIP: ook kunt nu bijvoorbeeld vooraf wat informatie geven bij de vraag. Een duidelijke scheidslijn kan wat lijn brengen in de lay-out van de vraag. Zie bijvoorbeeld bij Group Finance bij het tweede item.
TIP: als er iets is waar studenten op moeten letten en wat ze niet mogen missen is het wellicht handig met 41
kleurgebruik iets aan te geven. In de editor zit meestal wel een knopje voor gekleurde tekst maar bij het vraagtype Matching en Fill in the blanks en bij de alternatieven van Multiple choice-vragen is het misschien wel handig om de html-code te kennen. Op het scherm is het gebruik van rood wel opvallend als er tegelijk ook bold gebruikt wordt. Zie bijvoorbeeld bij Group Finance bij het eerste item of bij Group Algebra bij het 20e item over wortelherleiden.
rekenmachinetaal Om wat aandacht voor bepaalde dingen te vragen kunt u ook een stukje tekst highlighten met een knopje in de editor (rechts naast tekstkleur-knopje). Ook kan een stukje tekst in een tabel opgenomen worden en dan met een achtergrondkleur highlighten met lichtgeel bijvoorbeeld. Zie Group Matrices de eerste vraag: matrix optelling.
De manier om de matrix in te tikken is Matrix([[a,b],[d,e]]). De eerste rij is dan [a,b] en de tweede rij is dan [d,e] van een 2 bij 2 matrix. |
Het effect is dan dat het blokje tekst met een gele achtergrondkleur gepresenteerd wordt. Probeer eens de knopjes uit van de editor.
10 Getallen, tekens en lettertype in de presentatie van de vraag (html) 10.1 Getallen Maple T.A. presenteert grote getallen met een komma als scheidingsteken voor duizendtallen. Als we dat niet willen, zijn er trucjes om in de presentatie van de vraag de grote getallen zonder de komma op het scherm te krijgen. Maak in de rubriek Algorithm een variabele aan met het getal geschreven in Maple of schrijf het getal met behulp van MathML-code. $a=range(1000,5000); Deze variabele $a zal bij gebruik in de tekst een komma presenteren als scheidingsteken voor duizendtallen hoewel er wel gewoon mee gerekend kan worden. Maak dan een nieuwe variabele met Maple waarmee ook gerekend kan worden én die tevens geschikt is in de presentatie. $A=maple("$a"); Eventueel kunt u het getal ook coderen met MathML voor in de lay-out van de vraag met $AA=mathml("$a"); of met $AAA=maple("printf(MathML[ExportPresentation]($a) )"); Deze manier met MathML is ook wel mooi, omdat het getal dan even iets forser wordt gepresenteerd in de vraag maar kan natuurlijk niet gebruikt worden in berekeningen. Gebruik vervolgens $A of een van de andere variabelen in de redactie van de vraag, zodat er geen onbedoelde komma meer in voorkomt. De met MathML gecodeerde variabelen kunnen dus NIET in de berekeningen gebruikt worden, de eerste twee wel. TIP: voor een betere presentatie van getallen is het soms wenselijk om de MathML conversie daarop toe te passen. Zie voor een voorbeeld bij Group figuren het derde item parabool met top en punt (1) waarbij de punten met coördinaten in MathML zijn gepresenteerd. De getallen worden in de presentatie dan ook iets groter. Als de weergave van getallen automatisch in wetenschappelijke notatie worden gepresenteerd en men wil dat niet in de lay-out van de vraag, dan is het ook een optie om dat getal dan in een variabele weg te schrijven als MathML gecodeerd getal. Er wordt dan een decimaal getal van gemaakt:
42
$a=1.29*10^(-5); $adisplay=maple("printf(MathML[ExportPresentation]($a))"); Je krijgt dan te zien: 0.0000129 en dat is misschien de bedoeling in de presentatie van de vraag. Nog een mogelijkheid om duizendtallen te presenteren in de vraag. Maak een variabele $aduizend=range(3,300).
10.2 Euro, dollarteken en ponden Bij vragen met geld, kan het euro-teken met het toetsenbord gemaakt worden, maar zo nodig ook in html-code gebruikt worden (in de broncode) met behulp van € Het dollarteken $ kan met behulp van het toetsenbord, maar wel met een backslash ervoor om te voorkomen dat het programma het teken ziet als een variabele die in de rubriek Algorithm gedefinieerd is. Dus \$ als u het dollarteken wilt hebben in de vraag. Met het toetsenbord is ook gemakkelijk het pond-teken (£) te maken met
+$ Een mogelijkheid om duizendtallen te presenteren in de vraag. Maak een variabele $aduizend=range(3,300). Hou in de berekeningen dan wel rekening met het aantal duizenden!
10.3 Lettertype (font aanpassen) Het font aanpassen is soms wel eens nodig als u de variabele l (bijvoorbeeld voor lengte) als kleine letter in de tekst hebt staan. Het wordt een vreemd schuin streepje l dat niet erg duidelijk is. Liever wilt u dus de letter l. Of als u een formule in de tekst wilt intikken, dan is dat ook beter leesbaar met het font Times New Roman. Het font van de letter kan incidenteel wel aangepast worden voor een dergelijk geval en vergroot de leesbaarheid op het scherm. Er is een knopje in de editor voor het font, maar als de editor niet beschikbaar is bijvoorbeeld in Fill in the blanks-vragen of Matchings-vragen of in alternatieven van Multiple choice-vragen, kunnen html-tags gebruikt worden. l
10.4 html-codes voor Tekens en Griekse letters Tekens en Griekse letters kunnen gemaakt worden met de formule-knop in de editor (niet aan te raden). Er kan beter voor alleen enkele tekens of kleine formules de html-code gebruikt worden in de broncode (klik op de knop Source) In de rubriek Algorithm kunnen allerlei tekens in teksten of reactievergelijkingen al vast voorbereid worden maar ook in alternatieven voor multiple choicevragen kunnen html-tags gebruikt worden. TIP: In alternatieven van het vraagtype list binnen het vraagtype Question Designer kan geen htmlcode gebruikt worden!!! × ° voor graden: ° (met het toetsenbord ook gemakkelijk met de toetsencombinatie <Shift-Alt Gr>+; ) α voor de griekse letter alfa ± ⊥ t voor het loodrechte teken → ← ↔ ↑ ↓ · voor een stip op halve hoogte $ – 43
≥ voor het groterdan of gelijkteken P ≤ voor het kleinerdan of gelijkteken # © voor het copyright-teken © (of met de toetsencombinatie +c) ½ ¼ +6) ä voor ä (bijvoorbeeld in alternatieven van MC-vragen) ë voor ë (bijvoorbeeld in alternatieven van MC-vragen) ï voor ï (bijvoorbeeld in alternatieven van MC-vragen) ∅ Mooi tekentje voor doorsnede Ø met toetsencombinatie <Shift-Alt Gr>+L) <sup>2 voor een kwadraat (superscript) <sub>1 voor subscript cursief voor cursief (italic) <em> cursief heeft hetzelfde effect van cursief (emphasize) als italic vetgedrukt vertaling van vet is bold. onderstreept vertaling van onderstreept is underline <span style="text-decoration: overline"><em>X Hiermee krijg je een streep boven de cursieve Voor meer tekens wordt verwezen naar de website van http://www.handleidinghtml.nl/
10.5 html-codes voor lay out Hieronder volgt een aantal html-codes die handig kunnen zijn
10.5.1 Regel overslaan Eén regel overslaan:
10.5.2 Centreren .....
10.5.3 Horizontale regel
10.5.4 Bold of italic .... ....
10.5.5 Lettertype en kleur rekenmachinetaal l
10.5.6 Tabel Voor een tabel zonder randen met twee rijen en één kolom: Voor een tabel met twee rijen en één kolom mét randen en achtergrondkleur.
10.5.7 Verwijzing naar een plaatje of externe site Plaatjes in de vraag het liefst centreren. De opties width="350" height="200" zijn voor het eventueel aanpassen van de grootte van de figuur maar zijn niet direct noodzakelijk als het plaatje het goede formaat al heeft.
Een plaatje met mouse-over-tekst:
Een verwijzing naar een externe site, geef dan de optie target=_blank voor het openen in een nieuw venster. instructiemaplet
10.5.8 Bladspiegel aanpassen In de source code kan een extra aanpassing gedaan worden als men bijvoorbeeld wil dat de bladspiegel van een toets item niet te breed wordt: .............................
10.5.9 Een link plaatsen Als u gebruik wilt maken van een link naar een externe site, gebruik dan altijd een nieuw venster, zodat als de externe site gesloten wordt, de student weer terugkeert naar de toetsvraag. Meestal gebruikt u het knopje in de editor voor de link: zie figuur 10.1.
Figuur 10.1 Figuur 10.1 Link plaatsen naar externe site U komt dan in het Link-dialoogvenster waar het adres van de externe site ingevoerd kan worden. Verder kunt u ook in het tweede tabblad van dit Link-dialoogvenster kiezen voor New Window (_blank) zodat de link geopend wordt in een nieuw venster. 45
10.5.10 Een geordende lijst - ...........
- ...........
- ...........
- ...........
- ...........
staat voor ordered list - staat voor list item
11 Figuren in de vraag Er zijn verschillende mogelijkheden om figuren in een toets item te communiceren. Dat kan natuurlijk in de tekst van de vraag, maar ook bij de Hints, de alternatieven van Multiple choicevragen en zelfs in de Feedback van de vraag. Het kan in de vorm van plaatjes, situatieschetsen, dynamische plaatjes, verwijzingen naar applets, filmpjes enz. Ook kan er gewerkt worden met behulp van links (zie paragraaf 10.5.9). TIP: Als u nog Word-bestanden heeft met plaatjes, is het handig om deze bestanden weg te schrijven als html-bestand (web-pagina). U krijgt dan in één keer een hele map met plaatjes in gif-formaat of jpg-formaat of png-formaat die geschikt zijn om in toets items te gebruiken.
11.1 Plaatjes en andere bestanden uploaden Plaatjes kunnen in toets items opgenomen worden, niet alleen in het tekstveld van de vraag, maar ook in de alternatieven van een Multiple choice-vraag of in de Feedback of in de Hints. Overal kunnen plaatjes een rol spelen ter illustratie van het een en ander. Een plaatje zelf maken of op Internet opzoeken en opslaan, liefst een gif-bestand of jpg-bestand of een png-bestand. Voor het laatste soort moet u minimaal Maple T.A. versie 7 hebben of anders de System Administrator van het systeem waarschuwen die bepaalde instellingen kan doen. TIP: Tegenwoordig kunnen er ook html-bestanden, pdf-bestanden, ggb-bestanden (applets van Geogebra) geupload worden waarnaar verwezen kan worden vanuit een vraag. Als daarvan gebruikgemaakt wordt, verwijs dan bijvoorbeeld naar een html-pagina of pdf-bestand met het maken van een link in een pop-up of nieuw venster (target = _blank), zodat bij het sluiten van deze pagina's men altijd weer in de vraag van Maple T.A. terug komt. TIP: Helaas is het niet mogelijk om Excel en Word te uploaden in het systeem, maar als het eerst gezipt wordt kan dat wel! Naar een dergelijk gezipt bestand linken kan dus prima echter om het te openen moet de student dan dat gezipte bestand even openen, maar dat zal voor de meeste computers geen probleem zijn. De Website Editor van de Class (vanuit de Class Homepage via Content Manager naar Website Editor gaan, zie figuur 11.1) bevat een container met plaatjes ten behoeve van de toets items. Het is handig om een mappenstructuur aan te leggen voor uw plaatjes die u als gif of jpg of pngbestanden kunt uploaden vanaf uw harde schijf. Als u een Question Group maakt met vragen waarin veel plaatjes voorkomen, maak dan een bijbehorende map aan in de Website Editor. Als later het geheel verhuisd moet worden, kan er een Course Module (zie Handleiding MapleTA hoofdstuk 4.4 ) van gemaakt worden die de Question Groups samen met de plaatjes in zijn geheel bijelkaar houdt en zich makkelijk laat verplaatsen. Uitgaande van de Class Homepage klikt u op Content Manager-Website Editor om in het scherm van figuur 11.1 te komen.
46
Figuur 11.1 Website Editor TIP: zorg dat de Pop-ups op uw computer niet geblokkeerd zijn en anders klikt u met de muis met de -knop ingedrukt. Zodra de plaatjes in deze container staan, kunt u ze gebruiken in de toets items door middel van verwijzing. Plaatjes komen niet fysiek in de toetsvraag te staan. Er wordt vanuit de toetsvraag alleen maar naar een plaatje verwezen. Een map (folder) openen (functies) geeft de namen van alle plaatjes die daarin zitten, zie figuur 11.1 en vervolgens op view this file klikken, kunt u het plaatje zien en bovendien de url ervan achterhalen (zie figuur 11.2). TIP: Handig is het om de plaatjes, nodig voor een of meer toets items, eerst te uploaden en in te delen in passende folders (mappen),want eenmaal bezig in de Question Repository is het handig als de plaatjes alvast beschikbaar zijn. TIP: De plaatjes die eenmaal op deze plek staan, kunnen niet meer van naam veranderd worden. Ook de mappen kunnen niet meer van naam veranderd worden. TIP: Wilt u de plaatjes allemaal hiervandaan downloaden en naar een andere plaats verhuizen, dan kan dat met Course Modules. Zie paragraaf 4.4 in de Handleiding Maple T.A.. Klikken op het pictogram achter een van de plaatjes (View this file) in figuur 11.1, geeft het scherm van figuur 11.2.
47
Figuur 11.2 url van een plaatje op de website van de Class Kopieer eventueel de url (figuur 11.2) van dit plaatje naar een NotePad-bestand als dit nodig is voor gebruik in sommige question items. Ga nu terug naar de Question Repository. Als er een bestaand toets item wordt geopend (Group Figuren item 10 constructie 2 met dwarskrachtenlijn), kan geklikt worden op Edit en in het veld voor de tekst van de vraag kan het plaatje in het tekstveld aangeklikt worden (dubbelklikken) of op de knop voor Insert/Edit Image klikken om het plaatje aan te passen of als er nog geen plaatje was, een in te voegen. U komt dan in figuur 11.3 bij de Image Properties. Met klikken op de knop Browse Server (misschien is het nodig om de Ctrl-knop ingedrukt te houden bij het klikken op Browse Server in geval pop-ups geblokkeerd zijn) is het plaatje op de site van uw Class te zoeken in dezelfde mappenstructuur, zoals u die zelf hebt aangebracht en gevuld. Echter het is ook mogelijk om naar een plaatje te linken "ergens op het Web" als u er zeker van bent dat het daar ook altijd blijft staan. Verder is nog een en ander aan te passen, zoals een Aternative Text die te zien zal zijn met mouseover (Windows). In feite is dit niet de tekst die normaal gesproken tevoorschijn komt met mouse-over. In de broncode (klik op Source) kunt u alt= aanpassen met title = of eventueel toevoegen, zodat met mouse-over een tekst verschijnt bij het plaatje. Belangrijke TIP: Neem voor de naam van een plaatje nooit meer dan 25 karakters en geen spaties, anders is het straks niet meer mogelijk om mappen met plaatjes te exporteren. Verder is het beter al van te voren het plaatje het juiste formaat te geven, want vaak worden plaatjes bij het verschalen er niet mooier op. Zoals gezegd kunnen plaatjes later niet meer van naam veranderd worden!!!
48
Figuur 11.3 plaatjes in de tekst van de vraag In het derde tabblad van de Image Properties (Upload) (figuur 11.3), kan ter plaatse een plaatje geüpload worden, echter dan kunt u van hieruit niet bepalen in welke map het terecht komt en dat kan op den duur voor het overzicht niet erg handig zijn. Dus advies is om eerst de plaatjes te uploaden of eerst op Browse Server klikken. TIP: Wat ook mogelijk is om plaatjes te uploaden: Vanuit het eerste tabblad van het dialoogscherm van het plaatje Image Info (figuur 11.3) op Browse Server klikken. Dan komt u in het dialoogscherm van figuur 11.3a. U kiest de map waar een nieuw plaatje in moet komen en dan bladeren op uw harde schijf en het plaatje uploaden met Upload. U kunt zelfs eerst ook nog een nieuwe map maken met Create New Folder en uiteindelijk daarin een plaatje vanaf uw harde schijf uploaden. Hou goed de mappenstructuur in de gaten!
Figuur 11.3a plaatjes uploaden en indelen in de juiste map In figuur 11.3 is te zien dat in de alternatieven van de Multiple choice-vraag het niet zo makkelijk gaat met behulp van een dialoogvenster om plaatjes in te voegen. Daarvoor is het handig dat u de url's van de plaatjes alvast op een NotePad heeft staan en de html-tags eromheen zet. TIP: Voor de alternatieven van een Multiple Choice-vraag moet dus het pad (de url) waar het plaatje staat worden opgegeven in de html-code . Gemakkelijk is dan om het plaatje even tijdelijk in de tekst te zetten met behulp van de knop die daarvoor is en dan kunt u snel over de url van het plaatje beschikken zonder helemaal weer naar de Website Editor te gaan. Eventueel haalt u het plaatje daarna weer weg uit de tekst. TIP: Zorg dat de namen van de plaatjes op geen enkele manier informatie kunnen geven over het juiste antwoord van de Multiple choice-vraag. Immers de student kan met de rechtermuisknop achter de naam van het plaatje komen!! Evenzo moet dat op dezelfde manier bij vragen van het type Matching. Group Statistiek en kans: beschrijvende statistiek Histogram-staafdiagram. In de Feedback kan er weer gebruikgemaakt worden van een tekst-editor met een knopje voor het formulier Image Properties. Group Statistiek en kans: beschrijvende statistiek frequentiedichtheid. Daarin staat een plaatje in de feed back van de vraag. TIP: er kunnen dus ook plaatjes ge-upload worden naar de home page van de Class, rechtstreeks in het toets item vanuit Image Properties-scherm en dan het derde tabblad. Dat is echter niet aan te raden, want dan heeft u niet de controle over de plek waar het plaatje wordt opgeslagen op de website van uw Class. Wat wél kan is vanuit Image Properies-scherm in het tabblad Image Info, klikken op Browse Server, waarna u in figuur 11.3a komt en dan kunt u plaatjes uploaden en in de juiste map indelen en eventueel nog nieuwe mappen bijmaken met Create New Folder. Echter, als u bijna nooit plaatjes gebruikt, alleen een enkele keer, dan zet u de plaatjes gewoon in één folder op de website van de Class.
TIP: zorg dat het plaatje al opgeslagen is in de juiste afmetingen, zodat herschalen later niet meer nodig is. Door het plaatje achteraf te verschalen, gaat de kwaliteit achteruit. Een gif-bestand (of jpg) is eigenlijk het beste. Vergelijk de plaatjes in de items Krachten (item 14) en Krachten(a) (item 20) in Group Figuren waarbij in het tweede geval het plaatje verschaald is en het eerste plaatje de oorspronkelijke afmetingen heeft.
49
TIP: Mocht het zo zijn dat u in een vraag de code moet intikken, zoals bij de alternatieven van de Multiple-Choice-vraag of bij Matching-vragen of bij vraagtype Fill in the blanks of ergens anders, dan kan er toch zo nodig verschaling toegepast worden op de volgende manier (eventueel met html-tags voor centreren van het plaatje): Zie ook bij Group Figuren bij item snaar(1) waar het plaatje verschaald is. (In de broncode (Source) is eventueel de html-code te kopiëren). TIP: plaatjes kunnen ook in de tekstregel opgenomen worden en niet gecentreerd als het om hele kleine plaatjes gaat. Met Align, krijgt u het plaatje min of meer waar u het hebben wilt. Het derde item van Group Figuren (parabool met top en punt) een plaatje van een schrijvende hand en nog bij Group Algebra bij item vergelijkingen log(1) met een plaatje van een rekenmachine.
Figuur 11.3b plaatjes uitlijnen TIP: als u van iemand anders die op dezelfde server werkt een Question Bank krijgt waarin plaatjes zitten (dus geen Course Module), blijft de verwijzing naar de plaatjes dezelfde. Dit gaat altijd goed ook al zitten deze plaatjes fysiek in een andere Class op dezelfde server. Binnendoor wordt gelinkt naar de goede plek. Als u een Question Group naar een Class op een andere server verhuist, gaat het ook nog goed, als het tenminste geen plaatjes zijn die bij het vraagtype Clickable Image (hoofdstuk 23) horen of bij het vraagtype met een Labeled Image (paragraaf 11.3). Daar ligt het iets gevoeliger dat de plaatjes in de toetsvragen van een Class ook in de bijbehorende Class op de Website Editor staan, maar vanaf versie 5 is dat ook geen probleem meer. Verwijzingen gaan als het ware "binnendoor" en u hoeft niet beslist rechten te hebben in een andere Class om te kunnen verwijzen naar een afbeelding die in een andere Class staat. Handig is het als u bij een Question Group die u van iemand krijgt ook de plaatjes erbij krijgt. Dat kan met behulp van een Course Module (zie Handleiding MapleTA paragraaf 4.4).
TIP: er kan ook verwezen worden naar een willekeurige plek ergens op Internet waar een plaatje of een ander bestand (filmpje of applet) zich bevindt. Zorg dan wel dat u dan zeker weet dat dit een blijvende link is en in geval van applet of filmpjes. Kies in het geval van filmpjes en dergelijke voor een nieuw venster met behulp van het tweede tabblad van Image Properties (Link). (Zie ook paragraaf 10.5.9.) TIP: als u een speciale Question Group heeft over een bepaald onderwerp, maak er dan ook een bijbehorende folder bij met plaatjes die bij deze Question Group hoort. Handig is het dan om bij verplaatsing naar een andere Class de Course Module (zie Handleiding Maple T.A. paragraaf 4.4) in één keer te verhuizen. Vooral als er van Labeled Image (zie paragraaf 11.3) en Clickable Image gebruikgemaakt wordt. Dan moeten de plaatjes inderdaad liefst wel bij de Question Repository horen in dezelfde Class.
50
11.2 Dynamische figuren met Maple Als er vragen met randomvariabelen zijn, is het natuurlijk heel mooi om de plaatjes bij de tekst met bijbehorende variabelen aan te passen. Als dit soort plaatjes met Maple te maken zijn, is dit een goede manier om steeds de figuur aan te passen aan de waarden van de randomvariabelen. Voorbeelden daarvan zijn: Group Figuren item 1: Meetkunde 1 Group Figuren item 7: radialen Group Figuren item 13: kracht ontbinden Group Figuren item 21 en 22: matching - cylometrische functies 2 en 3. Group Matching item 2: gebroken functies. Group Statistiek en kans item 11: algemeen 1, (dynamische figuur in de feedback). Het is gemakkelijk om in de rubriek Algorithm een grafiek als variabele te definiëren waarbij gerefereerd wordt aan reeds gedefinieerde variabelen. Dit kan bij ELK vraagtype!! Als u deze aldus gedefinieerde variabele gebruikt in het tekstveld voor de vraag, dan verwijst deze variabele naar de grafiek en verschijnt de grafiek in de uiteindelijke vraag op het scherm. Deze variabele kan net zo goed gebruikt worden in de Feedback als ook in de Hints of in alternatieven van Multiple choice-vragen. Zo wordt in de volgende regel de grafiek van de functie f gedefinieerd terwijl de functie f een variabele is $f, die steeds kan veranderen. De grafiek die ook in de rubriek Algorithm is gedefinieerd als variabele, verandert op deze manier automatisch mee. $grafiekf=plotmaple(" plot($f, x=-4..4,thickness=2), plotoptions='height=250, width=250' "); De variabele $grafiekf kan overal gebruikt worden, in alternatieven van Multiple choice-vragen, in Feedback, in de tekst van de vraag en ook bij Hints. Met het commando plotoptions binnen plotmaple(" .... ") kan nog de grootte van het plaatje aangepast worden.
TIP: als er meer statements in Maple-commando achterelkaar worden gebruikt, is het handig om dan dubbele punt in plaats van puntkomma te tikken! Het is niet noodzakelijk om achter het laatste commando een puntkomma te tikken. Zie bij Group Figuren vraag 8 meetkunde 2 $figuur=plotmaple("with(plots): r:=$r: polarplot([r,t,t=0..2*Pi],thickness=2),plotoptions='height=250, width=250' "); TIP: een grafiek die met Maple gemaakt is, kan dus het beste in de rubriek Algoritm voorgeprogrammeerd worden. Ga daarvoor bijvoorbeeld naar de items 1 (meetkunde 1 ) of 7 van Group Figuren. Daarin staat de figuur geprogrammeerd met behulp van genestte commando's, maar dat nesten is niet beslist noodzakelijk. In Group Figuren, item 13, kracht ontbinden is bijvoorbeeld niet gebruikgemaakt van het netsten van commando's. Let er dan wel op dat commando's tussentijds afgesloten worden met dubbele punt. TIP: binnen de rubriek Algorithm kunt u klikken op "Show Designer" (zie ook paragraaf 7.1 Gebruik van de Designer) en daarin (in de derde regel) een plotcommando invoeren als u als variabele een plot kiest. Geef een naam aan de plot en gebruik achtereenvolgens de commando's voor de grafiek en steeds afsluiten met een dubbele punt (achter het laatste commando mag het afsluitteken wel weggelaten worden eventueel). (Vergeet niet op "OK" te klikken ter bevestiging.) In de code komt dan de volgende structuur te staan: $plaatje=plotmaple(" plot(sin(x), x=-Pi..Pi) "); TIP: bij het maken van Maple-grafieken moeten de strings voor titel, labels en dergelijke niet met dubbele quotes maar met backquotes gemaakt worden! Dat is anders dan bij Maple zelf waar strings met dubbele quotes worden aangemerkt. $plaatje=plotmaple(" plot(sin(x), x=-Pi..Pi,title=`voorbeeld`,labels =[`x-as`,`y-as`]) "); TIP: als de grootte van het plaatje nog beïnvloed moet worden, dan kan dat met een extra optie buiten het plotcommando: $plaatje=plotmaple(" plot(sin(x), x=-Pi..Pi), plotoptions='height=250, width=250' "); De extra optie (plotoptions='....') ten behoeve van de grootte van het plaatje, kan NIET in de Designer maar wel in de CODE geprogrammeerd worden.
51
Figuur 11.4 plaatjes programmeren met Maple TIP: binnen plotmaple("....."), kunnen ook meerdere grafieken in één figuur gemaakt worden. Voorbeeld daarvan in Group Diversen, item 7 grafiek1. Let er dan even op dat de verschillende grafieken op verschillende manieren te herkennen zijn: kleur én linestyle. TIP: binnen plotmaple("....."), kunnen ook meer opdrachten achter elkaar geprogrammeerd worden. Geef dan wel steeds een dubbele punt tussen de opdrachten in plaats van een puntkomma. Een voorbeeld daarvan in Group 8 Figuren, item 8 meetkunde 2 $figuur=plotmaple("with(plots): r:=$r: polarplot([r,t,t=0..2*Pi],thickness=2),plotoptions='height=250, width=250' "); TIP: Er is echter ook een manier om in een situatieschets de getallen aan te passen met behulp van de randomvariabelen. Zie hiervoor bij paragraaf 11.3 Dynamische plaatjes TIP:
11.3 Dynamische plaatjes (Labeled Images) Het is mogelijk om dynamische plaatjes te maken met een soort applet. Het wil zeggen dat je bijvoorbeeld een plaatje neemt van een situatieschets waarin de getallen steeds moeten veranderen. Voorbeelden zien we bij Group Figuren items 15, 16, 17, 18 en 19 bij Balkreactie en Steenworp. U moet dan eerst een plaatje hebben zonder getallen zoals in figuur 11.4 een plaatje van een balk met krachten en eenheden.
Figuur 11.4a Balkreactie zonder getallen
52
Figuur 11.4b Balkreactie met getallen Dit plaatje moet lokaal worden opgeslagen, dat wil zeggen in dezelfde Class als waarin de Question Bank ook werkt. Het is dus iets om rekening mee te houden als de Question Group waarin dergelijke items voorkomen, om die samen met de plaatjes in een Course Module ( zie Handleiding MapleTA paragraaf 4.4) te plaatsen en dus in zijn geheel te verplaatsen. De getallen worden er vervolgens met behulp van een "applet" als het ware overheen gelegd doormiddel van het bepalen van de coördinaten waar de getallen moeten staan. De getallen in het plaatje zijn de variabelen die je vooraf definieert. Het volgende script (van figuur 11.5 van de steenworp) kan ingevoegd worden direct in de broncode. Eronder staat de toelichting over dit script.
Figuur 11.5 Steenworp zonder getallen Een "leeg" plaatje (steenworp.gif) waaroverheen de volgende applet werkt.
Toelichting: Begin met het centreren met Vervolgens is