Kaisa_2012_3_photo by Veikko Somerpuro

TIETOKONEEN TOIMINNAN JATKOKURSSI

Tietokoneen ja käyttöjärjestelmän toiminta. Kurssi on suoraa jatkoa kurssille Tietokoneen toiminnan perusteet (2 op).

Huom! Kurssin viimeiset tentit (29.4.ja 5.6.2020) ovat Moodle-tenttejä klo 16.00- 19.00. Muistathan ilmoittautua kurssille Weboodissa viimeistään päivää ennen tenttiä (mieluummin aiemmin), jotta saat Moodleosoitteen ja -avaimen kurssisivulle esiin seuraavana päivänä.

Anmäl dig
Moodle
Logga in för att se kursnyckeln för Moodle.

Material

KIRJALLISUUS JA MATERIAALIT

Tietokoneen toiminnan perusteet MOOC (2 op), https://tietokoneen-toiminnan-perusteet.mooc.fi/, esitietovaatimuksissa mainittu kurssi.

Tietokoneen toiminnan jatkokurssi MOOC (3 op), https://tietokoneen-toiminnan-jatkokurssi.mooc.fi, tämän kurssin oppimateriaali.

William Stallings, Computer Organization and Architecture (10th ed.), Prentice Hall, 2016.
(Ei tarvitse hankkia, mutta hyvä lisämateriaali)

Andrew S. Tanenbaum & Todd Austin, Structured Computer Organization, 6th ed, Pearson, 2013. Luku 4.2.
(Ei tarvitse hankkia, mutta hyvä lisämateriaali)

Titokone: Ohjelmisto, jonka avulla voidaan kääntää ja suorittaa symbolisella konekielellä kirjoitettuja ohjelmia opetuskäyttöä varten suunnitellulle tietokoneelle. Ohjelmistoon sisältyy ohjelmistonkehitysympäristö, suorituksen simulaattori ja suorituksen animaattori.

TitoTrainer: Ohjelmisto, jonka avulla voidaan automaattisesti tarkistaa tehtäväksi annettujen Titokone-ohjelmien oikeellisuus.

Kurssilla on Telegram-ryhmä tkt-tito. Nämä on tarkoitettu opiskelijoiden vertaistuen foorumeiksi.

Övriga

Rekisteröinti

Huomioithan, että sinun tulee olla ilmoittautunut kurssille Avoimeen yliopistoon, jotta voit saada kurssista opintosuoritusmerkinnän. Suoritettuasi hyväksytysti kaikki kurssin osiot, opintosuorituksesi kirjataan Helsingin yliopiston Oodi-opintohallintojärjestelmään viimeistään 4–6 viikon kuluttua siitä, kun olet suorittanut opintojakson.

Saat helsinki.fi-sähköpostiisi tiedon, kun opintosuoritus on kirjattu WebOodiin. Tämän jälkeen voit tarvittaessa tilata opinnoistasi Helsingin yliopiston virallisen opintosuoritusotteen.

Kursbeskrivningen

YLEISTÄ

Kurssilla käytetään monimuotoisia oppimistapoja. Asiasisältö on MOOC-kurssien Tietokoneen toiminnan perusteet (2 op) ja Tietokoneen toiminnan jatkokurssi (3 op) materiaaleissa. Joillakin kurssiviikoilla voi olla konekielisen ohjelmoinnin ohjausta Tito-pajassa.

MOOC-MATERIAALIN PIKATEHTÄVÄT

Kurssilla on huomattava määrä automaattisesti arvioitavia pikatehtäviä (quiz).

Pohdi kysymyksiä harkiten ja käy läpi oppimateriaalia uudestaan tarvittaessa. Jokainen kysymys on mahdollisuus oppia lisää ja syventää tietämystästäsi. Älä siis heitä näitä mahdollisuuksia hukkaan!

