Skip to main content

Data Structures and AlgorithmsLaajuus (5 cr)

Code: TX00CG82

Credits

5 op

Objective

Student understands concepts of abstraction and interfacing, and perceives importance of components in programming work. He knows the most common data structures: lists, sets, associative structures, and ordered/unordered collections, and is able to utilize those. Student understands how to implement different data structures and algorithms in practice.

Content

• abstraction, abstract data type, interface
• data structures
• iterators
• implementation of data structures and algorithms
• recursion
• computational complexity
• utilizing data structure APIs

Prerequisites

Object-oriented programming (C++), Game mathematics.

Assessment criteria, satisfactory (1)

Student understands importance of abstraction in programming, and is able to utilize data structure APIs.

Assessment criteria, good (3)

Student understands importance of abstraction in programming, and is able to utilize data structure APIs.

Student is able to choose and implement suitable data structures and algorithms.

Assessment criteria, excellent (5)

Student understands importance of abstraction in programming, and is able to utilize data structure APIs.

Student is able to choose and implement suitable data structures and algorithms.

Student understands concept of computational complexity and is able to analyze complexity of various algorithms.

Assessment criteria, approved/failed

Student understands importance of abstraction in programming, and is able to utilize data structure APIs.

Enrollment

28.11.2022 - 08.01.2023

Timing

09.01.2023 - 12.03.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Karaportti 2

Teaching languages
  • Finnish
Seats

0 - 40

Degree programmes
  • Information and Communication Technology
Teachers
  • Miikka Mäki-Uuro
Groups
  • TVT21-PE
    Pelisovellukset

Objective

Opintojakson suoritettuaan opiskelija ymmärtää abstraktioiden ja rajapinta-ajattelun hyödyt. Hänellä on ymmärrys valmiiden ohjelmistokomponenttien käytön merkityksestä ohjelmointityössä.

Opiskelija tuntee yleisimmät tietorakenteet: listat, joukot, assosiatiiviset rakenteet, järjestetyt ja järjestämättömät rakenteet, synkronoidut ja synkronoimattomat rakenteet ja osaa käyttää niitä.

Opiskelija ymmärtää, minkälaista problematiikkaa liittyy tietorakenteiden ja niitä käsittelevien algoritmien toteuttamiseen, ja pystyy myös käytännössä toteuttamaan erilaisia tietorakenteita ja niitä käsitteleviä algoritmeja.

Content

• abstraktiot, abstraktit tietotyypit ja rajapinnat
• tietorakenteet
• iteraattorit
• tietorakenteiden ja algoritmien toteuttaminen
• rekursio
• algoritmien laskennallinen vaativuus
• valmiiden tietorakennekirjastojen (APIt) käyttö

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

Opiskelija ymmärtää abstraktioiden merkityksen ohjelmoinnissa ja osaa käyttää olemassa olevia valmiita API-kirjastojen tarjoamia tietorakenteita ohjelmistotyössä.

Assessment criteria, good (3)

Opiskelija ymmärtää abstraktioiden merkityksen ohjelmoinnissa ja osaa käyttää olemassa olevia valmiita API-kirjastojen tarjoamia tietorakenteita ohjelmistotyössä.

Opiskelija tuntee tietorakenteiden toteutusperiaatteita, osaa perustellen valita tarkoitukseen sopivan tietorakenteen ja osaa kirjoittaa tietorakenteita käsitteleviä algoritmeja.

Assessment criteria, excellent (5)

Opiskelija ymmärtää abstraktioiden merkityksen ohjelmoinnissa ja osaa käyttää olemassa olevia valmiita API-kirjastojen tarjoamia tietorakenteita ohjelmistotyössä.

Opiskelija tuntee tietorakenteiden toteutusperiaatteita, osaa perustellen valita tarkoitukseen sopivan tietorakenteen ja osaa kirjoittaa tietorakenteita käsitteleviä algoritmeja.

Opiskelija ymmärtää tietorakenteiden ja niitä käsittelevien algoritmien laskennallisen problematiikan ja pystyy analysoimaan algoritmien laskennallista vaativuutta.

Assessment criteria, approved/failed

Opiskelija ymmärtää abstraktioiden merkityksen ohjelmoinnissa ja osaa käyttää olemassa olevia valmiita API-kirjastojen tarjoamia tietorakenteita ohjelmistotyössä.

Prerequisites

Olio-ohjelmointi (C++), pelimatematiikka.

Enrollment

29.11.2021 - 09.01.2022

Timing

10.01.2022 - 13.03.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Karaportti 2

Teaching languages
  • Finnish
Seats

0 - 43

Degree programmes
  • Information and Communication Technology
Teachers
  • Miikka Mäki-Uuro
Groups
  • TVT20-PE
    Pelisovellukset

Objective

Opintojakson suoritettuaan opiskelija ymmärtää abstraktioiden ja rajapinta-ajattelun hyödyt. Hänellä on ymmärrys valmiiden ohjelmistokomponenttien käytön merkityksestä ohjelmointityössä.

Opiskelija tuntee yleisimmät tietorakenteet: listat, joukot, assosiatiiviset rakenteet, järjestetyt ja järjestämättömät rakenteet, synkronoidut ja synkronoimattomat rakenteet ja osaa käyttää niitä.

Opiskelija ymmärtää, minkälaista problematiikkaa liittyy tietorakenteiden ja niitä käsittelevien algoritmien toteuttamiseen, ja pystyy myös käytännössä toteuttamaan erilaisia tietorakenteita ja niitä käsitteleviä algoritmeja.

Content

• abstraktiot, abstraktit tietotyypit ja rajapinnat
• tietorakenteet
• iteraattorit
• tietorakenteiden ja algoritmien toteuttaminen
• rekursio
• algoritmien laskennallinen vaativuus
• valmiiden tietorakennekirjastojen (APIt) käyttö

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

Opiskelija ymmärtää abstraktioiden merkityksen ohjelmoinnissa ja osaa käyttää olemassa olevia valmiita API-kirjastojen tarjoamia tietorakenteita ohjelmistotyössä.

Assessment criteria, good (3)

Opiskelija ymmärtää abstraktioiden merkityksen ohjelmoinnissa ja osaa käyttää olemassa olevia valmiita API-kirjastojen tarjoamia tietorakenteita ohjelmistotyössä.

Opiskelija tuntee tietorakenteiden toteutusperiaatteita, osaa perustellen valita tarkoitukseen sopivan tietorakenteen ja osaa kirjoittaa tietorakenteita käsitteleviä algoritmeja.

Assessment criteria, excellent (5)

Opiskelija ymmärtää abstraktioiden merkityksen ohjelmoinnissa ja osaa käyttää olemassa olevia valmiita API-kirjastojen tarjoamia tietorakenteita ohjelmistotyössä.

Opiskelija tuntee tietorakenteiden toteutusperiaatteita, osaa perustellen valita tarkoitukseen sopivan tietorakenteen ja osaa kirjoittaa tietorakenteita käsitteleviä algoritmeja.

Opiskelija ymmärtää tietorakenteiden ja niitä käsittelevien algoritmien laskennallisen problematiikan ja pystyy analysoimaan algoritmien laskennallista vaativuutta.

Assessment criteria, approved/failed

Opiskelija ymmärtää abstraktioiden merkityksen ohjelmoinnissa ja osaa käyttää olemassa olevia valmiita API-kirjastojen tarjoamia tietorakenteita ohjelmistotyössä.

Prerequisites

Olio-ohjelmointi (C++), pelimatematiikka.