wiki:Kesä2013/suunnitelmat/jajamisi
Last modified 4 years ago Last modified on 2013-08-22 10:11:06

Koearvostelin

Tarkoituksena on kirjoittaa ohjelma, jolla opettaja voi luoda kursseille kokeita sekä tallentaa ja muokata oppilaiden suorituksia. Oppilaita voi lisätä helposti kursseille esim. ryhmien perusteella. Ohjelma myös laskee automaattisesti oppilaiden yhteispisteet ja määrittää arvosanat erillisen taulukon avulla.

Tietokanta

Tietokanta käyttää oleellisesti seuraavanlaisesta rakennetta (seuraavia tiedostoja / tietotyyppejä):

1 - Oppilaat = {id, nimi, ryhmä}
2 - Kurssit = {id, nimi}
3 - Kokeet = {id, rakenne}
4 - Oppilaan ja kurssin välinen suhde = {oppilaan id, kurssin id, onko suoritettu}
5 - Kurssin ja kokeen välinen suhde = {kurssin id, kokeen id}
6 - Oppilaan, kurssin ja kokeen välinen suhde = {oppilaan id, kokeen id, tehtäväkohtaiset pisteet}
7 - arvostelutaulukot - kokeen maksimipisteiden ja oppilaan saamien pisteiden perusteella annettava arvosana, esim. 8½

Tietotyyppejä on siis tasan kahdenlaisia, olioita ja olioita, jotka kertovat kahden olion välisen suhteen. Tietokanta koostuu yksinkertaisesti edellisten tietotyyppien muodostamista listoista.

Talletustietojen muoto

Ohjelma rakennetaan osa kerrallaan siten, että yksittäisen tietotyypin tallenusmuodosta ei tarvitse välittää. Oleellisesti tiedostoilla on seuraava rakenne:

[Tietotyypin tunniste][erotinmerkki 1.][Tietotyypin data][erotinmerkki 2.]
(tekstitiedostossa voi olla rivinvaihto mutta ei tarvitse)
[Tietotyypin tunniste][erotinmerkki 1.][Tietotyypin data][erotinmerkki 2.] ... .

1 - Students.txt - opiskelijanumerot, nimet, ryhmät

oid |sukunimi      ;  etunimi   ; ryhmä  |
5   |Globetrotter  ;  Gabriel   ; 99A    |
7   |Mänty         ;  Minna     ; 98C    |

2 - Courses.txt - kurssien tiedot

id   | nimi  ; opettaja    |
5    | MA1.1 ; Ketonen     |
54   | GE1.2 ; Tiainen     |   


Opetussuunnitelman kannalta samalla kurssilla voi olla useita rakenteita (kokeilla useita pistemäärityksiä) sen mukaan, minkä jakson kurssista on kyse (tai mistä saman jakson rinnakkaiskurssista eri palkilla/koodilla on kyse). Alkuikkunan toiminnon kautta voi lisätä uusia kursseja kurssit-tiedostoon. Sitten voi lisätä oppilaita tai kokeita kurssille.

3 - Exams.txt

id|nimi;rakenne
5|GE-koe;6]6]6]6]3,3]|
7|RBkoe;3,3]2,2,2]6]6|

Siis kokeen tehtävien maksimipisteet, tehtävät hakasululla eroteltuna (pilkulla eroteltuna alakohdat a/b/c - nimen voi jättää tyhjäksikin, tai se voi olla esim. kokeen päivämäärä)

4 - StudentCourses?.txt

oppilaan id, kurssin id  | 
7,1|
3,1|

5 - CourseExams?.txt

kurssin id, kokeen id ||
54,1544 ||
53,1545 ||
54,5 ||

6 - StudentCourseExams?.txt

oppilaan id, kurssin id, kokeen id | koepisteet
5,54,5   | 5]4]3]5]2,3|
3,67,78  | 2]3]1]2|

7 - gradings.txt
Ohjelmassa on aluksi yksi arvostelutaulukko. Siinä oletetaan koepisteiden olevan maksimissaan 24-37. Toistaiseksi käyttäjä ei voi luoda uusia taulukoita monipuolisemmin eri koetyypeille ja tiukkuustasoille, mutta toiminnallisuus on tarkoitus toteuttaa myöhemmin. Katso tarkemmin alin kappale.

