Siirry suoraan sisältöön

Tietorakenteet ja algoritmitLaajuus (3 op)

Tunnus: TT00CD83

Laajuus

3 op

Opetuskieli

  • suomi
  • englanti

Vastuuhenkilö

  • Juha Peltomäki,

Osaamistavoitteet

Opintojakso tarjoaa vahvan pohjan algoritmien ja tietorakenteiden osaamiselle ja analysoinnille. Tutustut haku- ja järjestämisalgoritmeihin sekä abstrakteihin tietorakenteisiin, kuten listoihin, taulukoihin, jonoihin, ja pinoihin.

EUR-ACE Tieto ja ymmärrys
Tiedät algoritmeihin ja niiden toteutukseen liittyvät keskeiset käsitteet. Tunnet keskeisimmät abstraktit tietorakenteet.

EUR-ACE Tekniikan soveltaminen käytäntöön
Osaat valita algoritmin toteutukseen soveltuvat tietorakenteet. Osaat arvioida algoritmin toteutusta ja tehokkuutta.

Sisältö

algoritmityypit
algoritmien tehokkuusluokittelu ja analysointi
haku- ja järjestämisalgoritmit
abstraktit tietorakenteet
listat ja taulukot
jono ja pino
linkitetty lista
puut

Esitietovaatimukset

Ohjelmoinnin perusteet

Arviointikriteerit, tyydyttävä (1)

Välttävä (1)
Tunnet algoritmikäsitteen. Tunnistat abstraktit tietorakenteet. Osaat toteuttaa algoritmin jollakin tietorakenteella.

Tyydyttävä (2)
Tunnet algoritmeihin ja niiden toteutukseen liittyviä käsitteitä. Tunnet yleisimmät lineaariset tietorakenteet. Osaat toteuttaa algoritmin jollakin tietorakenteella. Osaat arvioida yksinkertaisen algoritmin toteutusta.

Arviointikriteerit, hyvä (3)

Hyvä (3)
Tiedät algoritmeihin ja niiden toteutukseen liittyvät keskeiset käsitteet. Tunnet keskeisimmät abstraktit tietorakenteet. Osaat toteuttaa algoritmin valitulla tietorakenteella. Osaat arvioida algoritmin toteutusta ja mitata tehokkuutta.

Kiitettävä (4)
Tiedät algoritmeihin ja niiden toteutukseen liittyvät käsitteet. Tunnet abstraktien tietorakenteiden toimintaperiaatteet. Tunnistat algoritmin toteutukseen hyvin soveltuvat tietorakenteet. Osaat analysoida algoritmin toteutusta ja tehokkuutta.

Arviointikriteerit, kiitettävä (5)

Erinomainen (5)
Tiedät algoritmeihin ja niiden toteutukseen liittyvät käsitteet. Osaat suositella ongelmaan sopivia abstrakteja tietorakenteita. Osaat perustellen valita algoritmin toteutukseen parhaiten soveltuvat tietorakenteet. Osaat analysoida algoritmin toteutusta ja tarvittaessa parantaa sen tehokkuutta.