Skip to main content

Data Structures and AlgorithmsLaajuus (5 cr)

Code: TX00EW61

Credits

5 op

Objective

The student is familiar with the most common data structures and some of the key algorithms used in data processing. The student has a practical feel for the design and computational complexity of algorithms. In addition, the student is familiar with the ready-made data structure implementations offered by libraries in one of the programming languages.

Content

- Abstract data type: interface and implementation
- Iterativeness vs. recursivity
- Time and space requirements
- Linked lists
- Stack and queue
- Trees
- Graphs
- Search techniques
- Sorting algorithms
- Algorithm types
- General purpose data structure libraries (list, map, set)

Prerequisites

C++ Programming, Game Mathematics.

Assessment criteria, satisfactory (1)

The student has achieved the course objectives fairly. The student will be able to identify, define and use the course subject area’s concepts and models. The student has completed the required learning exercises in minimum requirement level.

Assessment criteria, good (3)

The student has achieved the course objectives well, even though the knowledge and skills need improvement on some areas. The student has completed the required learning exercises in good or satisfactory level. The student is able to define the course concepts and models and is able to justify the analysis.

Assessment criteria, excellent (5)

The student has achieved the objectives of the course with excellent marks. The student master commendably the course subject area’s concepts and models. The student has completed the required learning exercises in good or excellent level. The student is able to make justified and fluent analysis.

Assessment criteria, approved/failed

The student has achieved the course objectives. The student will be able to identify, define and use the course subject area’s concepts and models. The student has completed the required learning exercises.

Enrollment

01.01.2020

Timing

21.10.2024 - 15.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Karaportti 2

Teaching languages
  • English
Seats

0 - 30

Teachers
  • Peyman Arian
Teacher in charge

Ville Jääskeläinen

Groups
  • LT6424K
    Professional Development Program in Information Technology

Objective

Opiskelija tuntee yleisimmät tietorakenteet ja joitakin tietojenkäsittelyssä käytettäviä keskeisiä algoritmeja. Opiskelijalla on käytännön tuntuma algoritmien suunnitteluun ja laskennalliseen vaativuuteen. Lisäksi opiskelija tuntee jonkin ohjelmointikielen kirjastojen tarjoamat valmiit tietorakennetoteutukset.

Content

- Abstrakti tietotyyppi: rajapinta ja toteutus
- Iteratiivisuus vs. rekursiivisuus
- Aika- ja tilavaativuus
- Linkitetyt listat
- Pino ja jono
- Puut
- Verkot
- Hakutekniikat
- Järjestämisalgoritmit
- Algoritmityypit
- Yleiskäyttöiset tietorakennekirjastot (list, map, set)

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

Opiskelija on saavuttanut kurssin tavoitteet tyydyttävästi. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät minimivaatimuksin.

Assessment criteria, good (3)

Opiskelija on saavuttanut kurssin tavoitteet hyvin. Hän tunnistaa, osaa nimetä ja pystyy käyttämään opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät hyvin.

Assessment criteria, excellent (5)

Opiskelija on saavuttanut kurssin tavoitteet erinomaisesti. Hän tunnistaa, osaa nimetä, pystyy käyttämään ja soveltamaan opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja monipuolisesti. Hän on suorittanut opintojaksolla annetut tehtävät erinomaisesti ja on pystynyt tuomaan ratkaisuihin merkittävästi omaa panostaan.

Assessment criteria, approved/failed

Opiskelija on saavuttanut kurssin tavoitteet. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät.

Prerequisites

C++-ohjelmointi, Pelimatematiikka.

Enrollment

01.01.2020

Timing

21.10.2024 - 15.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Karaportti 2

Teaching languages
  • English
Seats

0 - 42

Degree programmes
  • Further Education Programme in Technology, Communication and Transport
Teachers
  • Fikadu Mulugeta
Groups
  • LT6724K
    Industrial Management Diploma

Objective

