Opinto-opas 2005-2006

OHJ-2150 ALGORITMIEN ANALYYSI, 4 op
Analysis of Algorithms

Opintojakson vastuuhenkilö
Henri Hansen

Opettajat
Henri Hansen, Tutkija, Ohjelmistotekniikka, TF210

Luentoajat ja -paikat
Per IV,V: Keskiviikko 14 - 17, TB111

Toteutuskerrat
Toteutus 1
  Periodi 1 Periodi 2 Periodi 3 Periodi 4 Periodi 5 Kesä Opetuskieli
Luento - - - 3 h/vko+ 3 h/vko - Vain suomeksi
Harjoitus - - - 2 h/vko+ 2 h/vko - Vain suomeksi
Tentti   Suomeksi, pyydettäessä englanniksi
(Lukuvuoden 2005-2006 aikataulu)

Tavoitteet
Kyky ymmärtää ja analysoida algoritmeja oikeellisuuden sekä ajan- ja muistinkulutuksen näkökulmasta, käsitys algoritmien todistamisesta oikeaksi, yleisimpien algoritmien hallinta.

Sisältö
Sisältöalue Ydinaines Täydentävä tietämys Erityistietämys
1. Tavallisimpien silmukkarakenteiden oikeellisuuden toteaminen, pääasiassa yksinkertaisimmat invarianttitodistukset.  Tilapropositioiden käyttö laajemmin, invarianttitekniikan kehittynyt käyttö.  Hyvin vaikeat algoritmien todistukset. 
2. Tavallisimpien yksinkertaisten silmukkarakenteiden ajankäytön analyysi, häntärekursion poisto, yksinkertaisten rekursiivisten algoritmien analysointi. Peruskäsitys tasatusta suoritusjasta.  Master-menetelmä, tasatun ajan analyysi, monimutkaisempien silmukoiden analyysi.  Laskentatehtävien kompleksisuus, eräiden tehtävien NP-kovuuden tunnistaminen. 
3. Perustavanlaatuisten algoritmien (mm. järjestämisalgoritmit, DFS, BFS) olennaiset ominaisuudet ja niiden sovelluskohteet. Käytettävän tietorakenteen vaikutukset algoritmien käyttäytymiseen.  Hieman kehittyneempiä algoritmeja. Korkean tason toteutustekniset seikat, jotka olennaisesti vaikuttavat algoritmien toimintaan: hieman vaativampi tietorakenteiden valinta.  Vaikeita algoritmeja todistuksineen, algoritmien soveltamista vaikeiden ongelmien ratkaisemiseen. 

Suoritusvaatimukset
Laskuharjoitukset, tentti.

Opintojakson arviointikriteerit
Painoarvo on tenttiosaamisessa: Kyky saada oikea vastaus selkeällä analyysilla tärkein kriteeri. Perusalgoritmien ominaisuuksisen hallinta laskevassa järjestyksessä: Analyyttinen, algoritmin suorituksen mekaaninen hallinta, ulkoaopittu.

  • Opintojaksolla käytetään numeerista arviointiasteikkoa (1-5)
  • Esitiedot
    Tunnus Nimi OP P/S
    OHJ-2010 Tietorakenteiden käyttö 5 Pakollinen
    OHJ-2100 Ohjelmistotieteen perustyökaluja 5 Pakollinen

    Huomautuksia
    Kurssit OHJ-2010, OHJ-2150 ja OHJ-2200 vastaavat yhdessä vanhaa kurssia 8100310.

  • Opintojakson osasuoritusten pitää liittyä samaan toteutuskertaan.
  • Opintojakson kotisivu

    Viimeksi muokattu 24.02.2005
    MuokkaajaKirsti Ala-Mutka