•   Tietorakenteet ja algoritmit 5G00EU64-3002 03.01.2022-29.04.2022  5 op  (20I224) +-
    Opintojakson osaamistavoitteet
    Opiskelija tutustuu opintojakson aihepiirin peruskäsitteisiin ja menetelmiin. Hänelle tulee tutuksi kurssilla läpikäytävät perustietorakenteet ja algoritmit. Edellisten soveltaminen tyypillisiin käyttötapauksiin käydään lävitse.
    Opintojakson sisältö
    Tietorakenteisiin ja algoritmeihin liittyvät peruskäsitteet. Perustietorakenteet: pinot, jonot, listat, puut ja verkot. Käydään lävitse keskeiset etsintä- ja lajittelualgoritmit sekä puiden ja verkkojen hyödyntämiseen liittyvät algoritmit. Hajautus.
    Arviointikriteerit
    Tyydyttävä

    Opiskelija

    -tuntee algoritmeja

    -tunnistaa osan perustietorakenteista kuten pinot, jonot, listat, puut ja verkot

    -osaa soveltaa opintojakson asioita avustettuna

    Hyvä

    Opiskelija

    -tuntee algoritmeja kuten keskeiset etsintä- ja lajittelualgoritmit sekä puiden ja verkkojen hyödyntämiseen liittyvät algoritmit

    -tunnistaa perustietorakenteet kuten pinot, jonot, listat, puut ja verkot

    -tuntee hajautuksen periaatteet

    -osaa soveltaa opintojakson asioita

    Kiitettävä

    Opiskelija osaa em. asiat erinomaisella tasolla ja sujuvasti. Lisäksi opiskelija

    -osaa soveltaa tieotorakenteita ja algoritmeja sujuvasti ja tarkoituksenmukaisesti tietojärjestelmien rakentamisessa

    -omaa kykyä kehittää omia variantteja tietorakenteista tarpeen mukaan ja löytää käyttöön sopivimpia valmistietorakenteita/-algoritmeja


    Vastuuhenkilön nimi

    Erkki Hietalahti

    Kirjallisuus

    Kurssilla käydään lävitse soveltuvin osin seuraavassa oppikirjassa esitettyjä asioita:
    Robert L. Kruse, Alexander J. Ryba: Data Structures and Program Design in C++.
    Prentice Hall 1999.
    Muuta oheislukemistoa:
    Clifford A. Shaffer: A Practical Introduction to Data Structures and Algorithm Analysis.
    Second Edition. Prentice Hall 2001.
    William Ford, William Topp: Data Structures with C++ Using STL. Second Edition. Prentice Hall 2002.
    Data Structures and Algorithm Analysis in C
    Mark Allen Weiss
    The Benjamin/Cummings Publishing Company, Inc.
    1993
    Data Structures and Algorithm Analysis in C++,
    2. edition
    Mark Allen Weiss
    Addison-Wesley
    February 1999
    Tietorakenteet ja algoritmit
    Ilkka Kokkarinen ja Kirsti Ala-Mutka
    Satku – Kauppakaari
    2000
    Kurssin materiaalit julkaistaan moodleen tälle kurssille varatulle
    alueelle. Moodlen käyttöä harjoitellaan kurssin ensimmäisten
    kokoontumisten aikana siten, että oppilas saa tarvittavat tiedot
    moodlesta tämän kurssin tarpeisiin. Kurssin
    luento-/tehtävämateriaali on englanninkielistä samoin kuin kurssin
    oppikirja.

    Opiskelumuodot ja opetusmenetelmät

    Kolmen tunnin blokki aloitetaan purettavien kotiharjoitusten läpikäynnillä. Tämän jälkeen
    käydään lävitse uudet teoria-asiat ja loppu aika käytetään
    uusien kotitehtävien ja / tai harjoitustyön tekemiseen. Tässä vaiheessa
    opettaja toimii konsulttina / valmentajana.

    Arviointimenetelmät (toteutus) ja kriteerit (opintojakso)

    Kurssisuoritus arvioidaan harjoitusaktiivisuuden ja tehtyjen
    harjoitustöiden perusteella. Molemmat kokonaisuudet arvioidaan
    asteikolla 0-5 olevalla pistemäärällä ja kurssiarvosana on näiden kahden pistemäärän
    keskiarvo ylöspäin pyöristettynä.
    Harjoitusaktiivisuuden arvioinnissa käytetään seuraavaa asteikkoa:
    - tehtäviä tehtynä 0 - 20 % kaikista => pistemäärä on 0
    - tehtäviä tehtynä 20 - 35 % kaikista => pistemäärä on 1
    - tehtäviä tehtynä 35 - 50 % kaikista => pistemäärä on 2
    - tehtäviä tehtynä 50 - 65 % kaikista => pistemäärä on 3
    - tehtäviä tehtynä 65 - 80 % kaikista => pistemäärä on 4
    - tehtäviä tehtynä 80 % kaikista => pistemäärä on 5
    Harjoitustöitä tulee olemaan 3 kpl; kukin arvioidaan jälleen
    asteikolla 0 - 5 olevalla pistemäärällä ja kaikkinensa harjoitustöistä
    saatava pistemäärä on näiden kolmen pistemäärän keskiarvo ylöspäin
    pyöristettynä. Kunkin harjoitustyön osalta vaatimukset eri pistemääriä
    varten spesifioidaan erikseen. Periaatteena on se, että mitä enemmän töitä
    on tehty harjoitustyön eteen sitä enemmän siitä saa pisteitä. Harjoitustyön
    ominaisuudet annetaan inkrementteinä, missä yhden uuden inkrementin tekeminen edellyttää aina
    lisää töitä ja inkrementit tehdään tietyssä loogisessa järjestyksessä. Harjoitustöissä sovelletaan opetettuja asioita ja hyödynnetään tehtyjä kotitehtäviä.

    Opetuskielet

    Suomi

    Ajoitus

    03.01.2022 - 29.04.2022

    Ilmoittautumisaika

    15.11.2021 - 16.01.2022

    Opintopisteet

    5 op

    Ryhmä(t)

    20I224

    Opettaja(t)

    Erkki Hietalahti

    Vastuuyksikkö

    Tietotekniikka

    Koulutusohjelma(t)

    Tietotekniikan tutkinto-ohjelma

    Toimipiste

    TAMK Pääkampus

    Arviointiasteikko

    0-5

    Tenttien ajankohdat

    Kurssilla ei ole tenttiä.

    Opiskelijan ajankäyttö ja kuormitus

    Ks. edellä. Itsenäiseen / ryhmätyöskentelyyn oppituntien ulkopuolella on syytä varata aikaa noin kaksi kertaa sen verran kuin lähiopetukseen kurssin asioiden omaksumiseksi.

    Sisällön jaksotus

    Läpikäytäviä aihealueita – aiheet ovat suoraan kurssin oppikirjan lukuja:
    - Programming Principles
    - Introduction to Stacks
    - Queues
    - Linked Stacks and Queues
    - Recursion
    - Lists
    - Searching
    - Sorting
    - Binary Trees
    Kurssin aikataulu ja sisällön jaksotus kerrotaan erillisessä Excel-tiedostossa, joka julkaistaan moodleen.

    Arviointikriteerit
    Hylätty

    Ei kykene selviytymään annetuista tehtävistä edes avustettuna.

    Tyydyttävä

    Osaa esimerkkien ja malliratkaisujen avulla suoriutua annetuista tehtävistä auttavasti ja/tai tyydyttävästi.

    Hyvä

    Hallitsee kokonaisuuden ja osaa soveltaa esimerkkejä monipuolisesti.

    Kiitettävä

    Osaa kekseliäästi yhdistää tietoja uusien innovaatioiden luomiseksi ja osaa analysoida omia ratkaisujaan kriittisesti ja osaa kertoa mitä niihin voisi lisätä paremman tuloksen saavuttamiseksi.