Opintorekisteri¶
Miten vaikeaa yhden opintorekisteriohjelmiston tekeminen voi olla? Ilmeisesti aika vaikeaa, jos pitää päätellä eräässä yliopistossa käytetyn erään järjestelmän laadusta. Onneksi näin alkeiskurssilla voidaan tehdä vähän helpompi versio, ja tutustua ihan vain pikkuisen tähän ongelmakenttään.
Ohjelman toiminnot¶
Ohjelmalta halutaan seuraavat toiminnot. Lisäominaisuuksia ei vaadita työn hyväksymiseen, mutta niistä luonnollisesti enemmän pisteitä.
- Opiskelijan lisääminen kurssille
- Ohjelma pyyttää syöttämään opiskelijan nimen ja opiskelijanumeron
- Lisäominaisuus: ohjelma antaa valinnaisesti syöttää myös arvosanan ja arvostelupäivämäärän (jos ohjelma pakottaa syöttämään nämä tässä vaiheessa, tästä ei saa pisteitä)
- Arvostelun merkintä
- Opettaja valitsee opiskelijan syöttämällä opiskelijanumeron
- Ohjelma kysyy arvosanan ja arvostelupäivämäärän, ja päivittää ne valitun opiskelijan tietoihin
- Lisäominaisuus: kurssin tiedoissa on lisäkenttä, joka kertoo onko arvostelu numeroilla vai hyv/hyl, ja ohjelma hyväksyy vain oikein tyyppisen arvosanan
- Opiskelijoiden listaaminen
- Tulostaa kaikki kurssin osallistujat kaikkine tietoineen, sukunimen mukaan järjestettynä
- Lisäominaisuus: opettaja voi valita näytettäväksi vain opiskelijat, jotka ovat saaneet arvosanan, tai opiskelijat jotka eivät ole
Ohjelman toiminnot toteutetaan tekstipohjaisena valikkona terminaalissa 2. ja 3. materiaalin esimerkkien tapaan.
Kurssin tiedot¶
Kurssi tulee olla ohjelman muistissa tietorakenteena, jossa on sekä kurssin omia tietoja kuten nimi, koodi, ja arvosteluasteikko (lisäominaisuutta varten); sekä lista kurssin osallistujista. Suunnittele tarpeeseen sopiva sanakirjoja ja listoja yhdistävä tietorakenne. Päivämäärät kannattaa tässä ohjelmassa tallentaa merkkijonoina.
Datan hallinta¶
Minimaalisessa toteutuksessa kurssin tiedot säilytetään ohjelman muistissa sopivana tietorakenteena. Tämä tietenkin tarkoittaa sitä, että kaikki tiedot katoavat, jos ohjelma sammutetaan. Hiukan paremmassa toteutuksessa kurssin tiedot olisikin hyvä tallentaa datatiedostoon ennen ohjelman sulkemista. Seuraavista ominaisuuksista saa siis lisäpisteitä.
- Kurssin tallentaminen
- Ohjelma tallentaa muistissa olevan kurssin tiedot sammutettaessa tai käyttäjä pyynnöstä
- Lisäominaisuus: käyttäjä voi valita millä nimellä kurssi tallennetaan
- Kurssin lataaminen
- Ohjelma lataa kurssin tiedot käynnistettäessä tai pyydettäessä
- Lisäominaisuus: käyttäjä voi valita minkä kurssin tiedot ladataan antamalla tiedoston nimen komentoriviargumenttina tai syötteenä
Tallentamiseen suositellaan käytettävän json-moduulia.