Gama3 tester

11. Február, 2011, Autor článku: Gašparík Martin, Informačné technológie
Ročník 4, číslo 2 This page as PDF Pridať príspevok

Cieľom tohto článku je oboznámiť verejnosť so skúšobným trenažérom, ktorý vznikol ako tímový projekt študentov FEI STU: Martina Gašparíka, Martina Hochela, Mateja Hatalu, Lucie Cibulkovej, Tomáša Búgela, pod vedením doc. Dr. Ing. Miloša Oravca a Ing. Klementa Vitázka, PhD. Cieľom projektu bolo spraviť webovú aplikáciu, pomocou ktorej by učiteľ mohol na cvičení preskúšať študentov a zároveň jednoducho zisťovať prítomnosť študentov na cvičení.

Popis

Aplikácia sa delí na dve časti, podľa toho aký typ používateľa je prihlásený, na učiteľskú a študentskú.

Učiteľská časť

Tato časť je najrozšírenejšia, pretože sa tu spravuje skoro celá aplikácia. Možnosti aplikácie sú rozdelené do nasledujúcich sekcii:

Cvičenie

S touto sekciou sa učiteľ stretáva najčastejšie. Tu je možné otvoriť požadované cvičenie, aby študenti mohli dať vedieť učiteľovi, kto je prítomný. Ďalšou možnosťou je umožniť študentom vykonať test. Test sa vygeneruje náhodne každému študentovi, podľa kritérií ktoré je možné zadať v sekcii parametre testov. Ďalej je tu možne vidieť prehľadnú tabuľku študentov prítomných na danom cvičení, spolu s informáciou či už začali písať, píšu, alebo dopísali test. Systém upozorní učiteľa, pokiaľ dvaja študenti robia test z jedného počítača, alebo jeden študent z dvoch počítačov. Ako uvedená sekcia vyzerá je možne vidieť na obrázku.


Používatelia

V tejto sekcií prebieha administrácia používateľov. Učiteľ môže okrem pridávania a uberania užívateľov, meniť študentom profil vrátanie hesla v prípade zabudnutia. Pridávanie používateľov prebieha zadaním identifikačného čísla. V prípade potreby pridať viacerých použivanie je možné zadať viac čísiel oddelených medzerou. Systém umožňuje aj import študentov z CSV súboru.

Formát CSV súboru je zhodný s formátom ktorý exportuje informačný systém STU. Pridávanie používateľov prebieha iba pomocou identifikačného čísla. Ku každému číslu sa systém pokúsi automaticky vyplniť profil a používateľské meno, ktoré je získane z informačného systémy STU. V prípade neúspechu nebude profil vyplnení, v tom to prípade je vhodné keď si ho študenti vyplnia sami.


Hodnotenie

Učiteľ môže prezerať hodnotenie jednotlivých študentov, prípadne prítomnosť študentov na cvičení. Ďalej je tu možnosť manuálne upravovať hodnotenie, prípadne znovu povoliť opakovanie testu. Študentov je možné filtrovať podľa absencii, pripadne zobraziť iba študentov aktuálneho cvičenia. Samozrejmosťou je možnosť zoznamy exportovať do formátu pdf, prípadne csv.

Otázky

V tejto sekcii je možné prezerať, pridávať a modifikovať otázky. Ku každej otázke je uvedené na ktorom cvičení sa ma zobraziť, počet bodov za otázku, spôsob ako sa za nesprávnu odpoveď strhávajú body. Text otázky je možné formátovateľný HTML značkami a je možné im priradiť jeden obrázok. Na výber máme 4 typy otázok:

  • Checkboxy – tu ma študent na výber z niekoľkých ponúknutých možností
  • Regexp – študent ma možnosť odpovedať vo forme textového reťazca. Systém testuje či zadaní reťazec vyhovuje regulárnemu výrazu zadanému učiteľom
  • Regexp ignoruj veľkosť – podobne ako Regexp, ale pri testovaní sa neberie v úvahu veľkosť písmen
  • Interval – študent zadá reálne číslo, a systém testuje, či vyhovuje intervalu zadanému učiteľom