Opiskelija tuntee yleisimmät tietorakenteet ja joitakin tietojenkäsittelyssä käytettäviä keskeisiä algoritmeja. Opiskelijalla on käytännön tuntuma algoritmien suunnitteluun ja laskennalliseen vaativuuteen. Lisäksi opiskelija tuntee jonkin ohjelmointikielen kirjastojen tarjoamat valmiit tietorakennetoteutukset.

Content

- Abstrakti tietotyyppi: rajapinta ja toteutus
- Iteratiivisuus vs. rekursiivisuus
- Aika- ja tilavaativuus
- Linkitetyt listat
- Pino ja jono
- Puut
- Verkot
- Hakutekniikat
- Järjestämisalgoritmit
- Algoritmityypit
- Yleiskäyttöiset tietorakennekirjastot (list, map, set)

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

Opiskelija on saavuttanut kurssin tavoitteet tyydyttävästi. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät minimivaatimuksin.

Assessment criteria, good (3)

Opiskelija on saavuttanut kurssin tavoitteet hyvin. Hän tunnistaa, osaa nimetä ja pystyy käyttämään opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät hyvin.

Assessment criteria, excellent (5)

Opiskelija on saavuttanut kurssin tavoitteet erinomaisesti. Hän tunnistaa, osaa nimetä, pystyy käyttämään ja soveltamaan opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja monipuolisesti. Hän on suorittanut opintojaksolla annetut tehtävät erinomaisesti ja on pystynyt tuomaan ratkaisuihin merkittävästi omaa panostaan.

Assessment criteria, approved/failed

Opiskelija on saavuttanut kurssin tavoitteet. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät.

Prerequisites

C++-ohjelmointi, Pelimatematiikka.

Enrollment

01.01.2020

Timing

18.03.2024 - 31.05.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Karaportti 2

Teaching languages
  • English
Seats

0 - 30

Teachers
  • Peyman Arian
Teacher in charge

Ville Jääskeläinen

Groups
  • LT6423S
    Professional Development Program in Information Technology

Objective

Opiskelija tuntee yleisimmät tietorakenteet ja joitakin tietojenkäsittelyssä käytettäviä keskeisiä algoritmeja. Opiskelijalla on käytännön tuntuma algoritmien suunnitteluun ja laskennalliseen vaativuuteen. Lisäksi opiskelija tuntee jonkin ohjelmointikielen kirjastojen tarjoamat valmiit tietorakennetoteutukset.

Content

- Abstrakti tietotyyppi: rajapinta ja toteutus
- Iteratiivisuus vs. rekursiivisuus
- Aika- ja tilavaativuus
- Linkitetyt listat
- Pino ja jono
- Puut
- Verkot
- Hakutekniikat
- Järjestämisalgoritmit
- Algoritmityypit
- Yleiskäyttöiset tietorakennekirjastot (list, map, set)

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

Opiskelija on saavuttanut kurssin tavoitteet tyydyttävästi. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät minimivaatimuksin.

Assessment criteria, good (3)

Opiskelija on saavuttanut kurssin tavoitteet hyvin. Hän tunnistaa, osaa nimetä ja pystyy käyttämään opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät hyvin.

Assessment criteria, excellent (5)

Opiskelija on saavuttanut kurssin tavoitteet erinomaisesti. Hän tunnistaa, osaa nimetä, pystyy käyttämään ja soveltamaan opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja monipuolisesti. Hän on suorittanut opintojaksolla annetut tehtävät erinomaisesti ja on pystynyt tuomaan ratkaisuihin merkittävästi omaa panostaan.

Assessment criteria, approved/failed

Opiskelija on saavuttanut kurssin tavoitteet. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät.

Prerequisites

C++-ohjelmointi, Pelimatematiikka.

Enrollment

27.11.2023 - 14.01.2024

Timing

15.01.2024 - 17.03.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Karaportti 2

Teaching languages
  • Finnish
Seats

0 - 35

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

Objective