Tietorakenne ja crc-kortit

Kuva tietorakenteesta: http://users.jyu.fi/~akpetali/tietorakenne.jpg
CRC-kortit: http://users.jyu.fi/~akpetali/crc-kortit.pdf

Ohjelman käyttö

Ohjelma käynnistyy kahteen ikkunaan, joista toisessa lisätään kursseja tietokantaan ja oppilaita kurssille, ja toisessa kokeita kursseille (ja poistetaan oppilaita/kokeita). Kokeen luominen avaa kolmannen ikkunan. Päävalikosta voidaan valita tietokanta, jota käytetään. Siitä myös tapahtuu tietokannan tallentaminen levylle. Se sisältää seuraavan menun:

Tiedosto

avaa => avaa tietokannan, jota muokataan.
tallenna => tallentaa kaikki muutokset.
lopeta

Ikkunat

Kurssit => avaa kurssien muokkauspaneelin.
Oppilaat

Ohje

ohje
tietoja

Avattavia ikkunoita

kurssien muokkauspaneeli (kuva liittessä, ks. alla)

  • käytetään uusien kurssien, kokeiden ja suorituksien lisäämiseen ja muokkaamiseen.
  • kolme oleellista elementtiä:
    1. laatikko, josta valitaan muokattava kurssi.
    2. laatikko, josta valitaan mitä kurssin attribuuttia muokataan.
    3. taulukko, jolla attribuutin muokkaaminen tapahtuu.
      Esim. Jos käyttäjä haluaa muokata kokeen 1. suorituksia, tulee hänen valita kyseisen kokeen nimi attribuutti laatikosta. Tällöin taulukko listaa kurssin oppilaat ja heidän saamansa pisteet, joita voi sitten muokata.

https://svn.cc.jyu.fi/srv/svn/ohj2k13/jajamisi/kuvat/courses.gif

oppilaat-paneeli

  • Listaa tietokannassa olevat oppilaat.
  • Yhdessä kurssi-ikkunan kanssa käytetään oppilaiden lisäämiseen kursseille.

esim. jos kurssi 1. on valittuna kurssi-ikkunasta ja tietyt oppilaat ovat valittuna listasta, lisätään kys. oppilaat tälle kursille painamalla "lisää kursille" nappulaa tai vastaavaa valikkotoimintoa.
-voi myös lisätä kursseille ryhmän perusteella.

Kokeen muokkausikkuna
Kokeelle voi antaa nimen. Rivejä lisätään tehtävien määrän mukaan. Tehtävien pisteet ovat allekkain ja a/b-kohdat rinnakkain.

Pistetaulukot

Tällaisista taulukoista ohjelma antaa arvosanan kokonaispisteiden perusteella:

Taulukkotyyppi 1: maksimipisteet 24-37
Lepsu arvostelu (csv): http://users.jyu.fi/~akpetali/arvosanat1.csv
Lepsu arvostelu (jpg, ks. alla): http://users.jyu.fi/~akpetali/arvosanat1.jpg
Lepsu arvostelu (ods): http://users.jyu.fi/~akpetali/arvosanat1.ods

Tämä ykköstaulukko on oletus toistaiseksi - jos aikaa jää, lisätään taulukoita, joista opettaja voi valita haluamansa. Nyt siis taulukko sopii esimerkiksi kokeille, joissa on 4-6 tehtävää eli kokonaispisteitä 24-36 (alakohtia a-f voi toki olla). Pistetaulukoissa on vain kokonaislukuja, mutta koepisteet ovat desimaalilukuja, joiden kokonaispistemäärä pyöristetään automaattisesti taulukkoon vertaamiseksi. http://users.jyu.fi/~akpetali/arvosanat1.jpg

Taulukkotyyppi 2: maksimipisteet kymmenen välein (20-150), erilainen rakenne, eli täytyy monimutkaistaa, rajoittaa tai muokata yhdenmuotoiseksi

Tiukempi arvostelu (csv): http://users.jyu.fi/~akpetali/arvosanat2.csv
Tiukempi arvostelu (ods): http://users.jyu.fi/~akpetali/arvosanat2.ods

Attachments