Siirry suoraan sisältöön

Tietorakenteet ja algoritmitLaajuus (4 op)

Tunnus: TTZC0700

Laajuus

4 op

Opetuskieli

  • suomi

Vastuuhenkilö

  • Sampo Kotikoski,
  • Antti Häkkinen,

Osaamistavoitteet

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.

Esitietovaatimukset

Ohjelmoinnin perusteet

Arviointikriteerit, tyydyttävä (1)

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)

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.