Opiskelija tuntee yleisimmät tietorakenteet ja joitakin tietojenkäsittelyssä käytettäviä keskeisiä algoritmeja. Opiskelijalla on käytännön tuntuma algoritmien suunnitteluun ja laskennalliseen vaativuuteen. Lisäksi opiskelija tuntee jonkin ohjelmointikielen kirjastojen tarjoamat valmiit tietorakennetoteutukset.

Content

- Abstrakti tietotyyppi: rajapinta ja toteutus
- Iteratiivisuus vs. rekursiivisuus
- Aika- ja tilavaativuus
- Linkitetyt listat
- Pino ja jono
- Puut
- Verkot
- Hakutekniikat
- Järjestämisalgoritmit
- Algoritmityypit
- Yleiskäyttöiset tietorakennekirjastot (list, map, set)

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

Opiskelija on saavuttanut kurssin tavoitteet tyydyttävästi. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät minimivaatimuksin.

Assessment criteria, good (3)

Opiskelija on saavuttanut kurssin tavoitteet hyvin. Hän tunnistaa, osaa nimetä ja pystyy käyttämään opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät hyvin.

Assessment criteria, excellent (5)

Opiskelija on saavuttanut kurssin tavoitteet erinomaisesti. Hän tunnistaa, osaa nimetä, pystyy käyttämään ja soveltamaan opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja monipuolisesti. Hän on suorittanut opintojaksolla annetut tehtävät erinomaisesti ja on pystynyt tuomaan ratkaisuihin merkittävästi omaa panostaan.

Assessment criteria, approved/failed

Opiskelija on saavuttanut kurssin tavoitteet. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät.

Prerequisites

C++-ohjelmointi, Pelimatematiikka.

Enrollment

27.11.2023 - 14.01.2024

Timing

15.01.2024 - 17.03.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Karaportti 2

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Degree Programme in Information Technology
Teachers
  • Jarkko Vuori
Groups
  • ICT22-G
    Game Development

Objective

Opiskelija tuntee yleisimmät tietorakenteet ja joitakin tietojenkäsittelyssä käytettäviä keskeisiä algoritmeja. Opiskelijalla on käytännön tuntuma algoritmien suunnitteluun ja laskennalliseen vaativuuteen. Lisäksi opiskelija tuntee jonkin ohjelmointikielen kirjastojen tarjoamat valmiit tietorakennetoteutukset.

Content

- Abstrakti tietotyyppi: rajapinta ja toteutus
- Iteratiivisuus vs. rekursiivisuus
- Aika- ja tilavaativuus
- Linkitetyt listat
- Pino ja jono
- Puut
- Verkot
- Hakutekniikat
- Järjestämisalgoritmit
- Algoritmityypit
- Yleiskäyttöiset tietorakennekirjastot (list, map, set)

Evaluation scale

0-5

Assessment criteria, satisfactory (1)

Opiskelija on saavuttanut kurssin tavoitteet tyydyttävästi. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät minimivaatimuksin.

Assessment criteria, good (3)

Opiskelija on saavuttanut kurssin tavoitteet hyvin. Hän tunnistaa, osaa nimetä ja pystyy käyttämään opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät hyvin.

Assessment criteria, excellent (5)

Opiskelija on saavuttanut kurssin tavoitteet erinomaisesti. Hän tunnistaa, osaa nimetä, pystyy käyttämään ja soveltamaan opintojaksolla käsiteltyjä käsitteitä, menetelmiä ja työkaluja monipuolisesti. Hän on suorittanut opintojaksolla annetut tehtävät erinomaisesti ja on pystynyt tuomaan ratkaisuihin merkittävästi omaa panostaan.

Assessment criteria, approved/failed

Opiskelija on saavuttanut kurssin tavoitteet. Hän tunnistaa ja osaa nimetä opintojaksolla käsiteltyjä menetelmiä ja työkaluja. Hän on suorittanut opintojaksolla annetut tehtävät.

Prerequisites

C++-ohjelmointi, Pelimatematiikka.