Opetus

Nimi Op Opiskelumuoto Aika Paikkakunta Järjestäjä
Tietorakenteet ja algoritmit (U) 10 Cr Verkkotentti 9.6.2020 - 9.6.2020
Nimi Op Opiskelumuoto Aika Paikkakunta Järjestäjä
Tietorakenteet ja algoritmit 10 Cr Verkkotentti 5.5.2020 - 5.5.2020
Tietorakenteet ja algoritmit 10 Cr Verkkotentti 16.4.2020 - 16.4.2020
Tietorakenteet ja algoritmit 10 Cr Kurssitentti 2.3.2020 - 2.3.2020
Tietorakenteet ja algoritmit 10 Cr Yleinen tentti 29.1.2020 - 29.1.2020
Tietorakenteet ja algoritmit 10 Cr Luentokurssi 13.1.2020 - 29.4.2020
Tietorakenteet ja algoritmit 10 Cr Yleinen tentti 4.12.2019 - 4.12.2019
Tietorakenteet ja algoritmit 10 Cr Yleinen tentti 11.9.2019 - 11.9.2019
Tietorakenteet ja algoritmit 10 Cr Luentokurssi 4.9.2019 - 11.12.2019
Tietorakenteet ja algoritmit (U) 10 Cr Yleinen tentti 12.6.2019 - 12.6.2019
Tietorakenteet ja algoritmit 10 Cr Kurssitentti 8.5.2019 - 8.5.2019
Tietorakenteet ja algoritmit 10 Cr Yleinen tentti 11.4.2019 - 11.4.2019
Tietorakenteet ja algoritmit 10 Cr Kurssitentti 4.3.2019 - 4.3.2019
Tietorakenteet ja algoritmit (U) 10 Cr Yleinen tentti 30.1.2019 - 30.1.2019
Tietorakenteet ja algoritmit 10 Cr Luentokurssi 14.1.2019 - 30.4.2019
Tietorakenteet ja algoritmit 10 Cr Tentti 18.12.2018 - 18.12.2018
Tietorakenteet ja algoritmit 10 Cr Yleinen tentti 5.12.2018 - 5.12.2018
Tietorakenteet ja algoritmit 10 Cr Tentti 24.10.2018 - 24.10.2018
Tietorakenteet ja algoritmit 10 Cr Yleinen tentti 12.9.2018 - 12.9.2018
Tietorakenteet ja algoritmit 10 Cr Luentokurssi 3.9.2018 - 10.12.2018
Tietorakenteet ja algoritmit (U) 10 Cr Yleinen tentti 15.6.2018 - 15.6.2018
Tietorakenteet ja algoritmit 10 Cr Yleinen tentti 13.4.2018 - 13.4.2018
Tietorakenteet ja algoritmit (U) 10 Cr Yleinen tentti 24.1.2018 - 24.1.2018
Tietorakenteet ja algoritmit 10 Cr Luentokurssi 15.1.2018 - 2.5.2018
Tietorakenteet ja algoritmit 10 Cr Luentokurssi 7.9.2017 - 15.12.2017

Kohderyhmä

  • Tietojenkäsittelytieteen kandiohjelma vastaa opintojaksosta
  • Opintojakso kuuluu tietojenkäsittelytieteen aineopintoihin (pakollinen oman koulutusohjelman opiskelijoille)
  • Opintojakso on tarjolla myös muiden koulutusohjelmien opiskelijoille

Edeltävät opinnot tai edeltävä osaaminen

Esitietovaatimuksena on Ohjelmoinnin perus- ja jatkokurssi sekä Johdatus yliopistomatematiikkaan, tai vastaavat tiedot.

Osaamistavoitteet

Opintojakson jälkeen opiskelija

  • osaa laatia algoritmeja soveltaen opintojaksolla esitettyjä perustekniikoita ja tietorakenteita sekä toteuttaa ne Java-kielellä
  • osaa analysoida algoritmin aika- ja tilavaativuutta O-merkinnän avulla ja perustella algoritmin oikeellisuuden esim. silmukkainvarianttia käyttäen
  • tuntee yksityiskohtaisesti erilaisten hakemistorakenteiden toteutukset
  • osaa toteuttaa tärkeimmät järjestämisalgoritmit ja tuntee niiden aikavaativuudet
  • tuntee verkkojen peruskäsitteet ja osaa toteuttaa tärkeimmät polunetsintään ja virittäviin puihin liittyvät algoritmit
  • käyttää opintojaksolla esitettyjä peruskäsitteitä (esim. hakemistot, verkot, järjestäminen) osana monimutkaisempien laskennallisten ongelmien ratkaisua ja valita tunnetuista algoritmeista tilanteeseen sopivan esim. aikavaativuuden perusteella

Ajoitus

Ensimmäisen opiskeluvuoden kevätlukukausi

Opintojakso pidetään joka kevät koko lukukauden mittaisena (periodit III-IV). Opintojakso voidaan lisäksi järjestää muinakin ajankohtina esim. itseopiskeluversiona.

Sisältö

Opintojakson tarkempaa sisältöä päivitetään tarpeen mukaan. Keskeisiä aihealueita ovat esim.

  • algoritmien suunnittelun ja analyysin perustekniikoita: rekursio, silmukkainvariantti, iso-O-merkintä, iteratiivisten ja rekursiivisten algoritmien aika- ja tilavaativuus
  • järjestämisalgoritmit: lisäysjärjestäminen, lomitusjärjestäminen, pikajärjestäminen
  • perustietorakenteet: pino, jono, lista
  • hakemistorakenteet: hajautustaulu, hakupuut
  • verkot eli graafit: peruskäsitteet, polunetsintä, virittävät puut

Oppimista tukevat aktiviteetit ja opetusmenetelmät

Opiskelja tutustuu opintojakson aiheisiin luennoilla ja perehtymällä itsenäisesti opintojakson materiaaliin, oheislukemistoon ja esim. verkosta löytyvään lisämateriaaliin. Opiskelija syventää osaamistaan tekemällä muodoiltaan ja vaativuudeltaan vaihtelevia harjoitustehtäviä, mitä tuetaan ohjatuilla harjoitustilaisuuksilla.

Oppimateriaali

Opintojakso perustuu laitoksella laadittuun luentomateriaallin. Suositeltu oheislukemisto on Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms.

Arviointimenetelmät ja -kriteerit

Sekä harjoitustehtävät että kirjalliset kuulustelut otetaan arvostelussa huomioon. Kuulusteluilla on suurin vaikutus arvosanaan, mutta hyväksytty suoritus edellyttää myös ennalta ilmoitetun vähimmäismäärän tehtyjä harjoitustehtäviä.

Arvosteluasteikko on 1-5.

Suositeltavat valinnaiset opinnot

Opintojaksolla opittuja menetelmiä sovelletaan opintojaksolla Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit.

Toteutus

Opintojaksoon kuuluu luentoja, laskuharjoituksia ja kirjallisia kuulusteluja. Laskuharjoituksia voidaan tehdä itsenäisesti, pienryhmässä tai opettajan ohjaamassa tilaisuudessa. Osa harjoituksista voi olla tietokoneella suoritettavia ohjelmointitehtäviä. Harjoitustilaisuuksissa on läsnäolovelvollisuus silloin, kun tilaisuuden muoto edellyttää sitä.

Vaihtoehtoisesti opintojakson voi suorittaa erilliskokeella, jolloin siihen kuuluu ainoastaan kirjallinen kuulustelu.