Kurssi on suunniteltu sillä ajatuksella, että opiskelijat tekevät kaikki tehtävät ajatuksella. Jotkut tehtävistä ovat triviaaleja, mutta joidenkin pohtimiseen voi mennä paljonkin aikaa. Syvällisempi oppiminen tapahtuu juuri tehtäviä pohtiessa. Älä silti suotta hermoile, jos joku vastauksesi on väärin, koska ainakin joidenkin tehtävien osalta vastauksen oikeellisuus voi riippua näkökulmasta. Virheelliseksi merkityistäkin vastauksista oppii paljon - usein jopa enemmän kuin oikeista vastauksista!

Yhdessä oppiminen on hauskempaa ja usein tehokkaampaa kuin yksin puurtaminen. Molemmat hyötyvät siitä. Toinen saa neuvoa asiassa, jota ei ollut hyvin sisäistänyt. Toinen taas oppii materiaalin entistä paremmin, kun hänen pitää jäsentää asia sen toiselle selittämisen vaativaan muotoon. Älä kuitenkaan neuvo liikaa, jotta et vahingossa pilaa toisen oppimismahdollisuuksia. Syvällisempi oppiminen tapahtuu asioita itse pohtiessa. Jos annat johonkin tehtävään suoraan oikean vastauksen toiselle, niin tällöin hän ei juurikaan opi tehtävästä, vaikka saisikin itsepetollista tyydytystä muka oikein osatusta tehtävästä. Tämä voi haitata oppimista myöhemmin, kun vaikeammissa asioiden selittämisessä on otaksuttu, että aikaisempi oppimateriaali olisi ymmärretty. Vaatii taitoa neuvoa sopivasti mutta ei liikaa.

PAJAOHJAUS

**Kaikki Helsingin yliopiston tietojenkäsittelytieteen osastolla järjestettävät pajaohjaukset on peruttu toistaiseksi alkaen 16.3.2020 koronaviruksen leviämisen hidastamiseksi.**

Helsingin yliopiston tietojenkäsittelytieteen osasto järjestää pajaohjausta useille kursseille. Pajaohjaukseen osallistuminen on opiskelijalle vapaaehtoista. Ohjausta on saatavana Tietokoneen toiminnan kurssille seuraavasta linkistä aukeavan kalenterin mukaisina aikoina Kumpulan kampuksen Exactum -rakennukset tietokoneluokassa BK107. https://study.cs.helsinki.fi/pajat/api/tito/current?name=false

Yleinen pajaohjaus on ajoittain ruuhkautunut, mutta maanantaisin 16.3. - 6.4.2020 on tarjolla pelkästään tälle kurssille suunnattua ohjausta kello 16.15 - 20.00. Ohjaajana toimii Heini Auvinen. Pääsiäistauon jälkeen on myös pajaohjausta. Ne pajaohjausajat ilmoitetaan myöhemmin. **HUOM! Tämäkin paja on peruttu 16.3.2020 alkaen toistaiseksi. Muutoksista ilmoitetaan.**

KURSSIN SUORITUS

Kurssi suoritetaan itsenäisellä opiskelulla MOOC-kurssien materiaaleja käyttäen ja harjoittelemalla konekielistä ohjelmointia itsenäisesti. Kurssilla edellytetään opiskelijalta oma-aloitteisuutta ja aikatauluttamista, jotta oppiminen tahdistuu viikkoaikataulun mukaisesti.

Kurssimateriaalin läpikäytyäsi sinun tulee osallistua Moodlessa järjestettävään kokeeseen. Ensimmäinen koe 5.3.2020 oli lähikoe. Loput kokeet 29.4. ja 5.6.2020 ovat etäkokeita. Koe kattaa molempien MOOC-kurssien (Tietokoneen toiminnan perusteet, 2 op ja Tietokoneen toiminnan jatkokurssi, 3 op) sisällöt. Kokeita järjestetään yhteensä 3 kertaa. (5.3.2020, 29.4.2020, 5.6.2020). Etäkoe järjestetään tiettyyn kellonaikaan. Kokeen suoritukseen varattu aika ei välttämättä ole sama kuin lähikoetta varten on aiemmin ilmoitettu. Aika päätetään kokeen suunnittelun yhteydessä ja siitä ilmoitetaan etukäteen. Päätös etäkokeen järjestämisestä lähitentin sijasta on tehty Helsingin yliopiston poikkeustilanteen takia.

