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-SWSoftware 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-OOhjelmistotuotanto
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-SWSoftware 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-OOhjelmistotuotanto
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