Project VISNUE-TWEE
Het zelftestsysteem
S. Van de Laer, A. Bultheel
19 november 2002;
Revisie 4 September 2003
http://nalag.cs.kuleuven.be/research/ALpubs/AL18.abs.shtml
Samenvatting:
We geven een technische beschrijving van het zelftestsysteem,
ontwikkeld in het project VISNUE-TWEE. Het genereert random testen
die feedback naar de gebruiker toelaat. Er zijn 5 verschillende
vraagtypes mogelijk.
Het belangrijkste element is dat de informatie over het gebruik
van het systeem door de student bijgehouden wordt. Het is de
bedoeling om in een doctoraatsonderzoek de effecten van een
dergelijk systeem te onderzoeken, waarvoor de opgeslagen
informatie essentieel is.
De interface naar de docent en de manager van het systeem is
bewust primitief gehouden omdat het niet de belangrijkste
bedoeling van het systeem is om het zelftestsysteem te
ontwikkelen, maar wel om de nodige informatie te verzamelen voor
het didactisch onderzoek.
Het zelftestsysteem bestaat uit een verzameling vragen, ingedeeld
volgens onderwerp en moeilijkheidsgraad, waaruit de student een
toets kan vragen. De student moet hierbij aangeven hoeveel vragen
hij/zij wenst, van welke moeilijkheidsgraad (-graden) en over welk
onderwerp. A.h.v. deze informatie worden een aantal vragen
willekeurig gekozen. Voor sommige vragen kan de student een hint
vragen. Na het oplossen van de vragen krijgt hij/zij dan
terugkoppeling, minimaal in de vorm van een score, het gegeven
antwoord en het juiste antwoord. Deze feedback kan uitgebreid
worden met een vraagspecifieke terugkoppeling naar aanleiding van
veel gemaakte fouten (ook bv. fouten tijdens oefenzittingen of bij
taken) of verwachte problemen die bij het opstellen van
de vraag reeds geïdentificeerd werden.
Het zelftestsysteem is te vinden via de website van numerieke wiskunde of
rechtstreeks a.h.v. volgende URL:
http://nalag.cs.kuleuven.be/questnumir/
Het zelftestsysteem moet de student toelaten om na te gaan hoever hij/zij al
staat met het verwerken van de leerstof.
A.h.v. de feedback kan de student zich ook plaatsen in de groep medestudenten.
Bovendien is deze zelfevaluatie ook een leermoment.
Via hints en feedback wordt de student op weg geholpen naar het vinden van het
juiste antwoord en kan hij/zij dus ook leren om gelijkaardige vragen
zelfstandig op te lossen.
Het zelftestsysteem kadert in het idee van begeleide zelfstudie; studenten
worden op weg geholpen om zelfstandig na te gaan of ze de leerstof begrijpen
en leren hierdoor ook hun leerproces bewaken en bijsturen
(metacognitief niveau).
Bovendien heeft dit systeem als voordeel dat het weinig arbeidsintensief is
in vergelijking met oefensessies waarbij studenten vragen krijgen die achteraf
besproken worden, omdat de student zelfstandig kan werken en feedback krijgt,
en dus enkel bij problemen zal (of kan) terugvallen op het didactisch team.
Om studenten te demotiveren om alle vragen met hun oplossing gewoon af te
drukken i.p.v. de test op te lossen, wordt het aantal vragen beperkt tot 10
per toets. Studenten kunnen zoveel toetsen vragen als ze wensen, maar door
het willekeurig selecteren van vragen wordt afdrukken (met meermaals dezelfde
vragen) veel minder interessant. Hierdoor blijft de test een
leermoment/controlemoment voor de student.
Met het vroegere zelftestsysteem (uit het VISNUE project, zie @L141,
werd te weinig informatie bewaard om het systeem (didactisch) te kunnen
evalueren. Aanpassen van dit systeem was mogelijk maar tijdsintensief.
Daarom is het systeem herschreven naar zijn huidige vorm.
In het nieuwe systeem wordt voor elk gebruik bijgehouden welke vragen gekozen
zijn, wat de antwoorden waren, of er hints gevraagd werden, de duur van de
sessie (opgesplitst in duur van het invullen en duur van het doornemen van
de feedback), het gewenste aantal vragen (niet steeds gelijk aan het aantal
vragen in de test), de gekozen onderwerpen en moeilijkheidsgraden, en indien
de student dit ingevuld heeft, ook het mnummer van de student.
Net zoals voorheen wordt ook voor elke vraag het totale aantal voorkomens in
de test bewaard en de totale score op deze vraag, evenals de hoogste en laagste
score.
Nieuw is dat ook de totale score met weglating van open antwoorden wordt
bijgehouden en het aantal keren dat een vraag onbeantwoord is gebleven.
Dit laatste om toe te laten dat studenten een realistisch gemiddelde krijgen
wanneer anderen de vragen enkel bekijken en niet oplossen.
Gezien de wiskundige aard van de vragen die dikwijls wiskundige
formules bevatten hebben we geopteerd om de vragen en de metainformatie
(antwoord, hint, quotering, feedback, soort vraag)
in te voeren via een soort LATEX-achtig formaat.
Deze informatie wordt gestockeerd in een datbestand.
Dit bestand kan enerzijds gebruikt worden om een via aangepaste
LATEX-definities te verwerken met LATEX om ten behoeve van de docent
een dvibestand te genereren met het overzicht van
sommige of van alle vragen (zie verder bij all.tex).
Anderzijds wordt dit bestand ook gebruikt om via LATEX2html om te zetten
in een htmlbestand dat dan kan gebruikt worden om in een webtest te
worden ingelast.
We hebben voor LATEX2html gekozen en niet voor een product als techexplorer
omdat dit de installatie vergt van deze plug-in.
Bovendien kunnen er bij elke nieuwe versie van de browser problemen ontstaan
omdat de plug-in niet meer werkt. Zoals het systeem nu werkt
kan de student met elke elementaire browser de test afleggen.
Het systeem heeft 3 soorten gebruikers
- de student
- de docent
- de manager
De student heeft een on-line handleiding beschikbaar in de map handl
(zie verder).
Er kunnen per sessie slechts 10 vragen geselecteerd worden.
De docent heeft dezelfde mogelijkheden als de student, maar hij kan eventueel
alle vragen bekijken, daar waar de student beperkt blijft tot 10 vragen per
sessie. Hij zal dit doen in een (sub)map docent (zie verder).
Ook voor het aanmaken van nieuwe vragen zal de docent moeten rekening houden
met de verschillende vormen waarin vragen kunnen gesteld worden en de
verschillende feedback die daarvoor mogelijk is (zie verder).
Deze handleiding is geschreven als een technische handleiding voor de manager
die het systeem moet installeren en onderhouden.
Het hele systeem vereist een aantal perlscripts (plbestanden) die de nodige
omzettingen en het onderhoud van de vragen in het systeem zullen organiseren.
Deze staan ter beschikking van de docent of manager van het systeem.
Er zijn ook een aantal htmlbestanden die voor de interface met de student
zorgen.
Een aantal incbestanden worden gebruikt om de informatie in te bewaren
die gebruikt wordt om de gepaste htmlpagina te genereren voor de test.
De phpbestanden doen de eigenlijke verwerking waarbij dynamisch
gegevens worden gegenereerd of opgeslagen.
Het algoritme voor de installatie is als volgt:
- Pak het bestand zelftest.zip uit
- Maak een hoofdmap, docentmap en logmap aan indien gewenst
- Maak het bestand perlinvoer.cfg aan in de hoofdmap.
- Maak een aantal bestanden aan (Q<nr>.dat bestanden en ondlijst.cfg)
- Voer het perlscript MakeAll.pl uit in de hoofdmap (let op: de hoofdmap moet bereikt zijn via een pad dat algemeen gekend is. Dus doe eerst ``cd <pad>'' waarbij <pad> iets van de volgende vorm mag zijn, bv.
wel |
/home/<gebruiker>/intern_html/hoofdmap |
maar niet |
/export/home1/<gebruiker>/intern_html/hoofdmap |
en wel |
/cw/wwwserver/extern/users/<gebruiker>/public_html/hoofdmap |
maar niet |
/home/<gebruiker>/public_html |
of wel |
/cw/wwwserver/extern/public_html/cwis/research/<onderzoeksgroep>/hoofdmap |
maar niet |
/cw/wwwserver/extern/research-groups/<onderzoeksgroep>/hoofdmap. |
Het opgegeven pad mag namelijk geen symbolische links bevatten
en public_html in de de thuismap van de gebruiker is een symbolische link,
evenals <onderzoeksgroep> in de map research-groups.)
Het systeem is dan klaar voor gebruik.
Het bestand zelftest.zip moet uitgepakt worden om de benodigde bestanden
te verkrijgen. Laten we de bij het uitpakken aangemaakte map de
zipmap noemen.
In deze zipmap kunnen we volgende bestanden terugvinden:
- defs.tex bevat enkele tex definities.
Dit wordt geïmporteerd in het texbestand dat voor iedere vraag wordt
aangemaakt, uitgaande van een datbestand. Dit texbestand van de vraag
wordt via LATEX2html naar een htmlbestand omgezet.
Men kan dus eigen definities toevoegen die nuttig zijn voor alle vragen.
- pre.tex is een bestand met definities analoog aan defs.tex.
Dit wordt geïmporteerd in het texbestand dat een lijst maakt van
alle vragen, uitgaande van de texbestanden voor al deze vragen.
In pre.tex wordt defs.tex ingevoegd. Zie verder.
- MakeAll.pl is een perlscript om het systeem te initialiseren of om
een update te doen; het verwijdert ook alle bestanden die na uitvoering van
het script overbodig zijn geworden.
- kopieeruitmapbeplog.pl: kopieert de gegeven logbestanden uit de
vraaglogmap naar de hoofdmap; ideaal voor het aanpassen van 1 enkele vraag
terwijl het systeem nog in werking is:
perl kopieeruitmapbeplog.pl Q<nr1> ...Q<nrN>.
Dit scriptje kan gebruikt worden telkens een bestaande vraag opnieuw verwerkt wordt of indien vraaglogbestanden gearchiveerd worden voor latere analyse (toevoegen van een vraag resulteert in een nieuw logbestand, verwerken van een vraag met een nummer waarvoor reeds een vraaglog bestaat, resulteert in herschrijven van de vraaglog (met overal nullen) en verwijderen van een vraag verwijdert ook de vraaglog).
- kopieeruitmapbepdat.pl: kopieert de gegeven datbestanden uit hun
respectievelijke mappen naar de hoofdmap; ideaal voor het aanpassen van
vragen of voor het nemen van een reservekopie van de bestaande vragen.
- zetinmaplog.pl: zet alle logbestanden voor de vragen terug in de vraaglogmap (nuttig na kopieeruitmapbeplog.pl)
- verwmap.pl: een perlscriptje om alle vraaggegevens te wissen
(nuttig bij gedeeltelijke herinitialisatie van het systeem, bv. enkel de
vragen allemaal vervangen; kan ook na kopieeruitmapbepdat.pl om alle
vragen opnieuw te genereren).
- maakvraagstat.pl: maakt een overzicht van alle vraaggegevens (hoogste score, laagste score, ...)
- maakipstat.pl: maakt een overzicht van alle IP-nummers van de deelnemers aan de test (aantal IP-nummers per categorie, zijnde kotnet, PC-klas of anders).
- statzts.pl: maakt statistieken aan voor de gegevens verzameld over de studenten, zowel per sessie en per student als globaal.
- verwijder.pl: het geschikte scriptje om een vraag te verwijderen uit het systeem; hierbij worden alle configuratiebestanden in het systeem correct aangepast zodat het zelftestsysteem correct kan blijven werken.
- bevestig.htm is een bestand waarin de student gevraagd wordt te
bevestigen dat hij/zij de vraag anoniem wil afleggen indien de student zich
nog niet geïdentificeerd heeft.
- onderz.htm geeft een korte uitleg over het onderzoek dat met deze
zelftest wordt uitgevoerd
- mnr.htm geeft een korte uitleg over hoe een student zijn eigen
mnummer kan kennen.
- instructies.htm is een bestand met uitleg over hoe het systeem werkt
- formulier.html een formulier waarmee de student een berichtje kan
sturen naar de manager van het systeem indien de mogelijkheid tot reacties
gewenst is.
- werken.html is een pagina die getoond kan worden indien er grote onderhoudswerken zijn aan het systeem waardoor het tijdelijk uit gebruik is gehaald.
- index.php is de code die als ingang voor het systeem dient voor de
student
- vragen.php is de code die de vragen van de test genereert
- controle.php is de code om te controleren of de vragen correct
beantwoord werden en om een pagina met terugkoppeling voor de student te
genereren.
- eindetest.php is de code om een test af te sluiten en de duur van het
bekijken van de controle op te slaan.
- maaktex.sh een shellscriptje om een LATEXbestand all.tex met alle vragen erin aan te maken.
Een submap vraaglogs die voor http schrijfbaar moeten zijn en leesbaar voor degene die de statistieken zal verwerken.
De veiligste manier om dit te realiseren is dat http eigenaar wordt
en dat een groep gemaakt wordt waarin http en al wie toegang moet krijgen
worden ondergebracht met lees en schrijfrecht.
Een koppeling aan een gegevensbank zou een meer ideale oplossing zijn.
In deze map komen gegevens omtrent het invullen van vragen.
Deze map is initieel leeg en kan met de juiste instellingen gekopieerd
worden naar een eventueel aan te maken map voor logging.
Een submap statistieken die de .html versie van de statistieken bevat na het aanmaken van de statistieken (tenzij anders geconfigureerd, zie verder).
Een submap statproginv die de .dat versie van de statistieken bevat na het aanmaken van de statistieken (tenzij anders geconfigureerd, zie verder).
Verder 2 submappen mnumcfg en mnumsessies
die voor http schrijfbaar moeten zijn en leesbaar voor degene die de
statistieken zal verwerken.
Hierin zullen namelijk logbestanden bewaard worden voor de studenten.
De mappen zijn leeg bij het opstarten, maar ze zijn handig indien men ze wil kopiëren met de juiste instellingen naar een eventueel aan te maken map voor logging.
Alle mappen die voor http schrijfbaar moeten zijn, dienen ook te staan op een machine waar http quota heeft.
Verder vinden we nog enkele voorbeeldbestanden
in de submap configinfo:
- ondlijst.cfg is een voorbeeldbestand met de onderwerpen van de
vragen.
- perlinvoer.cfg is het voorbeeldbestand voor de nodige instellingen
van het systeem; het wordt gebruikt in MakeAll.pl om alle paden correct in
te stellen en de juiste hulpbestanden voor de php te genereren.
In de submap handl: In deze map wordt een handleiding van het systeem
bewaard; dit is de gebruiksaanwijzing voor de student.
- handleiding.html
- handleiding.tex
In de submap readme:
- readme.tex: Dit bestand is niet essentieel voor de goede werking
van het systeem; het bevat deze uitleg.
- readme.pdf: Dezelfde uitleg als dit bestand, maar nu in PDF-formaat.
- readme.html: Deze uitleg in html-formaat.
In de submap docent:
- index.php de hoofdpagina voor de docent, waar hij een aantal vragen,
een onderwerp en een moeilijkheidsgraad kan kiezen.
- vragendoc.php genereert de ``test'' voor de docent.
- controledoc.php genereert de pagina met feedback (docentversie).
In de submap vbvragen:
- Q000001.dat: voorbeeld van een enkelvoudige selectievraag.
- Q000002.dat: voorbeeld van een meervoudige selectievraag.
- Q000003.dat: voorbeeld van een getalvraag.
- Q000004.dat: voorbeeld van een woordvraag.
- Q000005.dat: voorbeeld van een invulvraag met woorden.
- Q000006.dat: voorbeeld van een invulvraag met getallen.
De map waarin men de belangrijkste bestanden van het werkende systeem wil
installeren noemen we de hoofdmap. De eenvoudigste manier om de hoofdmap
aan te maken is de zipmap naar de hoofdmap kopiëren.
Anders moet men een hoofdmap aanmaken en een minimum aan bestanden uit de
zipmap kopiëren en aanpassen. De uitleg volgt in de volgende puntjes.
De docentmap is een map waar de docent alle informatie kan bekijken.
De operaties in deze map uitgevoerd worden niet gelogd.
Het kan een deelmap van de hoofdmap zijn.
Om veiligheidsredenen zou men deze map bijvoorbeeld op een andere,
voor de studenten niet bereikbare, plaats kunnen zetten.
Het moet wel een map zijn die door de webserver bediend wordt.
Men kan deze aanmaken en in deze map een submap docent (door
MakeAll.pl laten) plaatsen die een kopie is van de submap docent
in de zipmap.
De logmap is een map waarin de loginformatie en de statistieken
bewaard worden van de verschillende sessie die de studenten met het
zelftestsysteem uitvoeren. Die kan ook op om het even welke plaats staan.
De mappen mnumcfg en mnumsessies (voor gegevensregistratie van studenten) worden automatisch voorzien als er registratie van studentengegevens moet gebeuren en indien aan 1 van onderstaande voorwaarden voldaan is.
De map vraaglogs (voor gegevensregistratie van de vragen) wordt automatisch voorzien als er aan registratie van vraaggegevens wordt gedaan en indien aan 1 van onderstaande voorwaarden voldaan is.
De mappen statistieken en statproginv (voor het aanmaken van statistieken) worden automatisch voorzien indien er gegevensregistratie van welke aard dan ook en aan 1 van onderstaande voorwaarden is voldaan.
Voorwaarden voor aanmaken van de gepaste mappen in de logmap:
- Deze mappen bevingen zich reeds in de logmap: er gebeurt niets tijdens
de uitvoering van MakeAll.pl.
- Deze mappen bevinden zich nog niet in de logmap maar de logmap bestaat;
genoemde mappen staan wel in de hoofdmap van het zelftestsysteem:
deze mappen worden uit de hoofdmap verplaatst door MakeAll.pl indien de
toegangrechten het toelaten, anders wordt er een poging gedaan de mappen aan
te maken op de juiste plaats.
- Deze mappen bevinden zich nog niet in de logmap maar de logmap bestaat;
genoemde mappen staan niet in de hoofdmap van het zelftestsysteem:
deze mappen worden aangemaakt door MakeAll.pl op de juiste plaats.
In alle andere gevallen stopt de uitvoering van MakeAll.pl met een
foutmelding.
Indien er niet gelogd wordt, is de logmap (en alle submappen) overbodig. (Er kunnen dan immers ook geen statistieken worden gemaakt).
Voor het aanmaken van de hoofdmap zal men de volgende puntjes moeten uitvoeren.
Kopieer de bestanden MakeAll.pl, bevestig.htm, onderz.htm,
mnr.htm, instructies.htm, index.php, formulier.html, vragen.php, controle.php, eindetest.php, pre.tex, defs.tex uit de zipmap naar de hoofdmap.
Kopieer de submap handl van de zipmap in de hoofdmap.
Als men ook statistieken wil, moeten ook de bestanden maakvraagstat.pl, maakipstat.pl en statzts.pl gekopieerd worden.
In de hoofdmap:
- ondlijst.cfg is een bestand met de onderwerpen van de vragen;
u vindt een voorbeeldje in de submap configinfo van de zipmap.
- perlinvoer.cfg is een bestand dat de instellingen van het
zelftestsysteem regelt; u vindt een voorbeeldje in de submap configinfo
van de zipmap. Voor de instellingen zie onder.
- Q<nr>.dat een aantal bestanden waarin een beschrijving van een vraag
en alle ingrediënten van die vraag (zie verder voor het formaat).
- formulier.html een formulier waarmee de student een reactie
kan versturen.
Voor elke instelling staat een commentaarregel die aangeeft over welke instelling het gaat. Deze commentaarregels moeten behouden blijven.
Elke instelling staat op een aparte regel; eventuele emailadressen staan ook elk op een nieuwe lijn.
Het betreft (in deze volgorde) de volgende instellingen:
- het cijfer 0 of 1 om aan te geven of het configuratiebestand gewijzigd is; dit cijfer wordt aangepast na uitvoering van MakeAll.pl en moet dus telkens op 1 gezet worden wanneer men iets wijzigt verderop.
Als het systeem de eerste keer geïnitialiseerd wordt moet dit op 1 staan.
- de URL van de hoofdmap van het zelftestsysteem
- de URL van de docentmap van het zelftestsysteem.
- absoluut pad van de docentmap van het systeem (geen URL).
Gebruik hier ook geen paden met symbolische links!
- het cijfer 0 of 1 om aan te geven of er een formularium is; 0 is geen formularium, 1 anders
- de URL van het formularium indien aanwezig, anders een lege regel
- het cijfer 0 of 1 om aan te geven of er een reactieformulier gewenst is; 0 is geen reactieformulier, 1 anders.
- een lijst met emailadressen van de mensen die de reacties moeten ontvangen; elk emailadres begint op een nieuwe regel.
- het domein van het reactieformulier.
- het cijfer 1 als men de gegevens van studenten wil registreren (per student), 0 anders
- het cijfer 1 als men de gegevens van vragen wil registreren (hoeveel keer in een test voorgekomen, hoeveel keer niet beantwoord geworden, hoogste score, laagste score en totaalscore), 0 anders.
- een cijfer om aan te duiden welke soorten statistieken er achteraf gewenst zijn:
- geen enkele (0),
- statistieken in ``tabelformaat'' die ingelezen kunnen worden in een spreadsheet of statistiekprogramma (1),
- statistieken in html-formaat om via een bladerprogramma te bekijken (2) of
- beide (3).
- het pad van de logmap waarin de nodige mappen (mnumcfg, mnumsessies, vraaglogs), statistieken en statproginv terug te vinden zijn indien er registratie is, een lege regel anders
Standaard worden beide soorten statistieken aangemaakt.
Indien geen studentengegevens geregistreerd worden, kan men het cijfer 0 invullen of 1, 2 of 3 laten staan. Een lege regel is niet toegelaten omdat bij het inlezen eventuele lege regels overgeslagen worden.
Voer MakeAll.pl uit (perl MakeAll.pl).
(Let op: de hoofdmap moet bereikt zijn via een pad dat algemeen gekend is
en zonder symbolische links - zie hoger!)
Voor elke vraag wordt nu een aparte map aangemaakt met de naam van de vraag
zonder de extensie .dat (een map Q<nr> dus).
In deze map worden alle bestanden nodig voor deze vraag geplaatst en ook het
originele bestand Q<nr>.dat.
Tijdens de eerste uitvoering van MakeAll.pl zullen volgende bestanden
worden aangemaakt:
- aantalvr.cfg (een bestand dat het totale aantal vragen in het
systeem bevat).
- mlhgraden.cfg (een bestand dat voor elke moeilijkheidsgraad bijhoudt
hoeveel vragen er zijn).
- onderwerpen.cfg (een bestand dat per onderwerp bijhoudt hoeveel
vragen er zijn).
- vragenlijst.cfg (een bestand dat voor elke vraag het onderwerp en de
moeilijkheidsgraad bijhoudt, gestructureerd op zodanige wijze dat het
gemakkelijk is om alle vragen over een zeker onderwerp en met een bepaalde
moeilijkheidsgraad te zoeken).
- config.inc is een configuratiebestand nodig voor het bijhouden van de juiste paden voor de php; hiervan wordt ook een kopie geplaatst in de map docent
- footer.inc: een stukje code dat aan het eind van de pagina's wordt ingevoegd, waarin aangegeven wordt wanneer de laatste wijzigingen werden gedaan en waardoor de studenten contact op kunnen nemen met de verantwoordelijke(n) voor het zelftestsysteem, zijnde de persoon of personen die ook de reacties via het reactieformulier ontvangen.
- docent/footer.inc: dit is een kopie van footer.inc in de hoofdmap
- knoppen.inc is een stukje code om de nodige knoppen op de testpagina te genereren
- vragenurl.inc is een bestandje waarin de url van de hoofdmap bewaard wordt; hiervan wordt ook een kopie geplaatst in de map docent.
- logs.inc is een stukje php-code (nodig in vragen.php) om alle gegevens over de selecties van een student op te slaan.
- logs2a.inc is een stukje php-code nodig in controle.php) om de antwoordinformatie van een student voor een bepaalde vraag op te slaan (vraaglogs).
- logs2b.inc (nodig in controle.php) toont voor elke vraag gegevens die betrekking hebben op de antwoordinformatie voor de vraag (maar van alle studenten samen).
- logs2c.inc (nodig in controle.php) toont voor de hele test gegevens die betrekking hebben op de antwoordinformatie voor de vragen in de test (maar van alle studenten samen).
- logs2d.inc is een stukje code (nodig in controle.php) om de gegevens van de individuele student op te slaan.
- logs3.inc is een stukje code (nodig in eindetest.php)dat de laatste gegevens van de individuele student opslaat.
De bestanden met extensie .cfg mogen in geen geval verwijderd of manueel
aangepast worden zolang het systeem werkzaam is (met uitzondering van
ondlijst.cfg, zie verder, en perlinvoer.cfg, zie hoger).
Daarom dient het verwijderen van vragen te gebeuren door gebruikmaking van
het perlscriptje verwijder.pl (zie verder).
De student kan nu de test opvragen door naar de hoofdmap van het systeem
te surfen. Hij maakt de gepaste keuze wat betreft aantal vragen, onderwerpen, en
moeilijkheidsgraad. Hij kan de antwoorden opvragen en krijgt daarbij de nodige feedback. Zijn activiteit wordt geregistreerd voor latere verwerking.
Voor de docent is de mogelijkheid voorzien om alle vragen te bekijken met de opmaak zoals een student deze zou zien. Hiervoor zijn een aantal bestanden nodig, in een map docent die in de hoofdmap van het zelftestsysteem geplaatst wordt:
Vanzelfsprekend wordt het gebruik van de docent niet geregistreerd, zodat de
docent geen scores (gemiddelde, hoogste, laagste,...) aanpast door zijn
vragen te testen. Bovendien worden de vragen niet in willekeurige volgorde
getoond, maar komen vragen in dezelfde volgorde als hun nummers (hogere
vraagnummers komen na lagere).
Een docent kan alle vragen (eventueel per onderwerp en/of per moeilijkheidsgraad)
opvragen door ``0'' vragen in te vullen. Deze keuze is gemaakt omdat in
theorie eender welk aantal vragen mogelijk is (1 tot 999999), maar een
systeem zonder vragen niet veel zin heeft. Daarom is 0 voor het aantal
vragen geschikt om aan te geven dat alle vragen gewenst zijn.
De structuur.
\question{type}
Er zijn 6 mogelijke vraagtypes, namelijk de enkelvoudige selectievraag (RBQ), de meervoudige selectievraag (MCQ), de invulvraag met woorden (FIQ), de invulvraag met getallen (NFI), de woordvraag (WQ) en de getalvraag (NQ).
\onderwerp{ondcijfer}
\diff{mlhcijfer}
\vraag
De vraagstelling.
Zie verder bij de uitleg per vraagtype.
\type
vervolg van de vraagstelling.
Zie verder bij de uitleg per vraagtype.
\antw{antwoorden}
\score{scores}
\feedback{feedbacktype}
Zie verder bij de uitleg per feedbacktype.
\hint
De hint voor deze vraag.
\qend
Feedback en hint zijn optioneel en moeten dus niet vermeld zijn.
Onderwerp.
Dit is het argument ondcijfer van de hoofding
\onderwerp{ondcijfer}
.
Onderwerpen kunnen aangepast worden naar keuze in het bestand ondlijst.cfg; de onderwerpen in het voorbeeldbestand zijn als volgt:
Cijfer 1 = deel 1, hoofdstuk 1, inleiding.
Cijfer 2 = deel 1, hoofdstuk 2, foutenanalyse.
Cijfer 3 = deel 1, hoofdstuk 3, stelsels lineaire vergelijkingen.
Cijfer 4 = deel 1, hoofdstuk 4, veelterminterpolatie.
Cijfer 5 = deel 1, hoofdstuk 5, numerieke differentiatie.
Cijfer 6 = deel 1, hoofdstuk 6, numerieke integratie.
Cijfer 7 = deel 1, hoofdstuk 7, differentiaalvergelijkingen.
Cijfer 8 = extra, splines.
Cijfer 9 = deel 2, hoofdstuk 1, inleiding.
Cijfer 10 = deel 2, hoofdstuk 2, niet-lineaire vergelijkingen.
Cijfer 11 = deel 2, hoofdstuk 3, stelsels niet-lineaire vergelijkingen.
Cijfer 12 = deel 2, hoofdstuk 4, iteratief oplossen van stelsels lineaire vergelijkingen.
Cijfer 13 = deel 2, hoofdstuk 5, veeltermvergelijkingen.
Cijfer 14 = deel 2, hoofdstuk 6, berekenen van eigenwaarden.
Cijfer 15 = deel 2, hoofdstuk 7, optimisatie van een functie in 1 veranderlijke.
Cijfer 16 = deel 2, hoofdstuk 8, optimisatie van een functie in meerdere veranderlijken.
In het bestand ondlijst.cfg
staan alle onderwerpen volgens oplopend
nummer gesorteerd, waarbij elk onderwerp op een nieuwe regel staat en het
eerste onderwerp het cijfer 1 krijgt toegewezen. Indien er aan dit bestand
een wijziging gebeurt, dienen de nodige vragen mee aangepast te worden.
Bv. hernoemen van deel 2, hoofdstuk 1, inleiding naar deel 2,
inleiding betekent dat alle vragen van deel 2, hoofdstuk 1 opnieuw
gegenereerd moeten worden.
Tussenvoegen van een onderwerp houdt in dat alle vragen van het nieuwe
onderwerp en alle vragen van onderwerpen met een hoger nummer zullen moeten
aangepast worden; analoog voor verwijderen van een onderwerp.
Achteraan toevoegen van een nieuw onderwerp brengt geen specifieke extra
vragen mee die opnieuw behandeld moeten worden.
Moeilijkheidsgraad.
Dit is het argument mlhcijfer van de hoofding
\diff{mlhcijfer}
.
Cijfer 1 voor eenvoudige vragen, cijfer 2 voor gewone vragen en 3 voor moeilijke vragen.
Bespreking van de vraagtypes.
- Enkelvoudige selectievraag (``Radio button question'', RBQ).
- De vraagstelling:
De vraagstelling bevat dat deel van de vraag dat voor de mogelijke keuzes komt.
- Type: RBQ.
Hierop volgen regels van de vorm \item
<tekst>, waarbij <tekst> een mogelijk antwoordalternatief is.
- antwoorden
Voor elk van de keuzes is er een letter T (``true'') als de keuze het correcte antwoord is of een letter F (``false'') voor een verkeerd antwoord. Deze letters T en F staan in dezelfde volgorde als de alternatieven waar ze bij horen en worden gescheiden door een ampersand &.
- scores
Voor elk van de antwoordalternatieven is er een bijhorende score. Deze is 1 voor het correcte alternatief en -1 voor alle andere keuzemogelijkheden.
Deze scores staan in dezelfde volgorde als de antwoordalternatieven en worden gescheiden door een ampersand &.
- Meervoudige selectievraag (``Multiple choice question'', MCQ).
- De vraagstelling:
De vraagstelling bevat dat deel van de vraag dat voor de mogelijke keuzes komt.
- Type: MCQ.
Hierop volgen regels van de vorm
\item
<tekst>, waarbij <tekst> een mogelijk antwoordalternatief is.
- antwoorden
Voor elk van de keuzes is er een letter T (``true'') als de keuze een correct antwoord is of een letter F (``false'') voor een verkeerd antwoord. Deze letters T en F staan in dezelfde volgorde als de alternatieven waar ze bij horen en worden gescheiden door een ampersand &.
- scores
Voor elk van de antwoordalternatieven is er een bijhorende score. Deze is 1/AJ voor het correcte alternatief en -1/AF voor alle andere keuzemogelijkheden, met AJ het aantal juiste antwoordalternatieven en AF het aantal foute antwoordmogelijkheden.
De scores staan in dezelfde volgorde als de antwoordalternatieven en worden gescheiden door een ampersand &.
- Invulvraag (``Fill in question'', FIQ).
- De vraagstelling:
De vraagstelling bevat het deel van de vraag tot voor het eerste invulvakje.
- Type: FIQ.
Hierop volgen regels van de vorm
\item
<tekst>, waarbij <tekst> het deel van de vraag na het vakje en tot voor een
eventueel volgend vakje is (dus tussen 2 opeenvolgende vakjes of tot aan het
einde van de tekst).
Waarschuwing! Antwoorden worden gecontroleerd als tekst, dus enkel een identieke getalvoorstelling zal juist gerekend worden. Hier geldt ook dezelfde opmerking als bij de woordvraag (zie verder): woorden met speciale tekens zoals het deelteken zijn geen goede keuze; indien u er toch naar vraagt, vermeld dan duidelijk of studenten deze tekens wel of niet moeten gebruiken in hun antwoord.
- antwoorden
Voor elk van de vakjes is er een woord. Deze woorden staan in dezelfde volgorde als de vakjes waar ze bij horen en worden gescheiden door een ampersand &.
- scores
Voor elk van de vakjes is er een bijhorende score. Deze is 1/AV met AV het aantal vakjes.
De scores worden gescheiden door een ampersand &.
- Numerieke invulvraag (``Numerical Fill In question'', NFI).
- De vraagstelling:
De vraagstelling bevat het deel van de vraag tot voor het eerste invulvakje.
- Type: NFI.
Hierop volgen regels van de vorm
\item
<tekst>, waarbij <tekst> het deel van de vraag na het vakje en tot voor een eventueel volgend vakje is (dus tussen 2 opeenvolgende vakjes of tot aan het einde van de tekst).
Haakjes in een antwoord worden niet verwerkt; wel wordt rekening gehouden met getallen in genormaliseerde bewegende kommavoorstelling of breuken.
- antwoorden
Voor elk van de vakjes is er een getal. Deze getallen staan in dezelfde volgorde als de vakjes waar ze bij horen en worden gescheiden door een ampersand &.
- scores
Voor elk van de vakjes is er een bijhorende score. Deze is 1/AV met AV het aantal vakjes.
De scores worden gescheiden door een ampersand &.
- Woordvraag (``Word question'', WQ).
- De vraagstelling:
De vraagstelling bevat het deel van de vraag tot voor het invulvakje.
Het invulvakje komt op het einde van de vraag.
- Type: WQ.
Op de volgende regel staat niks meer voor de vraagstelling; het antwoord is het eerstvolgende onderdeel.
- antwoorden
Er is 1 woord als antwoord. Let op: woorden met speciale tekens zoals deeltekens zijn niet mogelijk als antwoord, omdat deze niet met alle toetsenborden even eenvoudig kunnen ingevoerd worden (vele studenten zouden deze speciale tekens weglaten uit het antwoord en dan slecht scoren hoewel ze het antwoord kennen). Wilt u toch vragen naar een woord met 1 of meer van deze tekens, vermeld dan duidelijk of u verwacht dat studenten speciale tekens wel of niet moeten intikken.
- scores
Er is 1 score, nl. 1.
- Getalvraag (``Numeric question'', NQ).
- De vraagstelling:
De vraagstelling bevat het deel van de vraag tot voor het invulvakje.
Het invulvakje komt op het einde van de vraag.
- Type: NQ.
Op de volgende regel staat niks meer voor de vraagstelling; het antwoord is het eerstvolgende onderdeel.
- antwoorden
Er is 1 getal als antwoord. Daarnaast kan er een procentuele of absolute afwijking worden toegestaan (PERCENT of RELATIVE) met een bepaalde grootte (PERCENT: 1 voor een afwijking van 0,01*grootte van het getal). Deze onderdelen moeten worden gescheiden door een ampersand &.
Het formaat is dan: antwoord&soort afwijking&grootte van de afwijking
of gewoon: antwoord.
Het te antwoorden getal moet op een eenduidige wijze worden voorgesteld en de wijze van voorstellen moet ook in de vraagstelling vermeld staan.
In praktijk worden toegelaten: een getal ofwel twee getallen gescheiden door een ``/'', wat staat voor de deling van de twee getallen.
Een getal wordt voorgesteld als
[0-9]*.[0-9]e[0-9]+
waarbij [0-9]*
staat voor 0, 1 of meer keren een cijfer uit de reeks 0 tot 9 en [0-9]+
voor 1 of meer keren een cijfer uit de reeks 0 tot 9. e staat
voor de letter ``e'' of ``E''.
In deze voorstellingen mogen overal spaties tussengevoegd worden zonder effect.
- scores
Er is 1 score, nl. 1.
Bespreking van de feedbacktypes.
- Alle antwoorden dezelfde feedback (``afb'').
De hoofding is dan:
\feedback[afb]
of gewoon
feedback
.
Na deze hoofding volgt de eigenlijke feedback.
Dit type feedback kan bij alle vraagtypes gebruikt worden.
- Nooit feedback (``gfb'').
De hoofding is dan:
\feedback[gfb]
of de hoofding bestaat niet.
Na de hoofding volgt ook geen tekst (uiteraard).
Dit ``type feedback'' kan bij alle vraagtypes gebruikt worden.
- Verschillende feedback naargelang een juist of fout antwoord (``jef'').
De hoofding is dan:
\feedback[jef]
.
Na de hoofding volgt de eigenlijke tekst voor de feedback. Feedback voor het
juiste antwoord komt eerst, daarna feedback voor een foutief antwoord.
Beide feedbackopties beginnen met
item
.
Dit type feedback kan bij alle vraagtypes gebruikt worden.
- Voor elk antwoordalternatief een eigen feedback (``elk'').
De hoofding is dan:
\feedback[elk]
.
Na de hoofding volgt de eigenlijke tekst voor de feedback.
Elk van de feedbackopties begint met
item
.
Dit type feedback kan niet bij alle vraagtypes gebruikt worden.
- enkelvoudige selectievraag:
de feedback differentieert naargelang de gemaakte fout.
Enkel de optie die behoort bij het geselecteerde antwoord wordt getoond.
- meervoudige selectievraag:
de feedbackoptie geeft een korte uitleg bij de uitspraak waar hij bij hoort. Enkel de feedbackopties die horen bij foutief geselecteerde (of niet geselecteerde) alternatieven worden getoond.
- invulvraag:
de feedbackoptie geeft uitleg over het juiste antwoord voor het vakje waar de
feedbackoptie bij hoort.
Enkel opties die horen bij foutief ingevulde (of open gelaten) vakjes worden
getoond.
- woordvraag:
dit feedbacktype is niet van toepassing; omdat er maar 1 vakje is,
volstaat differentiatie naar een juist en een fout antwoord steeds.
- getalvraag:
dit feedbacktype is niet van toepassing; omdat er maar 1 vakje is,
volstaat differentiatie naar een juist en een fout antwoord steeds.
- Praktische richtlijnen.
Maak een bestand zoals hierboven beschreven.
Noem het Q<nr>.dat, waarbij
<nr> het nummer van de vraag is. Het vraagnummer is dus uniek.
Het nummer van de vraag heeft steeds 6 cijfers en de eerste vraag heeft dus bv.
nummer 000001 (dus een bestand Q000001.dat).
Plaats dit bestand in dezelfde map als MakeAll.pl.
Zorg ervoor dat in de hoofdmap de bestand ondlijst.cfg en vragenurl.inc aanwezig zijn, naar de voorbeelden in de map configinfo.
Voer MakeAll.pl uit (perl MakeAll.pl).
(Let op: de hoofdmap moet bereikt zijn via een pad dat algemeen gekend is,
bv.
wel |
/home/<gebruiker>/intern_html/hoofdmap |
maar niet |
/export/home1/<gebruiker>/intern_html/hoofdmap |
en wel |
/cw/wwwserver/extern/users/<gebruiker>/public_html/hoofdmap |
maar niet |
/home/<gebruiker>/public_html). |
De vraag wordt nu verwerkt en is automatisch beschikbaar voor het
zelftestsysteem. Het datbestand is verplaatst naar de map
Q<nr>, waar ook alle andere bestanden staan die
nodig zijn om de vraag te gebruiken.
Concreet bevinden zich in elke vragenmap volgende bestanden:
- meta.inc de meta-informatie voor de vraag, in html-vorm,
klaar voor invoegen in de test.
- vraagst.inc de vraagstelling zelf, in html-vorm.
- antw.inc het juiste antwoord, in html-vorm.
- antwalt.inc de antwoordalternatieven bij een selectievraag (optioneel).
- score.inc de verdeling van de score over de ev. onderdelen van de vraag.
- feedback.inc de terugkoppeling, in html-vorm.
- hint.htm de hint (optioneel), in html-vorm.
- hint.inc de hintknop voor bij de vraag met een hint, html-vorm;
bevat ook een verborgen formulierveld om aan te geven of een hint werd gebruikt.
- hintfunct.inc functie om de juiste hint te tonen indien hint gewenst.
- img<nr>.gif optioneel; deze bestanden worden automatisch gegenereerd
waar nodig door LATEX2html om symbolen en formules toonbaar te maken in
html.
- Q<nr>.log het logbestand voor de vraag, waarin
aantal voorkomens in een test, totale score op de vraag, hoogste score,
laagste score en aantal keren niet ingevuld worden bijgehouden.
- Technische uitleg van de aanmaakprocedure.
Eerst wordt nagekeken of er iets aan de instellingen van het systeem is
gewijzigd (formularium afgeschaft, ...) a.h.v. perlinvoer.cfg, zie hoger;
dan wordt ook het pad van de docentmap ingelezen.
Na het inlezen van de informatie over de bestaande vragen (hoeveel vragen,
hoeveel per onderwerp, per moeilijkheidsgraad en welke vraag hoort waar thuis),
wordt elk van de bestanden met naam Q<nr>.dat omgezet naar een bestand met
naam Q<nr>.tex; hiervoor wordt gebruik gemaakt van het bestand
defs.tex dat informatie bevat over te gebruiken packages e.d.
Dan wordt voor elk te verwerken bestand nagegaan of het een aanpassing of
een nieuwe vraag is; voor een nieuwe vraag wordt het aantal vragen in het
systeem verhoogd. Indien het een aanpassing is, wordt alle informatie over
de vraag (onderwerp, moeilijkheidsgraad en waar ze thuishoort) verwijderd.
Een aan te passen vraag wordt verder verwerkt als een nieuwe vraag.
Vervolgens wordt LATEX2html uitgevoerd;
in deze fase worden een aantal bestanden aangemaakt
(img*.gif of img*.png ngl. de instellingen van LATEX2html,
index.html, Q<nr>.html, Q<nr>.css, images.aux, images.log,
images.pl, images.tex en labels.pl).
Van deze bestanden zijn enkel de bestanden img*.gif nodig na de verwerking
van de vraag. Het bestand index.html is nodig tijdens het verwerkingsproces.
Daarna wordt a.h.v. index.html het nodige gegenereerd om de vraag te
tonen en de oplossing te controleren in het zelftestsysteem.
Na het genereren van de vraag of vragen wordt de informatie over de onderwerpen
en moeilijkheidsgraden weer weggeschreven in de configuratiebestanden
(onderwerpen.cfg, mlhgraden.cfg en vragenlijst.cfg).
Tenslotte worden alle overbodige en overbodig geworden bestanden weer gewist.
Kopieer of verplaats het datbestand uit de map Q<nr> met <nr>
het nummer van de vraag weer naar de map waarin MakeAll.pl staat.
Belangrijk: verwijder in geen geval de map Q<nr>.
Pas het datbestand aan en voer MakeAll.pl opnieuw uit.
(Let op: de hoofdmap moet bereikt zijn via een pad dat algemeen gekend is,
bv.
wel |
/home/<gebruiker>/intern_html/hoofdmap |
maar niet |
/export/home1/<gebruiker>/intern_html/hoofdmap |
en wel |
/cw/wwwserver/extern/users/<gebruiker>/public_html/hoofdmap |
maar niet |
/home/<gebruiker>/public_html). |
De vraag is nu in zijn nieuwe vorm beschikbaar voor het zelftestsysteem.
Belangrijk: verwijder de vraag in geen geval zonder gebruik te maken van
het Perlscript verwijder.pl.
Voer verwijder.pl uit (perl verwijder.pl map1 map2 map3) waarbij de
namen van alle te verwijderen mappen opgegeven worden, bv.:
perl verwijder.pl Q000001 Q000003 Q000045.
Beveiligde toegang kan afgedwongen worden op verschillende manieren.
De eenvoudigste is een paswoordbeveiliging.
Hiervoor kan een bestandje .htaccess aangemaakt worden in de map docent,
wat volgende informatie bevat:
AuthName "Zelftestsysteem VISNUE"
AuthType Basic
AuthUserFile <absoluutpad>.htpasswd
require valid-user
Hierbij is <absoluutpad> het absolute pad tot aan het paswoordbestand.
Om veiligheidsredenen mag dit paswoordbestand niet in dezelfde map staan
als het bestandje .htaccess.
Vervolgens voer je het commando
htpasswd -c <relatiefpad>.htaccess <login> uit; er wordt nu een paswoord
gevraagd voor de betreffende login en daarna bevestiging van het paswoord.
Alle volgende gebruikers voeg je toe zonder een nieuw paswoordbestand aan te
maken a.h.v. het commando
htpasswd <relatiefpad>.htaccess <login>,
waarbij ook paswoord en bevestiging gevraagd zullen worden.
Een tweede methode voor beveiliging is het verplaatsen van de map docent
naar ergens waar reeds beveiligde toegang is.
Alle geregistreerde gegevens van studenten bevinden zich in de submappen
mnumcfg en mnumsessies van de logmap.
De gegevens worden bewaard in tekstvorm.
In deze map staat voor elke student een bestandje <mnr>.cfg dat het aantal
sessies van die student bevat; voor studenten die zich niet identificeren is
er een soortgelijk bestandje myyxxxxx.cfg.
Voor elke sessie van een student wordt er een nieuw bestandje aangemaakt met de
naam
<myyxxxxx>_<xxxxxx>.log, waarbij <myyxxxxx> de identificatie van de
student is en <xxxxxx> het sessienummer voor deze student.
In dit bestand bevinden zich de volgende gegevens:
- mnummer van de student
- referentietijd (om verschillen in tijd tussen server en client
op te vangen)
- IP-adres en poortnummer van de deelnemende student.
- gekozen aantal vragen
- gekozen onderwerpen
- gekozen moeilijkheidsgraden
- begintijdstip van het invullen
- eindtijdstip van het invullen
- geselecteerde vragen
- voor elke vraag of er al dan niet een hint gebruikt werd
(0 = nee, 1 = ja)
- voor elke vraag:
- het gegeven antwoord
- de score
- de totaalscore op de test
- het begintijdstip van het controleren van de vragen
- het eindtijdstip van de controle
Voor elk van deze gegevens wordt aangegeven welk gegeven het betreft;
deze informatie wordt gescheiden van de geregistreerde gegevens door een
gelijkheidsteken =.
In de map vraaglogs staat voor elke vraag een bestand Q<nr>.log,
wat volgende informatie bevat:
- het aantal voorkomens in een test
- de totaalscore op deze vraag
- de hoogste score op deze vraag
- de laagste score op deze vraag
- het aantal keren dat deze vraag niet beantwoord werd
Ook dit bestand is in tekstformaat; het bevat enkel de 5 bovengenoemde
getallen.
Dit kan nagegaan worden a.h.v. het perlscript maakipstat.pl,
uit te voeren in de hoofdmap van het systeem.
Uiteraard is dit alleen mogelijk als er over de gebruikers ook gegevens werden bijgehouden.
Een pagina ipstat.html wordt dan gegenereerd in de statistiekenmap van het
systeem (<logmap>/statistieken/).
De indeling van de IP-nummers is gebaseerd op de informatie van de KULeuven
servers en omvat de volgende categorieën:
De PC-lokalen worden nog verder onderverdeeld naargelang de locatie.
Dit kan nagegaan worden a.h.v. het perlscript maakvraagstat.pl,
uit te voeren in de hoofdmap van het systeem.
Uiteraard is dit alleen mogelijk als er over de vragen ook gegevens werden bijgehouden.
Een pagina vraagstat.html wordt dan gegenereerd in de statistiekenmap van
het systeem.
Voor deze informatie wordt ook een bestand met een tabelformaat gegenereerd
in de datamap (<logmap>/statproginv/):
vraagstat.dat. Dit laatste kan gebruikt worden om aan vraaganalyse te doen.
Dit kan nagegaan worden a.h.v. het perlscript statzts.pl,
uit te voeren in de hoofdmap van het systeem.
Uiteraard is dit alleen mogelijk als er over de gebruikers ook gegevens werden bijgehouden.
Volgende bestanden worden gegenereerd in de juiste mappen:
- zelf.html en/of zelf.dat: een globaal overzicht van het gebruik
- voor elke student een testoverzicht
<mnummer>_zelf_test.html en/of <mnummer>_zelf_test.dat:
een overzicht van wat een bepaalde student (of voor de anonieme sessies
een bepaalde groep studenten) deed in het zelftestsysteem.
- voor elke sessie een sessieoverzicht
<mnummer>_zelf_sessie_<sessienummer>.html en/of
<mnummer>_zelf_sessie_<sessienummer>.dat: een overzicht van 1 sessie.
De html-overzichten bevatten verwijzingen naar een lager detailniveau
indien toepasselijk.
Mnummer is in bovenstaande bestandsnamen het mnummer van de student;
sessienummer is het nummer dat een bepaalde sessie toegekend heeft gekregen
tijdens het gebruik van het zelftestsysteem.
Handleiding bij de questionnaire
van numerieke wiskunde
Dit automatisch testsysteem moet de student toelaten om zijn kennis
en inzicht te toetsen.
Een hint- en feedback-systeem moet de student een automatische begeleiding
geven en toelaten om zichzelf te evalueren.
Verder kan de student zichzelf plaatsen ten opzichte van zijn medestudenten
aan de hand van gemiddelde scores (van zijn voorgangers en hemzelf).
Er zijn 6 types van vragen en iedere vraag wordt op 1 punt gequoteerd.
Open antwoorden leveren steeds 0 punten op.
- Woordvraag (word question, WQ).
Hier wordt een woord als antwoord verwacht. Het woord moet daarbij natuurlijk
correct gespeld zijn. De score bij dit type vraag is dan -1, 0 of 1.
- Numerieke vraag (numerical question, NQ).
Bij dit type wordt er een getal verwacht waarop er een procentuele
afwijking kan zitten. Maar meestal is die afwijking gelijk aan 0. Dit
is dus ook een alles of niets vraag (score -1, 0 of 1).
Er worden geen haakjes aanvaard.
Je bent verplicht om als antwoord een genormaliseerd getal te geven, een rationaal getal (al dan niet als breuk) of een gewoon geheel getal.
- Invulvraag met woorden (Fill in question, FIQ).
Hier worden er een aantal getallen en/of woorden verwacht. Per correct
onderdeel krijg je (1 / aantal onderdelen) punten. Voor
een verkeerd antwoord wordt er (1 / aantal onderdelen) afgetrokken.
Nakijken van de antwoorden gebeurt op basis van vergelijken van tekenreeksen;
indien er dus getallen gevraagd worden, moet de voorstelling ervan uniek bepaald zijn
(bv. gehele getallen of breuken met teller geheel en noemer een natuurlijk getal).
Speciale tekens zoals accenten of deeltekens kunnen problemen geven.
- Invulvraag met getallen (numerical fill in question, NFI).
Hier worden er een aantal getallen verwacht. Per correct onderdeel krijg je (1 / aantal onderdelen) punten. Voor een verkeerd antwoord wordt er (1 / aantal onderdelen) afgetrokken.
Getallen kunnen voorgesteld worden op verschillende wijzen: kommagetallen (met of zonder exponent), breuken of gehele getallen.
Haakjes worden niet aanvaard.
- Enkelvoudige selectievraag (radiobutton question, RBQ).
Bij dit type van vraag is er maar 1 correct antwooralternatief. Voor een goed antwoord krijg je 1 punt, voor een verkeerd antwoord worden er 1 punt afgetrokken zodat gokken weinig zinvol is.
Een open antwoord is mogelijk zolang er niets werd geselecteerd.
- Meervoudige selectievraag (multiple choice question, MCQ).
Bij dit type van vraag zijn er dus 1 of meerdere correcte antwoorden mogelijk.
Per goed geselecteerd deelantwoord krijg je (1 / aantal juiste alternatieven) punten.
Voor elk verkeerd geselecteerd deelantwoord worden er (1 / aantal foutieve alternatieven)
punten afgetrokken.
- In het eerste veld kan je je mnummer invullen; je kan de test ook anoniem
beantwoorden. Om ons onderzoek te steunen, vragen wij je om je mnummer toch in te vullen.
- Als de mogelijkheid om een emailbevestiging te krijgen aan staat, kan je in het
tweede veld je emailadres invullen als je een emailbericht wilt krijgen met de resultaten van de test. Je emailadres wordt niet bewaard.
Als deze mogelijkheid niet aan staat, wordt het tweede veld niet getoond.
- Het standaard aantal vragen is 5 per test; je kan dit echter wijzigen in het 3e vakje. Het aantal vragen moet wel minimaal 1 en maximaal 10 zijn.
- De vragen zijn geklasseerd volgens verschillende onderwerpen.
Je kan de onderwerpen aankruisen waarover je een test wil genereren.
Als je niets aankruist dan worden alle onderwerpen behandeld.
- De vragen zijn eveneens opgedeeld volgens een moeilijkheidsgraad (eenvoudige, gewoon, moeilijk) waaruit je kan kiezen.
Als je niets aankruist dan kies je voor alle moeilijkheidsgraden.
- De knop ``Doe de test'' creëert dan effectief een test.
- Je kan steeds gebruik maken van een online formularium (knop rechts bovenaan: formularium).
- Bij sommige vragen kan je ook een hint vragen om je wat op weg te helpen.
Dit heeft dan wel als gevolg dat je score gehalveerd wordt bij een juist antwoord.
- De test wordt automatisch verbeterd na het drukken op de knop ``antwoorden nakijken'' die zich helemaal onderaan bevindt.
- Je kan herbeginnen door op de knop ``formulier leegmaken'' te drukken.
- Feedback per vraag aan de hand van scores.
Per vraag krijg je steeds een minimale feedback onder de vorm van je behaalde score, de minumum behaalde score voor de vraag, de maximum behaalde score voor de vraag en de gemiddelde behaalde score.
De minimum te behalen score (= kleinst mogelijke score) is steeds -1 en de maximum te behalen score (= grootst mogelijke score) steeds 1.
- Globale feedback over de volledige test.
Helemaal onderaan krijg je feedback over de gehele test.
Je eigen score, de minimum behaalde score, de maximum behaalde score en de gemiddelde score voor deze test.
Deze cijfers worden berekend op basis van alle minimumscores, maximumscores of gemiddelden over alle vragen in de test.
Dit toetssysteem is volledig herschreven inclusief de vragen zodat het wel schoonheidsfoutjes kan bevatten.
Daarom hopen we op jullie medewerking om het systeem mogelijk te verbeteren.
Al je commentaar, suggesties, reacties kan je kwijt op volgend
formulier.
Figuur 1:
Mogelijkheid om opmerkingen te versturen
|
Figuur 2:
Openingspagina voor studenten
|
Figuur 3:
Voorbeeld van een test met 1 vraag
|
Figuur 4:
feedback op de vorige vraag
|
\question{RBQ}
\onderwerp{1}
\diff{1}
\vraag
Dit is een voorbeeld van een enkelvoudige selectievraag met als onderwerp het eerste
dat voorkomt in het bestand ondlijst.cfg (bv. Deel 1, hoofdstuk 1, inleiding.).
Deze vraag is gemakkelijk.
\RBQ
\item eerste antwoordalternatief; fout gekozen.
\item tweede en correcte antwoordalternatief.
\item derde antwoordalternatief; fout.
\item vierde en laatste antwoordalternatief in dit voorbeeld; fout.
\antw{F&T&F&F}
\score{-1&1&-1&-1}
\feedback[afb]
Deze feedback wordt steeds getoond, ongeacht welk antwoord de student heeft gekozen.
\hint
Bij deze vraag hoort ook een hint.
\qend
\question{MCQ}
\onderwerp{3}
\diff{3}
\vraag
Dit is een voorbeeld van een meervoudige selectievraag met als onderwerp het derde dat
voorkomt in het bestand ondlijst.cfg (bv. Deel 1, hoofdstuk 3, stelsels.)
Deze vraag is moeilijk. Bij deze vraag krijgt de student geen terugkoppeling of hint.
\MCQ
\item eerste antwoordalternatief; juist gekozen.
\item tweede en ook correcte antwoordalternatief.
\item derde antwoordalternatief; fout.
\item vierde en laatste antwoordalternatief in dit voorbeeld; fout.
\antw{T&T&F&F}
\score{1/2&1/2&-1/2&-1/2}
\feedback[gfb]
\qend
\question{NQ}
\onderwerp{1}
\diff{2}
\vraag
Dit is een voorbeeld van een getalvraag met als onderwerp het eerste dat
voorkomt in het bestand ondlijst.cfg (bv. Deel 1, hoofdstuk 1, inleiding.).
Deze vraag is niet speciaal moeilijk of gemakkelijk (gewoon). We zoeken het getal 10.
Er is geen hint voorzien.
\NQ
\antw{10}
\score{1}
\feedback[jef]
\item Als je 10 invulde, krijg je deze tekst te zien.
\item Fout, het juiste antwoord was 10.
\qend
\question{WQ}
\onderwerp{1}
\diff{1}
\vraag
Dit is een voorbeeld van een woordvraag met als onderwerp het eerste dat
voorkomt in het bestand ondlijst.cfg (bv. Deel 1, hoofdstuk 1, inleiding.).
Deze vraag is gemakkelijk. We zoeken het woord "correct" en houden geen rekening met
hoofdletters/kleine letters.
\WQ
\antw{correct}
\score{1}
\feedback
Deze feedback wordt steeds getoond, ongeacht welk antwoord de student heeft gekozen.
\hint
Ook bij deze vraag hoort een hint.
\qend
\question{FIQ}
\onderwerp{1}
\diff{1}
\vraag
Dit is een voorbeeld van een invulvraag met als onderwerp het eerste dat
voorkomt in het bestand ondlijst.cfg (bv. Deel 1, hoofdstuk 1, inleiding.).
Deze vraag is gemakkelijk. We zoeken een aantal woorden (en eventueel getallen),
maar getallen worden (evenals de woorden) vergeleken naargelang de ingevulde tekens.
Als je dit vraagtype wilt gebruiken voor getallen is het dus belangrijk om een
eenduidige schrijfwijze in de vraagstelling te vermelden. Daarom is het beter om voor
getallen een numerieke invulvraag (NFI) of een getalvraag (NQ) te gebruiken.
We zoeken de woorden "vakje", "antwoord" en "invullen".
\FIQ
\item deze tekst komt na het eerste invulvakje te staan.
\item na het 2e invulvakje zie je deze zin.
\item En hiermee eindigen we ons voorbeeld.
\antw{vakje&antwoord&invullen}
\score{1/3&1/3&1/3}
\feedback[elk]
\item Als je deze tekst leest, heb je niet het woord "vakje" ingevuld.
\item Als je dit leest, staat in het 2e vakje niet "antwoord".
\item Blijkbaar heb je "invullen" niet in het laatste vakje gezet;
anders zou dit hier niet staan.
\qend
Figuur 5:
Overzicht van de frequentie van de vragen en behaalde scores
|
Figuur 6:
Overzicht van alle sessies van alle studenten
|
Figuur 7:
Overzicht van alle sessies van 1 student
|
Figuur 8:
Overzicht van de sessie van een student
|
Voetnoot
- ... @L141
- P. Vansevenant, A. Bultheel.
Het project VISNUE: Technische handleiding deel 2, Report @L14, november 2001.
© Adhemar Bultheel
2003-09-05