Skip to main content

Data Structures and AlgorithmsLaajuus (5 cr)

Code: TX00EY28

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

Object-oriented Programming

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

06.05.2024 - 18.08.2024

Timing

21.10.2024 - 15.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Myllypurontie 1

Teaching languages
  • Finnish
Seats

0 - 35

Degree programmes
  • Information and Communication Technology
Teachers
  • Jarkko Vuori
Groups
  • ICT23K-SW
    Software Engineering

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

Olio-ohjelmointi

Enrollment

06.05.2024 - 18.08.2024

Timing

21.10.2024 - 15.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Myllypurontie 1

Teaching languages
  • Finnish
Seats

0 - 35

Degree programmes
  • Information and Communication Technology
Teachers
  • Matti Valovirta
Groups
  • TVT23K-O
    Ohjelmistotuotanto

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

Olio-ohjelmointi

Enrollment

27.11.2023 - 10.03.2024

Timing

18.03.2024 - 12.05.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

School of ICT

Campus

Myllypurontie 1

Teaching languages
  • English
Seats

0 - 35

Degree programmes
  • Degree Programme in Information Technology
Teachers
  • Jarkko Vuori
Groups
  • ICT22-SW
    Software Engineering

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

Olio-ohjelmointi

Enrollment

27.11.2023 - 10.03.2024

Timing

18.03.2024 - 12.05.2024

Number of ECTS credits allocated

5 op

Virtual portion

2 op

Mode of delivery

60 % Contact teaching, 40 % Distance learning

Unit

School of ICT

Campus

Myllypurontie 1

Teaching languages
  • Finnish
Seats

0 - 35

Degree programmes
  • Information and Communication Technology
Teachers
  • Matti Valovirta
Groups
  • TVT22-O
    Ohjelmistotuotanto

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

Olio-ohjelmointi