HUOM! Etäkokeessa saat käyttää kaikkea saatavilla olevaa materiaalia, mutta et saa kokeen aikana kysyä keneltäkään apua.

Konekielistä ohjelmointia opiskellaan itsenäisesti Titokone ja TitoTrainer-ohjelmistojen avulla. Konekielisen ohjelmoinnin osaaminen tentitään etäkokeessa.

Kurssin arvosanaan vaikuttavat lähikokeen (48 kurssipistettä) lisäksi pikatehtävien tekeminen (12 kurssipistettä). Kahdestoistaosa pikatehtävien maksimipisteistä tuottaa yhden kurssipisteen. Tekemällä kaikki pikatehtävät oikein saa siis 12 kurssipistettä. Vastaavasti tekemällä esimerkiksi 7/12 pikatehtäväpisteistä tuottaa 7 kurssipistettä. Monivalintatehtävissä saattaa kuitenkin olla joitain tulkinnanvaraisuuksia, joka huomioidaan pistelaskennassa seuraavalla kaavalla: yllä mainittu maksimipistemäärä lasketaan kaavalla pikatehtäväpisteet * 5 / 6 ja pyöristettynä ylöspäin lähimpään kokonaislukuun. Täysiin pikatehtävistä saataviin kurssipisteisiin ei siis tarvitse ihan jokaisen pikatehtävän olla oikein: täysiin kurssipisteisiin siis riittää noin viisi kuudesosaa tarjolla olevasta pistemäärästä.

Kokonaispistemäärä Mooc-tehtävistä on 132 pistettä, joten 110 pisteellä saa 12 kurssipistettä. Alemmilla pistemäärillä voit laskea pistemääräsi näin: 12 * (omat pisteesi / 110) ja pyöristys alaspäin kokonaislukuun.
Pikatehtävät pitää olla tehtynä ennen kokeeseen osallistumista. Kurssin läpipääsyyn vaaditaan kokeesta vähintään 24/48 pistettä ja yhteensä vähintään 30/60 pistettä. Ylläoleva huomioiden arvosanat 30->1, 35->2, 40->3, 45->4 ja 50->5.

Vaikka kurssi päättyy 9.5.2020, eikä luonnollisesti sen jälkeisiä tehtäviä enää huomioida, olemme päättäneet jatkaa mahdollisuutta jatkaa tehtävien tekemistä sen jälkeenkin. Näin ollen 5.6.2020 kokeeseen osallistujat voivat tehdä tehtäviä vielä 9.5. jälkeenkin, ja ne ennen 5.6. koetta tehdyt tehtävät huomioidaan siinä arvostelussa, mikä tehdään 5.6. kokeen perusteella. Tämä tarkoittaa sitä, että esimerkiksi 29.4. kokeen jälkeen tehtyjä tehtäviä ei huomioida enää jälkikäteen 29.4. kokeen ja tehtäväpisteiden perusteella annetuissa arvosanoissa.

Anmälning och avgift

Kurssi on maksuton. Voit aloittaa kurssin opiskelun Mooc-oppimisympäristössä. Tarkka ilmoittautumisaika näkyy klikkaamalla Ilmoittaudu-painiketta.

Myös Helsingin yliopiston perustutkinto-opiskelijat ilmoittautuvat Avoimeen yliopistoon, mikäli he haluavat kurssista suoritusmerkinnän opintosuoritusrekisteriin.

Miten opiskelemaan?
Käytännön ohjeita opiskeluun
Järjestelyt erityistä tukea tarvitseville

Varaamme oikeuden muutoksiin opinto-ohjelmassa.

Beskrivning

Tietojenkäsittelytieteen perusopintojen pakollinen kurssi (3 op), osana laajempaa kurssia Tietokoneen toiminta (5 op). Avoin myös muiden koulutusohjelmien opiskelijoille.

On suositeltavaa, että opiskelija osaa ohjelmoida korkean tason kielellä ennen kurssille osallistumista. Esimerkiksi kurssi Ohjelmoinnin perusteet antaa riittävät esitiedot.

