Siirry suoraan sisältöön

Tietorakenteet ja algoritmit (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ö

Teknologiayksikkö

Toimipiste

Lutakon kampus

Opetuskielet

  • Suomi

Paikat

0 - 32

Koulutus

  • Tieto- ja viestintätekniikka (AMK)

Opettaja

  • Sampo Kotikoski

Ryhmät

  • TTV19S2
    Tieto- ja viestintätekniikka

Tavoitteet

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.

Sisältö

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.

Oppimateriaali ja suositeltava kirjallisuus

Verkko-oppimisympäristössä julkaistava sähköinen materiaali.

Opetusmenetelmät

- luennot
- itseopiskelu
- verkko-opinnot
- webinaarit
- pienryhmätyöskentely
- harjoitustyö
- oppimistehtävät
- seminaarit
-pandemiatilanne saattaa vaikuttaa toteutukseen

Tenttien ajankohdat ja uusintamahdollisuudet

Mahdollinen tentin ajankohta ja toteutustapa ilmoitetaan opintojakson ensimmäisellä kerralla. Pandemiatilanne saattaa vaikuttaa toteutukseen.

Vaihtoehtoiset suoritustavat

Hyväksilukemisen menettelytavat kuvataan tutkintosäännössä ja opinto-oppaassa. Opintojakson opettaja antaa lisätietoa mahdollisista opintojakson erityiskäytänteistä.

Opiskelijan ajankäyttö ja kuormitus

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

Sisällön jaksotus

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.

Lisätietoja opiskelijoille

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.

Arviointiasteikko

0-5

Arviointikriteerit, tyydyttävä (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.

Arviointikriteerit, hyvä (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.

Arviointikriteerit, kiitettävä (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.

Esitietovaatimukset

Ohjelmoinnin perusteet