Kaisa_2012_3_photo by Veikko Somerpuro

Tämä on automaattisesti luotu sivu. Tentti-ilmoittautumisen ohjeet löydät kurssin sivulta kohdasta Toteutus.

Enrol

Timetable

DateTimeLocation
Thu 5.3.2020
16:00 - 18:30

Description

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.

Tietokoneen toiminta (5 op) kurssi koostuu kursseista: AYTKT100051 Tietokoneen toiminnan perusteet 2 op ja AYTKT100052 Tietokoneen toiminnan jatkokurssi 3 op. Perusteet-kurssi suoritetaan ensin. Tietokoneen toiminta on osa Tietojenkäsittelytieteen perusopintojen (25 op) kokonaisuutta.

MOOC-kurssi sisältää tekstimuotoisen oppimateriaalin ja sen yhteyteen toteutetut pikatehtävät. Avoimen yliopiston kurssina suoritukseen voi sisältyä harjoitustehtäviä, harjoitustilaisuuksia ja koe tai kokeita.

Yliopiston Tietokoneen toiminta kurssin yhteydessä suoritukseen sisältyy mahdollisesti harjoituksia ja erillinen koe tai kokeita.

Teemu Kerola