Data Structures and Algorithms (4 op)
Toteutuksen tunnus: TTZC0700-3005
Toteutuksen perustiedot
Ilmoittautumisaika
02.11.2020 - 30.11.2020
Ajoitus
11.01.2021 - 30.04.2021
Opintopistemäärä
4 op
Toteutustapa
Lähiopetus
Yksikkö
School of Technology
Toimipiste
Lutakko Campus
Opetuskielet
- Suomi
Paikat
0 - 32
Koulutus
- Bachelor's Degree Programme in Information and Communications Technology
Opettaja
- Sampo Kotikoski
Ryhmät
-
TTV19S2Tieto- ja viestintätekniikka
Objectives
Opiskelija osaa kuvata ja tulkita algoritmeja sekä arvioida niiden toimivuutta ja tehokkuutta erilaisissa tilanteissa. Lisäksi opiskelija tuntee keskeiset tietorakenteet ja osaa valita niihin soveltuvat algoritmit toteutuskielestä ja –alustasta riippumatta.
Content
Opintojaksolla tutustutaan erilaisiin algoritmityyppeihin ja keskeisimpiin algoritmeihin. Algoritmien tehokkuuden mittaaminen opitaan keskeisten algoritmien avulla. Algoritmityypit käydään alkaen perustietorakenteista edeten kohti mutkikkaimpia (puut ja verkot) toteutuksia. Keskeistä on pystyä hahmottamaan, arvioimaan ja mittaamaan eri tyyppisten algoritmien ja tietorakenteiden ominaisuudet riippumatta toteutuskielestä tai –alustasta.
Learning materials and recommended literature
Verkko-oppimisympäristössä julkaistava sähköinen materiaali.
Teaching methods
- luennot
- itseopiskelu
- verkko-opinnot
- webinaarit
- pienryhmätyöskentely
- harjoitustyö
- oppimistehtävät
- seminaarit
-pandemiatilanne saattaa vaikuttaa toteutukseen
Exam dates and retake possibilities
Mahdollinen tentin ajankohta ja toteutustapa ilmoitetaan opintojakson ensimmäisellä kerralla. Pandemiatilanne saattaa vaikuttaa toteutukseen.
Alternative completion methods
Hyväksilukemisen menettelytavat kuvataan tutkintosäännössä ja opinto-oppaassa. Opintojakson opettaja antaa lisätietoa mahdollisista opintojakson erityiskäytänteistä.
Student workload
Yksi opintopiste (1 op) tarkoittaa keskimäärin 27 tunnin työtä.
- luennot 30 h
- harjoitustyö ja seminaari 28 h
- itsenäinen työskentely 50 h
Yhteensä 108 h
Content scheduling
Tunneilla käydään läpi koko tietorakenteet ja algoritmit aihealue, kuusi kotitehtäväkertaa, Harjoitustyö käynnistetään ennen itseopiskeluviikkoa. Jakson loppupuolella on mahdollista saada ohjausta harjoitustyön teossa.
Further information for students
Arviointi perustuu kokonaisuuteen, joka koostuu seuraavista osasuorituksista:
- Kotitehtävät 9p
- Harjoitustyö 11p
- Tentti 18p, minimiraja 6 pistettä
Arvosana määräytyy (1-5) lineaarisella jaolla yhteispisteistä välillä:
14 - 38 pistettä, Alle 14p on hylätty suoritus. Tentin minimipisteet on 6 pistettä.Hylätyn suorituksen tapauksessa tentti on mahdollista uusia enintään kaksi kertaa.
Evaluation scale
0-5
Evaluation criteria, satisfactory (1-2)
Erinomainen 5: Opiskelija tuntee laajasti keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Opiskelija tuntee opintojaksolla käydyt tietorakenteet ja hahmottaa niiden käyttötarkoitukset. Opiskelija osaa toteuttaa algoritmin, jossa hyödynnetään monipuolisesti tietorakenteita. Opiskelija kykenee analysoimaan algoritmin toiminnan ja arvioimaan sen tehokkuutta. Opiskelija osaa valita ja perustella ongelmanratkaisutilanteeseen soveltuvimman algoritmin ja sen tietorakenteet.
Kiitettävä 4: Opiskelija tuntee keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet.
Opiskelija tuntee opintojaksolla käydyt tietorakenteet ja hahmottaa niiden käyttötarkoitukset.
Opiskelija osaa toteuttaa algoritmin, jossa hyödynnetään monipuolisesti tietorakenteita. Opiskelija
kykenee analysoimaan algoritmin toiminnan ja arvioimaan sen tehokkuutta.
Hyvä 3: Opiskelija tuntee keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet.
Opiskelija tuntee opintojaksolla käydyt lineaariset ja osan monimutkaisemmista tietorakenteista. Lisäksi
opiskelija ymmärtää lineaaristen tietorakenteiden käyttötarkoitukset. Opiskelija osaa toteuttaa algoritmin, jossa
hyödynnetään jotain valittua tietorakennetta. Opiskelija kykenee analysoimaan algoritmin
toiminnan ja arvioimaan sen tehokkuutta.
Tyydyttävä 2: Opiskelija tuntee välttämättömimmät tietorakenteisiin ja algoritmeihin liittyvät
käsitteet. Opiskelija tuntee opintojaksolla käydyt lineaariset tietorakenteet ja niiden käyttömahdollisuudet. Opiskelija
kykenee analysoimaan yksinkertaisen algoritmin toiminnan ja arvioimaan sen tehokkuutta.
Hyväksytty/välttävä 1: Opiskelija tuntee välttämättömimmät tietorakenteisiin ja algoritmeihin
liittyvät käsitteet. Opiskelija tuntee opintojaksolla käydyt keskeisimmät lineaariset tietorakenteet ja niiden käyttömahdollisuudet.
Opiskelija kykenee analysoimaan yksinkertaisen algoritmin toiminnan ja arvioimaan sen tehokkuutta.
Hylätty 0: Opiskelija ei hallitse aihealuetta.
Evaluation criteria, good (3-4)
Hyvä 3: Opiskelija tuntee keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Opiskelija tuntee opintojaksolla käydyt lineaariset ja osan monimutkaisemmista tietorakenteista. Lisäksi opiskelija ymmärtää lineaaristen tietorakenteiden käyttötarkoitukset. Opiskelija osaa toteuttaa algoritmin, jossa hyödynnetään jotain valittua tietorakennetta. Opiskelija kykenee analysoimaan algoritmin toiminnan ja arvioimaan sen tehokkuutta.
Kiitettävä 4: Opiskelija tuntee keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Opiskelija tuntee opintojaksolla käydyt tietorakenteet ja hahmottaa niiden käyttötarkoitukset. Opiskelija osaa toteuttaa algoritmin, jossa hyödynnetään monipuolisesti tietorakenteita. Opiskelija kykenee analysoimaan algoritmin toiminnan ja arvioimaan sen tehokkuutta.
Evaluation criteria, excellent (5)
Erinomainen 5: Opiskelija tuntee laajasti keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Opiskelija tuntee opintojaksolla käydyt tietorakenteet ja hahmottaa niiden käyttötarkoitukset. Opiskelija osaa toteuttaa algoritmin, jossa hyödynnetään monipuolisesti tietorakenteita. Opiskelija kykenee analysoimaan algoritmin toiminnan ja arvioimaan sen tehokkuutta. Opiskelija osaa valita ja perustella ongelmanratkaisutilanteeseen soveltuvimman algoritmin ja sen tietorakenteet.
Prerequisites
Ohjelmoinnin perusteet