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-PEPelisovellukset
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-PEPelisovellukset
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.