Versio: | 11.3.2015 |
---|
Tässä dokumentissa kuvaillaan Jyväskylän yliopiston Informaatioteknologian tiedekunnan aineopintotasoisen kurssin "ITKA203 Käyttöjärjestelmät" osaamistavoitteet. Uusin kehitysversio historiatietoineen on seuraavassa sijainnissa: https://yousource.it.jyu.fi/itka203-kurssimateriaalikehitys/itka203-kurssimateriaali-avoin/blobs/master/osaamistavoitteet.txt
Aiemmin osaamistavoitteet olivat implisiittisessä tenttikysymystärppien ja avainsanalistojen muodossa sekä huomioina harjoitustehtävien johdannoissa. Keväällä 2015 ne on ensimmäistä kertaa eksplikoitu kohdassa Taustamateriaali ja kansainväliset suositukset mainitun ohjeistuksen mukaisesti. Opettajat varaavat mahdollisuuden muokata tavoitteita kevään 2015 kurssin aikana, mikäli tarvetta ilmenee. Kevään 2015 versio kiinnitetään viimeistään viimeisellä luennolla, ja sen jälkeen se pidetään samana kolmen tenttikerran ajan.
Laadinnan pohjana käytettiin seuraavaa W5W^2 -projektin tuottamaa ohjetta, johon oman opintotietojärjestelmämme Korpin osaamistavoiteohjeet viittaavat:
Mallina on käytetty ACM:n "computing curriculum" -suosituksia vuosilta 2001 ja 2013 (käyttöjärjestelmien osalta suositus on kohtalaisen muuttumaton näiden versioiden välillä; lisätyt kohteet vaikuttaisivat liittyvän muihin kursseihimme, joten ydinsisältö rakennettiin nyt ensisijaisesti vuoden 2001 mallin mukaisesti):
http://wiki.acm.org/cs2001/index.php?title=Operating_systems
http://www.acm.org/education/CS2013-final-report.pdf (erit. sivu 138)
Tässä tehty ACM-mallin mukautus perustuu paikalliseen kurssikehityskaareen sekä muilla tiedekuntamme kursseilla tarjottavaan opetukseen: Kurssille on valittu tietyt ACM-mallin "elective"-tavoitteet, joita meillä on aiemminkin korostettu. Toisaalta on jätetty pois tavoitteita, jotka kuuluvat omassa OPSissamme joillekin muille kursseille. ACM:n "core"-tavoitteista joitakin on karsittu tämän kurssin rajallisen tuntimäärän vuoksi. Konkreettisiin käytännön esimerkkeihin perustuva toteutusnäkökulma tuo käytännönläheisiä osaamistavoitteita, joita ACM-mallissa ei mainita. Näistä erityisesti ohjelmointiin liittyvät osaamistavoitteet ovat linjassa niiden tutkintojemme profiilin kanssa, joilla tämä kurssi on pakollinen osa.
Käyttöjärjestelmän rakenne ja periaatteet, rinnakkaisuus, ajoitus, muistin hallinta, oheislaitteiden hallinta, tiedostojärjestelmä.
Kurssilla esitellään opiskelijalle käyttöjärjestelmien merkitystä, periaatteita ja toteutusratkaisuja yksinkertaistettujen teoreettisten yleiskuvausten sekä konkreettisten koodi-, kuori- ja skriptausesimerkkien kautta. Konkreettisina esimerkkiartefakteina käytetään Linuxin ydintä lähdekoodeineen, POSIX-standardia, bash-kuorta, GNU-työkaluja, C-kieltä ja AMD64-prosessoriarkkitehtuuria.
Hakasuluissa tavoitelauseiden lopussa on koetettu tehdä ydinainesanalyysiä seuraavasti:
Tämä kurssi on ensimmäinen johdanto aihepiiriin, joten se on enemmän laaja kuin syvä. Niinpä suurin osa osaamistavoitteista, eli kurssin ns. "ydinaines", ovat luonteeltaan melko pintapuolisia ja siten toivottavasti myös yksittäisinä vähemmän työläitä saavuttaa. Ne kuuluvat kolmeen ensimmäiseen tasoon (jotakuinkin vastaten arvosanoja 1-3), joilla kurssin saa läpi ja voi hyvällä omallatunnolla jatkaa opintoja alalla. Kahteen viimeksi mainittuun kategoriaan puolestaan sisältyy erityisesti (1) kurssin luonteen mukaisesti teknisiin yksityiskohtiin ja koodarin kädentaitoihin liittyvää osaamista, joka ylittää pintapuolisen ydinaineksen, sekä (2) aineopintotasoiseen yleistavoitteeseen liittyen tieteellistä ja ammatillista osaamista. Sokerina pohjalla on viimeisenä mainittu yksi ultimaattisempi osaamistavoite, joka parhaimmillaan voisi johtaa käyttöjärjestelmien syvällisempään tutkimiseen esimerkiksi kanditutkinnon aihepiirinä.
Arvostelun mielessä noudatetaan osittain "määrä korvaa laadun" -periaatetta, jossa tentissä kysytään pääasiassa tasojen 1-4 asioita, vaikka täysillä pisteillä on mahdollista saada arvosanaksi 5. Tasoon 5 liittyviä lisätehtäviä tekemällä voi kuitenkin saada bonuspisteitä, joilla on mahdollista kompensoida unohduksia/lapsuksia tasojen 1-4 asioihin liittyvissä kysymyksissä. Tason 5 tavoitteet ovat luonteeltaan soveltavia ja luovia, joten niiden saavuttaminen edellyttää oletettavasti tasojen 1-4 osaamista.
Käyttöjärjestelmät -kurssin suoritettuaan opiskelija...
...käyttöjärjestelmän rakenteen ja periaatteiden osalta:
... rinnakkaisuuden osalta:
... muistinhallinnan osalta:
... oheislaitteiden hallinnan ja tiedostojärjestelmän osalta:
... käytännön sovellusten osalta (kuori):
... käytännön sovellusten osalta (C-kieli, binääritiedostot, kj-kutsut):
... tieteellisten ja ammatillisten taitojen osalta:
Tällä kurssilla ei käsitellä seuraavia kansainvälisissä sisältösuosituksissa listattuja asioita:
Aiheita käsitellään käyttöjärjestelmiinkin sovellettavissa olevista yleisistä näkökulmista rinnakkaisilla aineopintokursseilla sekä syventävillä jatkokursseilla, mm. Ohjelmistoturvallisuus, Tietoverkkoturvallisuus, Operating System Security 1&2 (sekä muut Informaatioturvallisuus-kurssit), Requirements Engineering, Ohjelmistoarkkitehtuurit, Ohjelmistotestaus, Hajautetut järjestelmät, Introduction to SOA and Cloud Computing, ...
Yrittää mukailla ns. Bloomin taksonomiaa. Taulukko on välttämättä karkea yksinkertaistus yllä mainituista täsmällisistä osaamistavoitteista.
1 muistaa 2 ymmärtää 3 osaa soveltaa 4 osaa analysoida 5 osaa arvioida 6 osaa luoda
Osa-alue | "Bloomin taso" |
---|---|
Käyttöjärjestelmän merkitys | ymmärtää |
Käyttöjärjestelmän perustoiminta | ymmärtää |
Käyttöjärjestelmän perusrakenne | ymmärtää |
Keskeytysjärjestelmä | ymmärtää |
Rinnakkaisuus | osaa soveltaa |
Tehtävien ajoitus, skedulointi | osaa soveltaa |
Muistin hallinta | ymmärtää |
Oheislaitteiden hallinta | ymmärtää |
Tiedostojärjestelmä | ymmärtää |
Interaktiivinen tekstikuori | osaa soveltaa |
Kuoriskriptit | ymmärtää |
C-kieli | ymmärtää |