Skip to main content

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

  • TTV19S2
    Tieto- 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