KRATAK OPIS INTERNET APLIKACIJE ZA TESTIRANJE STUDENATA

autor Ivan Šakotić za prof. Šipka Peru

Ne bih govorio o prednostima softvera koji danas nastaje osim, da praktično sve ono što softver uradi za nas, može se uraditi i bez njega, ali poređenje: brzine, tačnosti, lakoće, cene, lepote i nivoa rada; nesumnjivo pokazuje veličinu i njegovu blagodet.

Danas se Internet testiranje sve više uvodi kao deo edukativnog procesa u organizacijama, školama ali i kao verifikacija znanja prilikom zapošljavanja. Ono se koristi u testovima znanja, testovima inteligencije, raznim istraživanjima i generalno, svugde gde se sam proces procene može automatizovati.

Internet testiranje se koristi i kao deo procesa učenja na daljinu (eng. e-learning). Učenje na daljinu se koristi za prenošenje znanja stručnjaka na mesta na kojima nije fizički prisutan, naročito u zemljama koje su slabo naseljene.

Ovo testiranje donosi mnoge prednosti, ali trebamo biti svesni i nedostataka. Prednosti su ubrzanje sastavljanja testa, ubrzanje ispitivanja, veća tehnička preciznost ocenjivanja, jednostavna i brza analiza rezultata jednog ili grupe ispitanika. Prednost Internet ispitivanja je i mogućnost praćenja kvaliteta ispitnih zadataka, tj. može se videti po uzorku ispitanika koji zadaci su koliko i kako rešavani, te na temelju tih podataka oni se u sledećem ispitu mogu ili promeniti ili izbaciti iz ispita. Nedostatak je nepreciznost ocenjivanja slobodno pisanih odgovora (eseja), kao i ogromna zavisnost postupka ispitivanja, odn. kvaliteta testa od onoga ko sastavlja test (prilikom sastavljanja testa treba precizno odrediti područje ispitivanja, vreme potrebno za svaki odgovor ili ukupno vreme pisanja testa, i kakva vrsta pitanja će biti korišćena za svaki zadatak).

Danas postoje mnoge aplikacije koje omogućavaju proveru znanja putem Interneta i praćenje rezultata ispitanika. Internet testiranje pomaže u usavršavanju znanja generišući izveštaje pomoću kojih se može precizno odrediti koje oblasti zahtevaju dodatnu edukaciju ispitanika. Ono ima ogromnu ulogu i u procesu traženja posla sa verifikacijom znanja. Kako postoje različite metode učenja koje variraju od fakulteta do fakulteta, a posebno od države do države ne može se precizno prosuditi znanje pojedinca samo na temelju diplome. U stvarno znanje ulazi i samoučenje. Zato se prilikom zapošljavanja može precizno proveriti znanje upravo jednom ovakvom aplikacijom.

Zbog svega ovoga, moj izbor je upravo bio realizacija Internet aplikacije koja radi nad bazom podataka za testiranje studenata. Ona predstavlja jednu od prvih aplikacija ovog tipa na našem podneblju, a nadam se da će biti i jedna od korisnih softverskih alatki i primer primene novih računarskih tehnologija u edukativne svrhe. Sem što pruža mogućnost provere znanja iz pojedinih predmeta i njihovih oblasti ona detaljno prikazuje i ima mogućnost objašnjavanja svih učinjenih grešaka. Time ima dvojaku ulogu, jednu u pripremi studenata za polaganje pojedinih ispita, a drugu kao mnogo važniju, navikavanje na novi vid provere znanja koja će verujem biti sve prisutnija.

Budućnost jedne ovakve aplikacije je verovatno u njenoj razgradnji do onog nivoa kada će ona obuhvatati sve vidove ispitnih zadataka, a samim tim davati slobodu svakog studenta da polaže ispit i odmah po polaganju dobije detaljne rezultate uz minimalno angažovanje profesora. Računari omogućavaju unos svih tipova zadataka koje postoje na papiru, ali ne i automatsko ocenjivanje njihove tačnosti. Iz tog razloga u ovom radu je realizovana Internet aplikacija za testiranje studenata koja podržava sledeće tipove ispitnih zadataka:

4           Istinito/Neistinito – najednostavniji tip zadatka koji nije preporučljiv za proveru znanja, zato jer daje 50% mogućnosti za slučajan izbor tačnog odgovora

4           Višestruki izbor – jedan odgovor – ovaj tip zadatka je sličan prethodnom, sa tom razlikom da je ovde ponuđeno više odgovora, a postoji samo jedan tačan odgovor. Ovaj tip zadatka se često koristi na ovakvim ispitima znanja, jer daje relativno dobar odnos između traženog znanja i jednostavnosti i brzine odgovaranja za ispitanika. Obično se nudi od 4 do 5 mogućih odgovora, što daje 20% do 25% mogućnosti slučajnog izbora tačnog odgovora.

