Skip to main content

Data Structures and Algorithms (3 op)

Toteutuksen tunnus: TTC1050-3018

Toteutuksen perustiedot


Ilmoittautumisaika

20.11.2023 - 04.01.2024

Ajoitus

08.01.2024 - 30.04.2024

Opintopistemäärä

3 op

Virtuaaliosuus

3 op

Toteutustapa

Verkko-opetus

Yksikkö

School of Technology

Toimipiste

Lutakko Campus

Opetuskielet

  • Suomi

Paikat

20 - 35

Koulutus

  • Bachelor's Degree Programme in Information and Communications Technology

Opettaja

  • Juha Peltomäki

Ryhmät

  • TTV22SM2
    Tieto- ja viestintätekniikka (AMK)
  • 12.01.2024 16:30 - 18:00, Tietorakenteet ja algoritmit TTC1050-3018
  • 16.02.2024 16:30 - 18:00, Tietorakenteet ja algoritmit TTC1050-3018
  • 15.03.2024 16:00 - 17:30, Tietorakenteet ja algoritmit TTC1050-3018

Objectives

Tarkoitus
Opintojakson käytyäsi ymmärrät algoritmiin ja sen toteutukseen liittyvät keskeiset käsitteet. Lisäksi osaat valita algoritmin toteutukseen soveltuvat tietorakenteet ja arvioida algoritmin tehokkuutta.

EUR-ACE-osaamiset:
Tieto ja ymmärrys
Tekniikan soveltaminen käytäntöön
Tutkimukset ja tiedonhaku

Osaamistavoite
Osaat kuvata ja tulkita algoritmeja sekä arvioida niiden toimivuutta ja tehokkuutta erilaisissa tilanteissa. Lisäksi tunnet tärkeimmät tietorakenteet ja osaat valita niihin soveltuvat algoritmit toteutuskielestä ja –alustasta riippumatta.

Content

Opintojaksolla tutustutaan erilaisiin algoritmityyppeihin ja yleisimpiin algoritmeihin. Algoritmien tehokkuuden mittaaminen opitaan tärkeimpien algoritmien avulla. Algoritmityypit käydään alkaen perustietorakenteista edeten kohti mutkikkaimpia (puut ja verkot) toteutuksia. Opintojaksolla käydään läpi eri tyyppiset algoritmien ja tietorakenteiden ominaisuudet riippumatta toteutuskielestä tai –alustasta.

Time and location

Opintojakso toteutetaan kevätlukukaudella 2024.

Learning materials and recommended literature

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

Teaching methods

- luennot
- itseopiskelu
- verkko-opinnot
- harjoitukset

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 20 t
- harjoitukset 45 t
- itsenäinen työskentely 16 t

Yhteensä 81 t

Further information for students

Arviointi perustuu kokonaisuuteen, joka koostuu seuraavista osasuorituksista:

- Harjoitukset
- Harjoitustyö

Evaluation scale

0-5

Evaluation criteria, satisfactory (1-2)

Hyväksytty/välttävä 1: Tunnet välttämättömimmät tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Tunnet opintojaksolla käydyt tärkeimmät lineaariset tietorakenteet ja niiden käyttömahdollisuudet. Kykenet analysoimaan yksinkertaisen algoritmin toiminnan ja arvioimaan sen tehokkuutta.

Tyydyttävä 2: Tunnet välttämättömimmät tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Tunnet opintojaksolla käydyt lineaariset tietorakenteet ja niiden käyttömahdollisuudet. Kykenet analysoimaan yksinkertaisen algoritmin toiminnan ja arvioimaan sen tehokkuutta.

Evaluation criteria, good (3-4)

Hyvä 3: Tunnet keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Tunnet opintojaksolla käydyt lineaariset ja osan monimutkaisemmista tietorakenteista. Lisäksi ymmärrät lineaaristen tietorakenteiden käyttötarkoitukset. Osaat toteuttaa algoritmin, jossa hyödynnetään jotain valittua tietorakennetta. Kykenet analysoimaan algoritmin toiminnan ja arvioimaan sen tehokkuutta.

Kiitettävä 4: Tunnet keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Tunnet opintojaksolla käydyt tietorakenteet ja hahmotat niiden käyttötarkoitukset. Osaat toteuttaa algoritmin, jossa hyödynnetään monipuolisesti tietorakenteita. Kykenet analysoimaan algoritmin toiminnan ja arvioimaan sen tehokkuutta.

Evaluation criteria, excellent (5)

Tunnet laajasti keskeiset tietorakenteisiin ja algoritmeihin liittyvät käsitteet. Tunnet opintojaksolla käydyt tietorakenteet ja hahmotat niiden käyttötarkoitukset. Osaat toteuttaa algoritmin, jossa hyödynnetään monipuolisesti tietorakenteita. Kykenet analysoimaan syvällisesti algoritmin toiminnan ja arvioimaan sen tehokkuutta. Osaat valita ja perustella ongelmanratkaisutilanteeseen soveltuvimman algoritmin ja sen tietorakenteet.

Prerequisites

Ohjelmoinnin perusteet

Lisätiedot

Läpikäytyjä teknologioita: Algoritmityypit, tehokkuusluokitus ja analysointi, tiedon haku- ja järjestämisalgoritmit eri tietorakenteilla, tiedon haku- ja talletustekniikat, abstraktit tietorakenteet, listat, jonot, pinot, puut ja verkot sekä niihin liittyvät algoritmit.