Oversikt over flervalgstester på Ifi Christian Kringstad Kielland christkk@ifi.uio.no 1. august 2003 Introduksjon Dette dokumentet beskriver hvordan systemet for flervalgstester på Ifi fungerer. Systemet er blitt brukt i forskjellige versjoner siden våren 2001 i fjernundervisningen i INF101 og senere også i den ordinære undervisningen. Den første versjonen var skrevet i Perl/CGI og omfattet to programfiler, en for presentasjon av selve testen og en annen for evaluering av valgene som ble tatt. Denne versjonen leste tekstfiler som testforfatterene måtte skrive selv etter et gitt format. Selv om formatet som ble brukt var ganske greit å forholde seg til var dette en suboptimal løsning i og med mulighetene for menneskelig svikt som dermed ble introdusert. Lagring av testdata som tekstfiler var heller ikke ansett som den beste løsningen. Sommeren 2003 ble det besluttet å lage en ny versjon av flervalgstestsystemet som løste disse spørsmålene på en bedre måte, samt la til ny og forbedret funksjonalitet. 1 Formålet med og bruken av flervalgstestene I forbindelse med kvalitetsreformens krav til bedre oppfølging av studentene har man bestemt at bruken av flervalgstester skal videreføres blant annet i begynnerkurset INF1000 i informatikk. Idéen er at studentene hver uke skal kunne teste seg selv i den kunnskapen de er ment å ha ervervet 1
seg i løpet av ukens forelesninger. Disse testene skal kunne tas via WWW og skal gi studenten en indikasjon på hvor godt han kan stoffet testen omhandler. 2 Oversikt over funksjonaliteten i systemet Flervalgstestsystemet omfatter, i tillegg til et grensesnitt for presentasjon av testene via WWW, et vev-grensesnitt for å lage tester. Dette administrasjonsgrensesnittet krever innlogging med brukernavn og passord. Systemet tillater en bruker å lage nye tester, endre eksisterende tester og slette tester. Brukernavn og passord for administrasjonsgrensesnittet må tildeles den som ønsker å lage flervalgstester av en sentral instans (uklart hvilken). Testene lagres i en MySQL-database som er usynlig for brukerne (det er i hvert fall meningen). Oversikt over databaseimplementasjonen gis i del 4.1. 3 Hvordan bruke administrasjonssystemet En steg-for-steg-beskrivelse For å lage en flervalgstest må man ha et brukernavn og et passord. Når man så går inn på siden http://www.ifi.uio.no/~inf1000/index. php blir man bedt om å angi disse (figur 1), man har deretter muligheten til å se på de testene som er registrert på ens eget brukernavn (figur 2). Alternativt kan man velge å lage en ny test, eller endre på en allerede eksisterende test. 3.1 Hvordan lage en test 3.1.1 Skriv inn generell testinformasjon Ved å velge lenken "Lag en ny test" blir man presentert med et skjema hvor man blir bedt om å skrive inn generelle data for testen, se figur 3. Feltene inkluderer: 2
Figur 1: Logginnskjermen Kurskode Skriv inn kurskoden for testen Tittel Skriv inn tittelen på testen, max 255 tegn Ingress Ofte kan det være interessant å skrive litt om hva testen handler om før man presenterer spørsmålene. Da kan dette feltet brukes. Antall alternativer Her skriver du inn antall alternativer det første spørsmålet har. Brukernavnet til brukeren blir registrert som eier av testen, og kun denne brukeren kan (ideelt) endre på testen. Velg knappen Gå videre. Dette kaller opp en ny side. 3
Figur 2: Hovedskjermbildet for administrasjonssystemet 3.1.2 Skriv inn spørsmålsinformasjon Den neste siden ber om informasjon om det første spørsmålet (figur 4). Feltene er: 4
Figur 3: Skjerm for generell testinformasjon Ingress Her kan du skrive en ingress til spørsmålet om det er ønskelig Spørsmålstekst Dette er feltet for selve spørsmålet 5
Figur 4: Øverste del av skjermbilde for spørsmål Kommentar Når studentene får en evaluering av svarene de har gitt kan det være nyttig å få en kommentar til svaret. Her kan den skrives. 6
Hint Her kan du skrive et hint som studentene kan be om å se før de svarer. Hint er ikke implementert i denne versjonen. Etter feltene med generell informasjon om spørsmålet følger et antall felter hvor man skriver inn informasjon for hvert alternativ. Antallet felter korresponderer med antallet angitt på forrige skjema (figur 5). Figur 5: Midterste del av skjermbilde for spørsmål Alternativ 1, Rett/Galt Dette er to knapper hvorav kun en kan velges, 7
"Galt" er valgt som utgangsposisjon. Her velger du om alternativet er rett eller galt. Alternativ 1, tekst Her skriver du teksten til det første alternativet. Gjenta dette like mange ganger som ønsket antall alternativer. Siste del av dette skjemaet er et valg mellom fire modi. Før du velger å gå videre må du velge en av disse (se figur 6): Nytt spørsmål Om du ønsker å legge inn informasjon om et nytt spørsmål velger du dette. Husk å angi ønsket antall alternativer for det neste spørsmålet. Flere alternativer Om du ikke valgte nok alternativer til dette spørsmålet har du mulighet til å be om flere. Husk å angi antall ekstra alternativer. Antall alternativer Dette er et lite felt hvor du angir antall alternativer om du har valgt et av de to første modi. Lagre test Om du har skrevet inn alle spørsmålene velger du å lagre. Slette test Dette valget fjerner all informasjonen om denne testen fra databasen. Velg knappen Gå videre. Dette kaller opp en ny side. I tilfellet "Nytt spørsmål" kommer samme side opp og spør om informasjon om neste spørsmål. Se del 3.1.2. I tilfellet "Flere alternativer" kommer samme side opp, bortsett fra feltene med generell spørsmålsinformasjon. Se del 3.1.2. 3.1.3 Oversikt over lagret testinformasjon Om du valgte å lagre testen blir du presentert med en oversikt over all informasjonen du har lagt inn om testen (se figur 7). Systemet skriver ut et HTML-anker som kan kopieres inn i en HTML-fil. Du kan også velge å endre på data i testen om du finner at du har skrevet noe feil. Endringer kan forøvrig foretas når som helst etter at testen er lagret. 8
Figur 6: Nederste del av skjermbilde for spørsmål Lenker leder videre til oversikten over testene (se del 3) og til lage-ny-testsiden beskrevet i del 3.1.1. For hvordan å endre en test fra denne siden, se del 3.1.5. 9
3.1.4 Resultatside for slettet test Om du velger å slette en test får du beskjed om at det er gjort og en lenke tilbake til oversikten over testene. 3.1.5 Endring av tester Om du fra siden med oversikt over lagret testinformasjon velger å endre testen kommer du til en side med den samme informasjonen presentert med en avkrysningsboks for hvert element (se figur 8 og 9). Kryss av for de elementene du ønsker å endre og velg Gå videre. Du kommer da til en side som ligner på de som er nevnt over. Hvert element som ble krysset av blir presentert i en tekstboks hvor det kan endres til en annen verdi (se figur 10). Når endringene er gjort velger du knappen Gå videre. Du kommer igjen til oversikten over lagret testinformasjon, se 3.1.3. Om du i stedet ønsker å legge alternativer til et spørsmål, eller legge spørsmål til en test kan du velge dette fra oversikten over endringsvalgene. Legge nye spørsmål til en lagret test Fra oversikten over endringsvalgene velger du lenken "Legge til spørsmål". Dette bringer deg til registreringssiden for nytt spørsmål, se del 3.1.2. Legge nye alternativer til et lagret spørsmål Fra oversikten over endringsvalgene velger du lenken "Legg til alternativ". Dette bringer deg til en oversikt over alle spørsmålene i testen (se 11). Her velger du hvilket spørsmål du vil legge nye alternativer til. Deretter velger du knappen Gå videre. Dette bringer deg til samme side som om du hadde valgt "Flere alternativer" fra 3.1.2 med den forskjellen at du kun kan legge inn ett nytt alternativ. Om du ønsker å legge inn flere kan du velge det etter å ha lagt inn det første nye alternativet. 10
3.1.6 Gå tilbake til oversikten over testene Fra hver side i administrasjonsgrensesnittet har du muligheten til å returnere til oversikten over testene. Den informasjonen du hittil har lagret om en test vil til en hver tid være tilgjengelig fra denne siden for videre endring. 4 Oversikt over implementasjonen av systemet Dette kapittelet er ikke ferdig. Se i stedet de forskjellige kildefilene. 4.1 Databasen 4.2 Flervalgstestsystemet 4.3 Administrasjonssystemet Dataene man har skrevet inn i de forskjellige feltene blir lagret i databasen hver gang man trykker på submit -knappen. 5 Sikkerhetshuller Det er en rekke alvorlige huller i systemets sikkerhet, blant annet de følgende. 5.1 Tildeling av brukernavn og passord Brukernavn og passord til administrasjonssystemet må tildeles av en eller annen ansvarlig instans. Per nå er det enten Arne Maus eller Christian K. Kielland som har ansvaret for å dele ut disse passordene. 11
5.2 Lagring av brukernavn og passord Brukernavn og passord til administrasjonsgrensesnittet er lagret i klartekst i databasen. Det er ikke en optimal løsning, men i lys av punkt 5.3 er ikke det så farlig. 5.3 644 rettigheter til databasepassordet Passordet og brukernavnet til databasen er av nødvendighet gjengitt i PHP-filen definisjoner.inc. Denne filen må være lesbar for alle for at vevtjeneren skal kunne lese den. Dette er et stort problem siden det medfører at enhver kan få tak i brukernavnet og passordet og rote i databasen via mysql-grensesnittet. 5.4 Eksplisitt sending av parametre Det er mulig for brukere å passe parametre eksplisitt til skriptene via nettleseren ved?pnavn=pverdi&etc-notasjon. De fleste variablene i skriptene blir ikke affektert av dette siden de blir satt og overskrevet av skriptet. Problemet i 5.3 tatt i betraktning er ikke dette så farlig. 6 Ønsket funksjonalitet i senere versjoner 6.1 Viktig funksjonalitet Logging av avgitte svar Grafisk statistikk over avgitte svar 6.2 Antagelig uviktig eller ikke ønskelig funksjonalitet Mulighet for å be om hint før man svarer Statistikk for enkeltstudenter Mulighet for tilleggsspørsmål 12
Figur 7: Oversikt over lagret testinformasjon 13
Figur 8: Side for valg av testinformasjon for endring 14
Figur 9: Nedre del av endringsvalgsiden 15
Figur 10: Side for endring av valgt testinformasjon 16
Figur 11: Oversikt over spørsmål 17