Tämä kurssi on suoraan jatkoa Tietokoneen toiminnan perusteet -kurssille, joka tulee olla suoritettuna ensin.

Kurssit Tietokoneen rakenne, Tietoliikenteen perusteet ja Käyttöjärjestelmät.

  • Osaa selittää väylä- ja muistihierarkian perusajatukset. Osaa selittää välimuistin ja virtuaalimuistin toiminnan perusteet. Osaa selittää, milloin ja miten prosessorin suoritustila vaihtuu. Osaa selittää keskeytysjärjestelmän toiminnan.
  • Osaa toteuttaa globaalien muuttujat, vakiot, tietueet ja yksinkertaiset taulukot ja selittää niiden tilanvarauksien toteutuksen käännöksen, latauksen tai suorituksen aikana. Osaa ohjelmoida valinta- ja toistorakenteet sekä toteuttaa aliohjelmien kutsut. Osaa toteuttaa tietueiden, olioiden ja moniulotteisten taulukoiden (eri tavoin talletettuna) tilanvaraukset ja niihin viittaamisen. Osaa selittää globaalien ja paikallisten tietorakenteiden erot tilanvarauksessa ja niihin viittaamisessa ja osaa käyttää aktivointitietueita ja aktivointitietuepinoa (rekursiivisten) aliohjelmien toteutuksessa.
  • Osaa selittää ja ottaa huomioon liukulukujen tarkkuuden muutokset laskennan aikana. Osaa käyttää tiedon muuttumattomuuden suojauksen perusmenetelmiä (pariteettibitti, Hamming-koodi).
  • Osaa selittää prosessin käsitteen ja sen esitysmuodon käyttöjärjestelmässä sekä prosessin erilaiset tilat ja niiden väliset tilasiirtymät. Osaa selittää, milloin ja miten suorituksessa oleva prosessi vaihtuu. Osaa luetella käyttöjärjestelmän perustoiminnot. Osaa selittää käännöksen, linkityksen ja latauksen perusideat.
  • Osaa selittää käyttöjärjestelmän tavoitteet ja perustoiminnot sekä käyttäjän näkökulmasta että käyttöjärjestelmän ylläpitäjän näkökulmasta. Osaa selittää käyttöjärjestelmäpalvelujen toteutusmekanismin erilaisten (etuoikeutettujen) aliohjelmien tai prosessien avulla. Osaa selittää staattisen ja dynaamisen linkityksen edut ja haitat.
  • Osaa selittää käyttöjärjestelmän laitteistorajapinnan toteutuksen laiteajurien ja keskeytyskäsittelijöiden avulla. Osaa selittää tiedostopalvelimen ja tiedostovälimuistin perusidean. Osaa selittää levymuistin rakenteen ja toiminnan sekä laskea levymuistiin talletetun tiedoston saantiajan. Osaa luokitella erilaiset I/O-menetelmät.
  • Osaa selittää Java-ohjelmien erilaiset suoritustavat ja niiden eroavaisuudet. Osaa selittää Java-virtuaalikoneen (JVM) perusrakenteen ja toiminnan sekä valita tiettyyn sovellukseen sopivan Java-ohjelmien suoritustavan. Osaa selittää JIT-kääntämisen perusidean.

Ensimmäisen opiskeluvuoden kevät, ensimmäisen ohjelmointikurssin jälkeen.
- MOOC-kurssina Avoimen yliopiston aikataulun mukaisesti.
- Osana Tietokoneen toiminta -kurssia syyslukukaudella tiedekunnassa.

  • TTK-91 -tietokone ja sen simulaattori, konekielinen ohjelmointi, aktivaatiotietue, aktivaatiotietuepino, aliohjelmien toteutus.
  • Tiedon muuttumattomuus, pariteetti-bitti, Hamming-koodi. Muistiteknologia.
  • Ulkoinen muisti, kovalevyn saantiaika.
  • Käyttöjärjestelmän toteutus tavallisten ja etuoikeutettujen prosessien ja palvelurutiinien avulla.
  • I/O:n toteutus. Laiteajuri ja laiteohjain. Laiteajurin toteutus.
  • Käännös, linkitys ja lataus. Käännöksen vaiheet. Objektimoduuli. Staattinen ja dynaaminen linkitys.
  • Tulkinta ja emulointi. Java-ohjelmien erilaiset suoritustavat.