4           Višestruki izbor – višestruki odgovor – tip zadatka koji zahteva više tačnih odgovora na postavljeni zadatak i još je jedan čest tip zadatka koji se pojavljuje na ispitima. U ovom tipu zadatka poželjno je naglasiti da se traži više tačnih odgovora.

Izabrani tipovi upravo daju potpunu automatizaciju generisanja testova iz izabranih predmeta i oblasti, a po završetku detaljan rezultat. Pitanja i odgovori se generišu po principu slučajnog izbora u trenutku vremena tako da svaki student dobija različit raspored pitanja i odgovora, čime se umanjuje njegova mogućnost slučajnog pogodka tačnog odgovora. Ovo naročito ima efekta ukoliko je student pripremajući ispit već rešavao taj zadatak.

Da budem precizniji navešću vrste pitanja koje postoje: Istinito/Neistinito, Višestruki izbor-jedan odgovor, Višestruki izbor-višestruki odgovor, Umetanje izraza (gde se zahteva od ispitanika da slobodno upiše odgovor), Višestruko umetanje odgovora (sličan prethodno navedenom, s tom razlikom da se sad umesto jednog izraza može uneti više njih), Višestruko umetanje izraza po redosledu (tip zadatka koji za razliku od prethodnog insistira na važnosti redosleda odgovora) kao i hibridni tip zadatka (koji se sastoji od kombinacije bilo kojih od gore navedenih tipova zadataka).

Ova aplikacija koristi metodu ispitivanja koja omogućava jedan ili više tačnih odgovora na pitanje, a svako pitanje može imati neograničen broj odgovora. Za njenu podršku ostalim tipovima zadataka bilo bi potrebno uvesti dodatne relacije. Npr., kod umetanja izraza ispitanik slobodno upisuje tekst odgovora. Ovaj tip zadatka se koristi za upisivanje matematičkih izraza, formula i programskih naredbi. On dakako ima prednost u tome što ne nudi moguća rešenja ispitaniku pa samim tim daje kreativniju i kvalitetniju proveru znanja. U njemu se može tražiti upis jednog ili više odgovora pri čemu se odgovorom smatra jedan ili svi uneseni izrazi. Kako bi se postigla veća pravednost u ocenjivanju prilikom leksičke greške ispitanika, izrazi se smatraju tačnim i ako je većina znakova tačna ili ako je pravilan redosled većine znakova u izrazu. U ovom tipu zadatka, dakle, može se koristiti leksička, sintaksna i semantička analiza, odn. veštačka inteligencija, ali to ozbiljno komplikuje postupak ocenjivanja, odn izračunavanja rezultata, te je stoga jasno zašto ovaj tip zadatka nije uključen u ovu aplikaciju, pa ostaje kao mogućnost dorade.

Mnogo važniji nedostatak aplikacije je nemogućnost specificiranja tipa odgovora. Ne može se reći da li se želi, da se izabere samo jedan tačan odgovor ili više tačnih odgovora. Da bi se ova mogućnost implementirala potrebno bi bilo generisanje posebne forme za svaki tip pitanja. Budući da je većina ovakvih testova napravljena tako da se izabere jedan ili više tačnih odgovora ova aplikacija je dobra za većinu klasičnih primena. Ostavljena je mogućnost masteru aplikacije(profesoru) da li će ili neće specificirati ovaj podatak u samom tekstu zadatka.

Jedno od nedostataka ove aplikacije, svesno urađen prilikom realizacije, je nemogućnost umetanja slika u pitanja i odgovore. Ona ne bi nešto značajnije zakomplikovala aplikaciju ni samu bazu, ali kao autor aplikacije umetanje slika nisam smatrao neophodnim za razrešavanje. Međutim, ovo može vrlo lako da se implementira u samu aplikaciju ukoliko se smatra neophodnim kod primene. 

Generisanje testa aplikacije je bilo osmišljeno na sledeći način. Prvo se postavljaju parametri: predmet i oblasti datog predmeta (oni su u stvari izbor studenta). Time je definisan broj pitanja testa (koji sam master aplikacije odn. predmetni profesor upisuje prilikom upisa predmeta u bazu), kao i ukupan broj pitanja koji postoji u bazi za izabrane oblasti izabranog predmeta (takođe zavisan od mastera aplikacije odn. od predmetnog profesora, ali ne u smislu eksplicitnog broja). Nakon toga se kreće na generisanje pitanja i odgovora. Pitanja se generišu po slučajnom izboru i redosledu koji zavisi od trenutka kada student odabere opciju početka testa. Ovo pruža generisanje različitog testa sa različitim redosledom pitanja svaki put kada se isti predmet odabere. Prilikom prikazivanja pojedinog pitanja generišu se odgovori tog pitanja po slučajnom redosledu i on takođe zavisi od trenutka kada student pređe na to pitanje po prvi put. Pitanja i odgovori se upisuju u bazu po potvrđivanju studenta da je završio test.