Parametre Testov

Testy sa pre študentov generujú náhodne podľa zadaných kritérií. Je možne pre jednotlive týždne zadať koľko otázok daného počtu bodov sa ma vygenerovať. Otázky sa generujú z databázy tak, že sa náhodne vyberajú z otázok pre aktuálny týždeň a všetky týždne pred ním. Je tu možnosť nastaviť, pravdepodobnosť že v testu bude viac otázok z aktuálneho týždňa ako z predchádzajúcich.

Nastavenie

Tu je možné určiť počet týždňov v semestri tj. počet okruhov otázok. Ďalej je tu možno zadať sieťový rozsah z ktorých študenti môžu robiť testy. Pokiaľ sa prihlásia z IP adresy nepatriace do daného rozsahu, študentom nebude dovolené robiť testy ani prezenciu, ale môžu si pozerať výsledky, prípadne upravovať svoj profil.

Odovzdané testy – Odpovede

Učiteľ má možnosť prezerať vyplnené testy, ktoré odovzdali študenti.

Študentská časť

Táto časť je určená pre študentov. Tu majú možnosť robiť testy, pozerať si výsledky a editovať svoj profil, ktorý zahŕňa meno, email a heslo.

Inštalácia

Požiadavky

Aplikácia potrebuje k behu nasledovné aplikácie alebo knižnice:

Postup inštalácie

