Tietorakenteet ja algoritmit (5 op)
Toteutuksen tunnus: 5G00EU64-3005
Toteutuksen perustiedot
Ilmoittautumisaika
24.11.2024 - 12.01.2025
Ajoitus
01.01.2025 - 30.04.2025
Laajuus
5 op
Toteutustapa
Lähiopetus
Yksikkö
Tietotekniikka
Toimipiste
TAMK Pääkampus
Opetuskielet
- Suomi
Koulutus
- Tietotekniikan tutkinto-ohjelma
Opettaja
- Erkki Hietalahti
Vastuuhenkilö
Erkki Hietalahti
Ryhmät
-
23I224Ohjelmistotekniikka
Tavoitteet (OJ)
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.
Sisältö (OJ)
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ä (1-2) (OJ)
Opiskelija
-tuntee algoritmeja
-tunnistaa osan perustietorakenteista kuten pinot, jonot, listat, puut ja verkot
-osaa soveltaa opintojakson asioita avustettuna
Arviointikriteerit, hyvä (3-4) (OJ)
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
Arviointikriteerit, kiitettävä (5) (OJ)
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
Aika ja paikka
Tarkista tämä lukkarikoneesta / pakista / tuudosta. Lukujärjestykseen on merkitty opetuksen aika ja paikka. Mikäli keväällä siirrytään etäopetukseen jaan kaikille kalenterikutsuna käyttöön koko kevään etäopetussessioiden linkit.
Tenttien ja uusintatenttien ajankohdat
Kurssilla ei ole tenttiä.
Arviointimenetelmät ja arvioinnin perusteet
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ä.
Arviointiasteikko
0-5
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.
Oppimateriaalit
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:
Y. Daniel Liang: Introduction to C++ Programming and Data Structures, Fifth Edition. 2022.
Mark A. Weiss: Data Structures and Algorithm Analysis in C++. 4th edition. 2014.
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.
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 (0) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)
Ei kykene selviytymään annetuista tehtävistä edes avustettuna.
Arviointikriteerit - tyydyttävä (1-2) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)
Osaa esimerkkien ja malliratkaisujen avulla suoriutua annetuista tehtävistä auttavasti ja/tai tyydyttävästi.
Arviointikriteerit - hyvä (3-4) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)
Hallitsee kokonaisuuden ja osaa soveltaa esimerkkejä monipuolisesti.
Arviointikriteerit - kiitettävä (5) (Ei käytössä, kts Opintojakson Arviointikriteerit ylempänä)
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.