Kurssin arvostelu alkaa arvosteluperusteiden kokoamisella. Esimerkkikurssilla opiskelijan pitää saada puolet demopisteistä, joten maksimidemopistemäärän ollessa 40, tulee siis opiskelijalla olla 20 pistettä demoista. Maksimitenttipistemäärä on 5 tehtävää x 6 pistettä eli 30 pistettä, joten opiskelijan tulee saada vähintään 15 pistettä läpäistäkseen tentin. Kurssin minimipistemääräksi muotoutuu näin 20+15=35 pistettä. Näillä tiedoilla voidaan muodostaa kurssille arvostelufunktio, jolla kurssilaiset arvostellaan ja lopullinen arvolause muodostuu annetun arvosteluasteikon mukaan.
Opintosuoritukset-sivulla määritellään kurssille sekä arvosteluasteikko, että pistelaskukaava. Opintosuoritukset-sivulle pääsee puusta halutun kurssin kohdalta.
Arvosteluasteikon luominen aloitetaan valitsemalla Lisää uusi asteikko arvosteluasteikon alasvetovalikosta. Mikäli kurssille ei vielä ole määritelty yhtään asteikkoa, on uuden asteikon luominen ainoa vaihtoehto. Asteikolle pitää antaa nimi, joka eroaa muista saman kurssin asteikkojen nimistä. Lisäksi valitaan asteikon tyyppi, joka voi olla joko1-3, TT-ET, Approbatur-Laudatur tai Hyväksytty-Hylätty. Asteikko on myös mahdollista kopioida joltain muulta kurssilta valitsemalla Kopioi olemassaoleva asteikko pohjaksi . Olemassaolevan asteikon kopioimisesta pääsee takaisin "tyhjään asteikkoon" valitsemalla Luo tyhjä asteikko . Seuraavaksi siirrytään määrittelemään asteikon pisterajoja painamalla Määritä pisterajat -painiketta.
Mikäli kyseessä on lineearisesti muodostettava asteikko, riittää pisterajoiksi merkitä vain pisteet, joiden väliin asteikko muodostetaan, ja asettaa merkityksi Täytä puuttuvat pisteet lineaarisesti -kohta sekä asettaa luotavien pisteiden tarkkuus. Pisteet voi myös aivan hyvin kirjoittaa itsekin. Mikäli asteikkoa ei luoda automaattisesti (lineaarisesti), pisteyttämättä jätettyjä arvolauseita ei oteta mukaan asteikkoon. Luotava asteikko tallennetaan kurssille Luo asteikko -painikeesta.
Pistelaskukaava kirjoitetaan arvostelufunktioksi, jolla kurssi voidaan automaattisesti arvostella. Mikäli funktion tekeminen itse tuntuu liian vaikealta, voit aivan hyvin ottaa yhteyttä korppiadminiin <korppiadmin@it.jyu.fi> ja pyytää apua. Jokaisella kurssilla on hieman erilainen arvosteluperuste muihin verrattuna, joten yhtä yleistä ja kaikille yhteistä arvostelufunktiota ei ole voitu kehittää.
Mikäli kurssilla ei ennestään ole arvostelufunktioita, on sellainen luotava. Uudelle funktiolle pitää antaa kurssin muista arvostelufunktioista eroava nimi. Kuvaus ei ole pakollinen, mutta varmastikin hyödyllinen. Yleensä siinä kannattaa mainita ainakin kurssi, jota varten funktio on muodostettu, miksei myös joitakin yleisiä tietoja itse funktiosta. Lisäksi funktiolle määritellään käyttäjäryhmä. Vaihtoehtoja ovat opettajat ja tuntiopettajat. Käyttäjäryhmänä on automaattisesti opettajat, jolloin vain kurssin opettajat voivat arvostella kurssin. Jos kurssilla valittuna olevalla arvostelufunktiolla käyttäjäryhmänä on tuntiopettajat, myös kurssin tuntiopettajat voivat arvostella opiskelijoita lomakkeen täytön yhteydessä.
Kurssille voi kopioida muiden luomia arvostelufunktioita Kopioi olemassa oleva funktio pohjaksi -optiolla. Takaisin oman funktion luontiin pääsee valitsemalla Luo tyhjä funktio .
Uusi funktio luodaan Luo funktio -painikkeesta.
Varsinainen funktion kirjoittaminen tapahtuu vasta tässä vaiheessa. Kurssin arvostelu perustuu siis demopisteisiin ja tenttipisteisiin, joista arvolause lasketaan. Pistelaskussa tarvittavat kentät ovat siis lomakkeisiin "Tentti" ja "Demot" asetettuja kenttiä. Valitaan nämä kentät Olemassaolevat kentät -listasta. Painamalla "nuoli"-painiketta (=>) kentät siirtyvät Pistelaskussa tarvittavat kentät -laatikkoon. Laatikkoon voi myös itse kirjoittaa tarvittavat kentät, mutta pitää muistaa noudattaa oikeaa syntaksia, eli yksi kenttä otetaan mukaan kirjoittamalla
tools.use("kentän_sisäinen_nimi");
Kun tarvittavat kentät on listattu, kirjoitetaan itse funktio. Funktioissa käytettävistä apumetodeista on lisää liitteessä.
Esimerkkikurssin funktiosta muodostuu seuraavanlainen:
//Vähimmäispisteet kurssin läpäisemiseksi: //puolet demopisteistä ja puolet tenttipisteistä //eli 35 pistettä MIN = (5*8)/2 + (5*6)/2; //lasketaan demopisteiden summa: demopisteet = tools.getSum("Demot_",1,5); //lasketaan tenttipisteiden summa: tenttipisteet = tools.getSum("Tentti_",1,5); kokonaispisteet = demopisteet + tenttipisteet; //jos kokonaispisteitä on tarpeeksi jatketaan arvostelua if (kokonaispisteet >= MIN) { //selvitetään arvolause tulos-muuttujaan tulos = tools.getGrade(kokonaispisteet); //tallennetaan tulos tools.saveGrade(tulos); //tallennetaan tulos myös arvolause-kenttään opiskelijoille nähtäväksi //arvolause-kentän sisäinen nimi on Tentti_6! tools.setString("Tentti_6", tulos); }
Tallennetaan vielä funktio (tai muutokset siihen) Tallenna funktio -painikkeesta.
Toinen esimerkki funktion muodostamisesta:
Kurssilla on kolme osatenttiä, joissa kussakin kolme tehtävää. Lisäksi harjoitustyöt pitää olla tehtynä. Kussakin osatentissä saa kustakin kolmesta tehtävästä pisteitä 0-3, tehtävien keskiarvo on kyseisen tentin tulos, keskiarvon oltava vähintään 1. Kurssin kokonaistulos on hyväksyttyjen osatenttien tulosten keskiarvo.
Oletetaan, että on tarvittavat lomakkeet ja niille on tehty kentät
tentti1_t1, tentti1_t2, tentti1_t3, tentti1_s, tentti2_t1, tentti2_t2, tentti2_t3, tentti2_s, tentti3_t1, tentti3_t2, tentti3_t3, tentti3_s, pisteet, harkkatyo, arvolause.
Funktio muodostuu seuraavanlaiseksi:
// jos harkkatyö on tehty, jatketaan arvostelua harkka = tools.getValue("harkkatyo"); hyvtentteja = 0; // tenttien summa tenttisumma = 0; for (i=1; i<=3; i++) { // osatentin tulos tentti = tools.getSum("tentti"+i+"_t",1,3)/3; tools.setDouble("tentti"+i+"_s", tentti); // jos osatentin tulos on hyväksytty, jatketaan if (tentti >= 1) { tenttisumma += tentti; hyvtentteja += 1; } //jos kaikki tentit ja harkka on hyväksytty jatketaan if ( (hyvtentteja==3) && (harkka) && (harkka != "") ) { // kurssin kokonaistulos: tulos = tenttisumma/3; // tallennetaan tulos tools.saveGrade(tulos); tools.setDouble("pisteet", tulos); tools.setString("arvolause", tulos); }