Tietorakenteet ja algoritmit (4op)
Opintojakson tunnus: TTZC0700
Opintojakson perustiedot
- 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.
                    