Aplikácia by mala bežať na všetkých platformách, ktoré sú podporovane implementáciou jazyka PHP a databázou MySQL. Rozhodol som sa popísať inštaláciu na systémoch založených na GNU/Linuxovej distribúcii Debian. Postup na ostatných systémoch sa sa moc nelíši. Postup inštalácie je nasledovný (Pokiaľ máme prístup na existujúci server s podporou PHP a MySQL, môžeme kroky 1-5 vynechať.):

  1. Nainštalujeme webserver Apache (spustíme apt-get install apache2)
  2. Nainštalujeme PHP ako modul do webserveru Apache (spustíme apt-get install php5)
  3. Nainštalujeme databázový server MySQL (spustíme apt-get install mysql-server, pričom si od nás inštalátor vypýta heslo pre administrátora databázy)
  4. Nainštalujeme podporu MySQL pre PHP. (spustíme apt-get install php5-mysql)
  5. Reštartujeme webserver (spustíme service apache2 restart)
  6. Rozbalíme našu aplikáciu do dokumentového koreňa webového servera (v našom prípade /var/www)
  7. Následne potrebujeme vytvoriť databázu. Vytvorenie prebieha spustením skriptu databaza.sql na strane servera. Toto je možné vykonať buď pomocou GUI napr. phpMyAdmin, voľba import, no my použijeme textovú konzolu dodávaní s MySQL.
    • Vytvorenie databázy prebehne spustením cat databaza.sql | mysql –user=root –pass=<heslo_spravcu> –host=<adresa_serveru>, čím sa vytvorí databáza z názvom gama3. Pokiaľ by bolo potrebné zvoliť iné meno databázy, je možné ho zmeniť v prvých riadkoch skriptu.
    • Ďalej sa prihlásime k serveru pomocou mysql –user=root –pass=<heslo_spravcu> –host=<adresa_serveru>. Server by mal odpovedať výzvou Mysql>
    • Teraz vytvoríme používateľa gama3 z heslom „heslo“ zadaním CREATE USER ‘gama3’@’localhost’ IDENTIFIED BY ‘heslo'; Sever by mal odpovedať textom Query OK, 0 rows affected (0.00 sec).
    • Následne používateľovi gama3 pridáme práva pre našu databázu a to nasledovne: GRANT ALL ON gama3.* TO ‘gama3’@’localhost'; Odpoveď by mala byť Query OK, 0 rows affected (0.00 sec).
    • Následne sa odhlásime použitím exit.
  8. Stiahneme šablónovací systém Smarty (http://www.smarty.net) a rozbalíme napr. do /opt/Smarty.
  9. Stiahneme knižnicu databázovej abstrakcie Dibi (http://dibiphp.com) a rozbalíme napr do /opt/dibi.
  10. Stiahneme knižnicu na generovanie pdf mpdf (http://mpdf.bpm1.com) a rozbalíme napr. do /opt/mpdf.
  11. Pokiaľ chceme mať novšiu verziu JavaScriptovej knižnice jQuery ako tá, ktorá je dodávaná s aplikáciou, môžeme ju stiahnuť z adresy http://jquery.com a uložiť ju do koreňového adresára aplikácie ako jquery.js.
  12. Aktualizovať jQuery pluginu Boxy je možné stiahnutím z http://plugins.jquery.com/project/boxy. Adresár src/images je potrebné rozbaliť do /var/www/boxy/images a src/javascripts a src/stylesheets do /var/www.
  13. S aplikáciou je dodávaný balíček Net_IPv4 z frameworku PEAR (http://pear.php.net/package/Net_IPv4/), ktorý je upravený aby pracoval bez nutnosti inštalovať celý PEAR framework. V prípade potreby je možné použiť vlastnú verziu.
  14. Teraz je na rade konfigurácia našej aplikácie.
    • Otvoríme súbor common.inc v textovom editore
    • V sekcii „Cesty ku knizniciam“ zadáme, cesty ku knižniciam ktoré sme rozbalili. Napr:
      require_once(“/opt/dibi/dibi.php”);
      require_once(“/opt/Smarty/libs/Smarty.class.php”);
      require_once(“/opt/Net_IPv4/Net/IPv4.php”);
      require_once(“/opt/mpdf/mpdf.php”);
    • Je potrebné sa ubezpečiť že apache ma práva čítať tieto súbory.
    • Parametre prístupu k databáze je možné zadať v sekcii „Konfiguracia databázy“
  15. Týmto by mala byť inštalácia kompletná. Následne je možné sa prihlásiť ako učiteľ pod menom „0“, heslo môže byt ľubovolne. Po prihlásení je potrebné si v nastaveniach nastaviť heslo.
  16. V predvolenom režime sa používatelia prihlasujú pomocou id (alebo loginu ak je zapísaný v profile). V súbore common.inc je možné nastaviť autentifikáciu pomocou servera LDAP, prípadne kombináciou obidvoch technik. V prípade zvolenie LDAP, sa použije LDAP server STU. V tomto prípade sa musí server nachádzať na sieti STU. Pre iný spôsob autentifikácie je možné upraviť súbor Ldap.class.php.
  17. Ako bolo spomenuté vyššie, systém si vyberá informácie o používateľoch z informačného systému STU. Komunikácia prebieha sťahovaním vizitiek (vCard) z ktorých sa vytiahnú potrebné údaje. V prípade použitia iného systému je možné upraviť súbor Ais.class.php, ktorý obsahuje jednu metódu ktorá ako parameter ma id používateľa a vracia pole z hodnotami.

Záver

Na záver spomeniem zopár výhod tohto systému. Systém nemá vysoké HW nároky, ľahko sa inštaluje, je slobodný (GNU GPL) a využíva slobodní softvér. Je ho možné prevádzkovať na väčšine hostingových systémoch, z dôvodu nízkych požiadaviek na SW vybavenie. Je ľahko ovládateľný, umožňuje detailne sledovať prítomnosť študentov a ich aktivity. Systém obsahuje mechanizmy na kontrolu študentov proti podvádzaniu a komunikáciu z informačným systémom.

1 príspevok k článku “Gama3 tester”

  1. borec11 napísal:

    tak tieto funkcie su priamo v is stu implementovane, dokonca si myslim ze vytvaranie testov ponuka o dost viac moznosti. ale ved v pohode :)

Napísať príspevok