Prednost ovakvog generisanja testa je u tome što student na svako pitanje može odgovoriti sa više označenih odgovora, i što se tokom testa može vraćati na već odgovorena pitanja i ispravljati odgovor (što daje dovoljnu fleksibilnost i komoditet studentu tokom samog testiranja), a da pri svemu tome ne utičemo na sadržaj baze podataka. Student kao pojedinac ne može da započne novi test dok nije završio ili prekinuo prethodno započeti i sprečen je da dvaput upiše isti test u bazu (prethodno rečeno je ustvari ono što treba da obezbedi softverski deo aplikacije koji je neophodno da isprati sve zahteve generisanja testa), što takođe predstavlja prednost, jer se čuva integritet baze podataka i ona je samim tim oslobođena od ponovljenih n-torki.

Nedostatak ovakvog generisanja testa je što nije moguće umesto slučajnog izbora pitanja, eksplicitno odrediti redosled i koja pitanja ulaze u dotični test. Još jedan od nedostataka je u tome što sam test nije ograničenog vremenskog trajanja. To vreme je neograničeno u slučaju samostalne izrade pojedinih testova, ali može biti ograničeno ukoliko se student testira pod nadzorom. Međutim, vremensko ograničenje može vrlo lako da se implementira u samu aplikaciju ukoliko se smatra neophodnim kod primene. 

Generisanje izveštaja o rezultatima testa je ustvari i najkompleksniji deo aplikacije, jer ne samo što treba prikazati broj bodova dobijenih na testu, već treba prikazati odgovore studenta, tačne odgovore, kao i dobijene bodove za svako pitanje uz, opciono, objašnjenje pitanja ukoliko ono postoji u bazi. Kako ova aplikacija daje mogućnost da pitanje ima više nego jedan tačan odgovor, to znači i da parcijalno rešenje treba da dobije pravilan deo od ukupnog broja bodova koje to pitanje nosi. Ako student ne zna odgovor na pitanje, mogao bi označiti sve odgovore i dobiti barem deo bodova. Zbog toga prilikom generisanja izveštaja treba da detektujemo broj odgovora na pitanje i ako je taj broj veći od broja tačnih odgovora na to pitanje studentu treba dodeliti nula bodova. Prilikom pregleda izveštaja za svako pitanje se ispisuje ispravan odgovor, ali i odgovori koje je ispitanik dao. Tako se omogućava učenje na greškama, što obezbeđuje jednu od najlepših i najbitnijih prednosti same aplikacije.

Kako se u poslednje vreme pojam “Internet aplikacija” koristi da bi opisao prezentaciju koju karakteriše bilo kakav aktivni sadržaj, ukazuje se potreba da se ovaj pojam preciznije definiše. Radi se o aplikaciji koja je pisana na jednom od programskih jezika i koja se nalazi na serveru. Ona za procesiranje zahteva upućenih iz čitača (eng. browser) od strane korisnika koristi kôd pisan na programskom jeziku, a za prezentaciju HTML kôd. Tako da ukoliko korisnik pogleda izvorni kôd strane, na njoj nema ni traga od koda pisanog programskim jezikom, pošto se on procesira na serveru, a njemu se samo šalje rezultirajući HTML. Iz ovog razloga bih napomenuo da sam pri izradi same aplikacije razdvojio posao razvoja Internet strane (koji formatira pristigle podatke, pruža kontrole navigacije i čini ugođaj za korisnikove oči) od aplikativnog dela koji o Internet dizajnu ne mora da zna ništa, a koji čini srce i pokretač same aplikacije.

Takođe, bio sam svestan da je korišćenje Interneta za predstavljanje i prikupljanje podataka preraslo u velikoj meri jednostavan prikaz stranice. Odavno su prošli dani kada su projektanti, čiji je zadatak bio da prikažu stavke kolekcije, pravili zasebnu stranu za stavku. Takve stranice bilo je u početku teško organizovati, a skoro nemoguće duže vreme održavati ažurnim.

Obim i struktura podataka predstavljenih na Internetu sve više nalaže njihovo pohranjivanje i organizovanje u baze podataka. Upravo ova činjenica mi je olakšala razvoj aplikacije, jer svaka Internet lokacija (ili njen deo), koja predstavlja informacije o kolekciji sličnih stavki (u mom slučaju studenata, pitanja, odgovora, testova, rezultata), kandidat je za korišćenje baze podataka. Iz tih razloga jedan od glavnih zadataka ovog rada bilo je kreiranje baze podataka koja služi potrebama ove aplikacije.