MOOC-materiaali on suomenkielinen. Oheismateriaalina käytettävät oppikirjat ovat englanninkielisiä.
William Stallings, Computer Organization and Architecture (10th ed.), Prentice Hall, 2016. (suositeltu)
Andrew S. Tanenbaum, Structured Computer Organization (6th ed.), Pearson, 2013. (suositeltu)
Titokone ja TitoTrainer -ohjelmistojen käyttö on välttämätöntä konekielisen ohjelmoinnin oppimiseksi.

Opiskelija: oppimateriaalin läpikäynti itsenäisesti, itsenäisesti tehtävät pikatehtävät (quiz) oppimateriaalin yhteydessä, itsenäisesti tehtävät harjoitustehtävät ja niiden yhdessä läpikäynti harjoituksissa, pajaohjaus konekielen ohjelmointiin Titokone-ohjelmiston avulla, itsenäinen konekielen ohjelmoinnin harjoittelu TitoTrainer-ohjelmiston avulla, minikokeet, oppimateriaalia vastaavat luvut oppikirjasta (Ch 3.1-3, Ch 4.1 , Ch 5.1-2, Ch 6.1, Ch 6.3, Ch 7.1-5, Ch 8.1-2, Ch 9, Ch 12, App B.2-3 [Stal 16] ja Ch 4.2 [Tane13]).

Opettaja ja ohjaajat: minikokeiden valvonta, harjoitustehtävät ja niiden ratkaisut, harjoitustilaisuuksien ohjaus, koetehtävien ja niiden ratkaisut, kokeiden valvonta, kokeiden arviointi, assistenttien valvonta, verkkotiedotuksen ylläpito, kurssisuoritteiden kirjaus, kurssin arviointi.

Avoimen yliopiston kurssina suoritukseen sisältyy lisäksi koe tai kokeita. Arvosana on asteikolla 0-5.

Yliopiston Tietokoneen toiminta kurssin yhteydessä suoritukseen sisältyy koe tai kokeita. Harjoitustehtävien tekeminen voi myös vaikuttaa kurssin arvosanaan. Tietokoneen toiminta kurssin arvosana on asteikolla 0-5.

Kurssin voit suorittaa osana Tietojenkäsittelytieteen osaston DEFA-opintoja (Digital Education For All).

Kurssiin liittyvät kysymykset:

Kurssilla opiskellaan Mooc-oppimimisympäristössä. Huom! Opiskelu tapahtuu muuten verkossa, mutta kurssilla on lähitentti. Viimeiset tentit järjestetään verkossa.

Käytössä on verkko-oppimisympäristö Moodle, joka avautuu 11.11.2019.

Linkin ja kurssiavaimen opintojakson Moodleen saat kirjautumalla tähän opinto-ohjelmaan (=kurssisivulle) Helsingin yliopiston käyttäjätunnuksella. Huom! Tämä onnistuu aikaisintaan ilmoittautumistasi seuraavana päivänä. Saat käyttäjätunnusta koskevaa lisätietoa sähköpostiisi ilmoittautumisesi jälkeen.

Lähitenttipäivät:
to 5.3.20 klo 16.00 - 20.00. Tietojenkäsittelytieteen koulutusohjelma järjestää lähitentit.

Huom! Seuraavat tentit on muutettu verkkoon Moodle-tenteiksi. Lisätietoja Moodlessa. (Päiv. 24.3.20)

Moodle-tenttipäivät:
ke 29.4.20 klo 16.00-19.00
pe 5.6.20 klo 16.00-19.00
Moodle-tentteihin ei ilmoittauduta.

Tenttiohjeet
Käytännön ohjeita opiskeluun

Teemu Kerola