U nastavku ću navesti spisak tehnologija koje su primenjivane prilikom izrade ove Internet aplikacije koja radi nad bazom podataka sa kratkim osvrtom na svaku od njih, jer o svim tim temama postoji dosta dokumentacije, čije se poznavanje nažalost ne može izložiti u jednom ovako kratkom prikazu:

4           HTML i pored svojih mnogobrojnih ograničenja, Hypertext Markup Language ostaje fundamentalna tehnologija za kontrolu strukture i izgleda pojedinih Internet stranica. Međutim, kao osnovni jezik za izradu Internet strana i skript programi koji se izvršavaju na računaru klijenta sami po sebi nisu dovoljni. Potrebni su skriptovi na serverskoj strani. HTML stranice i JavaScript programi mogu da budu efektni, ali pate od statičnosti: bez obzira na animaciju i specijalne efekte, stranice su onakve kakve ih je autor generisao i ne mogu se same od sebemenjati. Te stranice vide na isti način svi oni koji im pristupaju, dok se dinamički sadržaji generišu prema smernicama autora, ali i na osnovu podataka koji pristižu od klijenta i/ili podataka do kojih server dođe na neki drugi način. Dinamički generisani sadržaji su preduslov za razne primene Interneta, među kojima i jedno mesto zauzima ova Internet aplikacija za testiranje studenata koja radi nad bazom podataka.

4           Microsoft Activ Server Pages (ASP) je Microsoft-ova tehnologija (Microsoft je isporučuje sa svim svojim Web serverima) koja omogućava efiksnu izradu dinamičkih Internet stranica i kompleksnih Internet aplikacija kao što je ova. Dakle, ona obezbeđuje realizaciju skriptova na serverskoj strani. Kada posetilac na Internetu zatraži stranicu koja sadrži te skriptove, skript nadopunjuje stranicu pre nego što ona napusti server. Najjednostavniji oblik interakcije sa korisnikom kroz aktivne stranice svodi se na prikupljanje podataka pomoću HTML obrazaca i prilagođenje Internet stranice tim podacima. Jedna od najćešćih poslova koje obezbeđuje ASP jeste upravo pristup bazama podataka tako da je jedan od zadataka pri izradi ove aplikacije detaljna upotreba ove tehnologije.

4           Microsoft Visual Basic Scripting Edition (VBScript) programski jezik izabran za Active Server Pages. ASP je tehnologija koja vam omogućava da sami izaberete sintaksu koju ćete koristiti, uz postojanje odgovarajućeg mehanizma (eng. engine). U startu su obezbeđeni mehanizmi za JScript i VBScript, a moguće je naknadno dodati mehanizme i recimo za PERL, REXX ili Python. U ovoj aplikaciji sam koristio upravo VBScript delom zbog ličnih sklonosti, a delom zato što se, ako je verovati statistikama, za njega opredeljuje najveći broj ASP programera.

4           Dizajn baze podataka i primena. Prvi korak u korišćenju baze podataka je projektovanje njenih tabela i polja. Drugi korak je implementiranje ove strukture pomoću softvera za upravljanje bazama podataka. Treći i četvrti korak su dodavanje podataka i pravljenje upita nad podacima, što je u potpunosti u zavisnosti sa prva dva koraka.

4           Microsoft ActiveX Data Objects Pristupanje bazi podataka iz programskog jezika očigledno zahteva neki oblik softverskog interfejsa. Microsoft Web serveri pružaju takav interfejs – ActivX Data Objects (ADO). U skladu sa izvorom podataka kome se pristupa, ADO obezbeđuje široku ponudu objekata, metoda i svojstava. Otvaranje baze podataka i čitanje zapisa sastoji se iz sledećih koraka: pravljenje primeraka (aktivnih kopija) potrebnih ADO objekata, postavljanje njihovih svojstava, pozivanje njihovih metoda i prihvatanje rezultata. Ovaj interfejs predstavlja standard prilagođen COM objektnom modelu tako da on predstavlja celinu među svim interfejsima.

4           Struktuirani upitni jezik praktično svi sistemi za upravljanje bazama podataka prihvataju komande iz aplikacija u formatu nazvanom SQL (eng. Structured Query Language). Access kao izabrani softver za upravljanje bazom podataka ove aplikacije nije izuzetak. ADO prihvata SQL komande iz kôda aplikacije i šalje ih softveru za upravljanje bazama podataka koji ih izvršava. Mnoge Internet stranice koje pristupaju bazi podataka formiraju svoje SQL naredbe, uključujući često opcije ili vrednosti za pretraživanje određene od strane Internet posetioca

DEMO