Siirry suoraan sisältöön

Tietorakenteet ja algoritmitLaajuus (5 op)

Tunnus: 5051128

Laajuus

5 op

Osaamistavoitteet

Opintojakson suoritettuaan opiskelija osaa:
- selittää tavallisimpia tietorakenteita
- hyödyntää keskeisiä tietorakenteita sekä niiden käyttöön liittyviä algoritmeja
- arvioida algoritmien suoritustehokkuutta.

Sisältö

- listat, pinot, jonot, puut, verkot ja hajautustaulut
- algoritmien analysointi
- algoritmien suunnittelu
- järjestämistekniikat
- hakualgoritmit

Esitietovaatimukset

Ohjelmoinnin perusteet tai vastaavat tiedot ja taidot

Ilmoittautumisaika

01.12.2024 - 13.01.2025

Ajoitus

13.01.2025 - 30.04.2025

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Suomi
  • Englanti
Paikat

0 - 70

Koulutus
  • Tieto- ja viestintätekniikan koulutus
Opettaja
  • Noora Maritta Nieminen
Ryhmät
  • PTIVIS23P
    Game and Interactive Technologies

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
- selittää tavallisimpia tietorakenteita
- hyödyntää keskeisiä tietorakenteita sekä niiden käyttöön liittyviä algoritmeja
- arvioida algoritmien suoritustehokkuutta.

Sisältö

- listat, pinot, jonot, puut, verkot ja hajautustaulut
- algoritmien analysointi
- algoritmien suunnittelu
- järjestämistekniikat
- hakualgoritmit

Oppimateriaalit

Lecture and practice session material in ItsLearning, e.g. PowerPoint presentations, Jupyter notebook / Python files, etc.
All material is provided in English

Opetusmenetelmät

Attending to lectures: teacher will provide both theoretical background and practical examples on a dedicated topic
Attending practice sessions: the theory is put into action in practice - we will see solutions to previous exercises + practice new topics
Individual work: Completing the assignments individually after face-to-face sessions

Tenttien ajankohdat ja uusintamahdollisuudet

No exam, retake not possible after the publication of the final assessment/course grade

Pedagogiset toimintatavat ja kestävä kehitys

The course has 14 two-hour contact sessions where teacher present theory and examples, and 12 two-hour practice sessions where students work with practical tasks.

Electronic materials are used in the course.

Toteutuksen valinnaiset suoritustavat

Ask teacher, if there is an ongoing suitable online course (FiTech / Coursera or equivalent).
CampusOnline courses ARE NOT accepted!

Opiskelijan ajankäyttö ja kuormitus

Lectures 2h / week x 14 = 28h
Practice sessions 2h x 12 = 24h
Individual work outside school: reading, studying, preparing the weekly programming practice tasks: 80h

Total: approx. 80h

Sisällön jaksotus

Understanding data structures and algorithmic efficiency / complexity are essential in many ways. During this course, the student will gain both theoretical and practical understanding on these topics. Students will learn to use pseudocode / flowcharts to describe algorithms and analyze their complexity (time and space, both experimental and theoretical). We will gain a comprehensive insight to elementary data structures and their algorithms.

Practical understanding is gained through coding exercises. We will use Python as our main coding language.

January– April 2025

January: Algorithmic Thinking and Analysis
• pseudocode, flowcharts
• efficiency and algorithmic complexity

February: Basic Data Structures
• Arrays, Linked List, Stack, Queue

March: Advanced Data Structures
• Hash table, Trees, Graphs

April: Sorting Algorithms, Search Algorithms
• Bubble, Selection, Insertion, Merge and Quick Sort

Viestintäkanava ja lisätietoja

ItsLearning
Email

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

The grade will be based on the following criteria:
- practical work (at the end of the course)
- homework activity (continuous, weekly assignments)
- attendance to lectures and practice sessions

You can achieve 80 points from practical exercises in class room and home work exercises.
Around half of the exercises are done during the contact hours.

Demonstrations of exercises during the contact session is mandatory without demonstration you will lose 50% of your marks.

Additionally, there is a group project of 20 points, passing group project is mandatory to pass the course.

Lastly, to pass the course the student need to get at least 40 marks in the exercises and at least 10 marks in the project.

Hylätty (0)

Student fails to meet most of the general objectives of the course in a satisfactory level.

Arviointikriteerit, tyydyttävä (1-2)

• has an elementary understanding on the performance of algorithms and in simple cases is able to apply some methods of analysis covered during the course.
• is familiar with some major algorithms and data structures covered in the course.
• has a basic understanding on how to apply the algorithmic design parameters covered in the course.
• has an elementary understanding on data representation.
• demonstrates some understanding on how to decompose programming problems in a purposeful way.
• can use most elementary data structures appropriately

Arviointikriteerit, hyvä (3-4)

• can analyze the performance of simple algorithms and is able to apply some of the methods of analysis covered during the course.
• is familiar with most of the major algorithms and data structures covered in the course.
• has an understanding of the algorithmic design parameters covered in the course.
• has a good understanding on data representation.
• demonstrates ability to decompose programming problems in a somewhat purposeful way.
• can choose and use elementary data structures appropriately in most cases.

Arviointikriteerit, kiitettävä (5)

• can analyze the performance of algorithms and is able to apply all the methods of analysis covered during the course.
• is familiar with all the major algorithms and data structures covered in the course.
• is able to apply the algorithmic design parameters covered in the course.
• has a deep understanding on data representation.
• demonstrates ability to decompose programming problems in a purposeful way.
• can choose and use elementary data structures appropriately.

Esitietovaatimukset

Ohjelmoinnin perusteet tai vastaavat tiedot ja taidot

Ilmoittautumisaika

01.12.2024 - 13.01.2025

Ajoitus

13.01.2025 - 30.04.2025

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Englanti
Paikat

0 - 45

Opettaja
  • Ali Khan
  • Laura Järvenpää
Ajoitusryhmät
  • Group 1 (Koko: 40. Avoin AMK: 0.)
  • Group 2 (Koko: 40. Avoin AMK: 0.)
Ryhmät
  • PTIVIS23H
    Health Technology
Pienryhmät
  • Group 1
  • Group 2

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
- selittää tavallisimpia tietorakenteita
- hyödyntää keskeisiä tietorakenteita sekä niiden käyttöön liittyviä algoritmeja
- arvioida algoritmien suoritustehokkuutta.

Sisältö

- listat, pinot, jonot, puut, verkot ja hajautustaulut
- algoritmien analysointi
- algoritmien suunnittelu
- järjestämistekniikat
- hakualgoritmit

Oppimateriaalit

Material available via the learning environment (ITS).

Opetusmenetelmät

Weekly contact 3 hours sessions for theory and practical exercises.
Additionally, if needed weekly 1h sessions for questions and support in exercises.

Tenttien ajankohdat ja uusintamahdollisuudet

No exam, and retake not possible after evaluation grade is published.

Pedagogiset toimintatavat ja kestävä kehitys

The course has 12 three-hour contact sessions where teacher present theory and examples and students work with practical tasks.
Additionally, students are able to receive extra guidance for exercises.

Electronic materials are used in the course. In addition, guidance is also organized online in order to reduce the carbon footprint caused by movement.

Toteutuksen valinnaiset suoritustavat

Not possible

Opiskelijan ajankäyttö ja kuormitus

Contact hours
- Course introduction: 3 hours
- 13 times 2h theory: 13 x 2h = 26 hours
- 13 times 1h demo 13 x 1h = 13 hours - Group 1
- 13 times 1h demo 13 x 1h = 13 hours - - Group 2
- FLIP Classroom 10 X 1h = 10h
Home work:
- Working with assignments: approximately 80 hours


Total: approximately 130 hours

Sisällön jaksotus

Week 2: Course introduction

Session from Weeks 2 - 15
- Algorithms and algorithmic thinking
- Data structures
- Search algorithms
- Sorting algorithms

Contact hours according to lukkari.turkuamk.fi.

Viestintäkanava ja lisätietoja

ITS and Teams.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

The course is graded on a scale of 0-5.

You can achieve 80 points from practical exercises in class room and home work exercises.
Around half of the exercises are done during the contact hours.

Demonstrations of exercises during the contact session is mandatory without demonstration you will lose 50% of your marks.

Additionally, there is a group project of 20 points, passing group project is mandatory to pass the course.

Lastly, to pass the course the student need to get at least 40 marks in the exercises and at least 10 marks in the project.

Hylätty (0)

Less than 50% points in the exercises OR Student does not passed the group project.

Arviointikriteerit, tyydyttävä (1-2)

50 points -> 1
60 points -> 2

Arviointikriteerit, hyvä (3-4)

70 points -> 3
80 points -> 4

Arviointikriteerit, kiitettävä (5)

90 points -> 5

Esitietovaatimukset

Ohjelmoinnin perusteet tai vastaavat tiedot ja taidot

Ilmoittautumisaika

01.06.2024 - 06.09.2024

Ajoitus

02.09.2024 - 18.12.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Englanti
Paikat

20 - 60

Koulutus
  • Tieto- ja viestintätekniikan koulutus
  • Degree Programme in Information and Communications Technology
Opettaja
  • Ali Khan
Vastuuopettaja

Noora Maritta Nieminen

Ryhmät
  • PTIVIS23S
    Embedded Software and IoT

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
- selittää tavallisimpia tietorakenteita
- hyödyntää keskeisiä tietorakenteita sekä niiden käyttöön liittyviä algoritmeja
- arvioida algoritmien suoritustehokkuutta.

Sisältö

- listat, pinot, jonot, puut, verkot ja hajautustaulut
- algoritmien analysointi
- algoritmien suunnittelu
- järjestämistekniikat
- hakualgoritmit

Oppimateriaalit

Material available via the learning environment (ITS).

Opetusmenetelmät

Weekly contact 3 hours sessions for theory and practical exercises.
Additionally, if needed weekly 1h sessions for questions and support in exercises.

Tenttien ajankohdat ja uusintamahdollisuudet

No exam, and retake not possible after evaluation grade is published.

Pedagogiset toimintatavat ja kestävä kehitys

The course has 12 three-hour contact sessions where teacher present theory and examples and students work with practical tasks.
Additionally, students are able to receive extra guidance for exercises.

Electronic materials are used in the course. In addition, guidance is also organized online in order to reduce the carbon footprint caused by movement.

Toteutuksen valinnaiset suoritustavat

Not possible

Opiskelijan ajankäyttö ja kuormitus

Contact hours
- Course introduction: 3 hours
- 13 times 2h theory: 13 x 2h = 26 hours
- 13 times 1h demo 13 x 1h = 13 hours - Group 1
- 13 times 1h demo 13 x 1h = 13 hours - - Group 2
- FLIP Classroom 10 X 1h = 10h
Home work:
- Working with assignments: approximately 80 hours


Total: approximately 130 hours

Sisällön jaksotus

Week 36: Course introduction

Session from Weeks 36 - 48
- Algorithms and algorithmic thinking
- Data structures
- Search algorithms
- Sorting algorithms

Contact hours according to lukkari.turkuamk.fi.

Viestintäkanava ja lisätietoja

ITS and Teams.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

The course is graded on a scale of 0-5.

You can achieve 80 points from practical exercises in class room and home work exercises.
Around half of the exercises are done during the contact hours.

Demonstrations of exercises during the contact session is mandatory without demonstration you will lose 50% of your marks.

Additionally, there is a group project of 20 points, passing group project is mandatory to pass the course.

Lastly, to pass the course the student need to get at least 40 marks in the exercises and at least 10 marks in the project.

Hylätty (0)

Less than 50% points in the exercises OR Student does not passed the group project.

Arviointikriteerit, tyydyttävä (1-2)

50 points -> 1
60 points -> 2

Arviointikriteerit, hyvä (3-4)

70 points -> 3
80 points -> 4

Arviointikriteerit, kiitettävä (5)

90 points -> 5

Esitietovaatimukset

Ohjelmoinnin perusteet tai vastaavat tiedot ja taidot

Ilmoittautumisaika

02.12.2023 - 31.12.2023

Ajoitus

01.01.2024 - 30.04.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Suomi
  • Englanti
Paikat

20 - 50

Koulutus
  • Tieto- ja viestintätekniikan koulutus
  • Degree Programme in Information and Communications Technology
Opettaja
  • Noora Maritta Nieminen
Vastuuopettaja

Noora Maritta Nieminen

Ryhmät
  • PTIVIS22P
    Game and Interactive Technologies

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
- selittää tavallisimpia tietorakenteita
- hyödyntää keskeisiä tietorakenteita sekä niiden käyttöön liittyviä algoritmeja
- arvioida algoritmien suoritustehokkuutta.

Sisältö

- listat, pinot, jonot, puut, verkot ja hajautustaulut
- algoritmien analysointi
- algoritmien suunnittelu
- järjestämistekniikat
- hakualgoritmit

Arviointiasteikko

H-5

Esitietovaatimukset

Ohjelmoinnin perusteet tai vastaavat tiedot ja taidot

Ilmoittautumisaika

30.11.2022 - 18.01.2023

Ajoitus

09.01.2023 - 30.04.2023

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Englanti
Koulutus
  • Tieto- ja viestintätekniikan koulutus
  • Degree Programme in Information and Communications Technology
Opettaja
  • Noora Maritta Nieminen
Ryhmät
  • PTIVIS21P
    Game and Interactive Technologies

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
- selittää tavallisimpia tietorakenteita
- hyödyntää keskeisiä tietorakenteita sekä niiden käyttöön liittyviä algoritmeja
- arvioida algoritmien suoritustehokkuutta.

Sisältö

- listat, pinot, jonot, puut, verkot ja hajautustaulut
- algoritmien analysointi
- algoritmien suunnittelu
- järjestämistekniikat
- hakualgoritmit

Arviointiasteikko

H-5

Esitietovaatimukset

Ohjelmoinnin perusteet tai vastaavat tiedot ja taidot

Ilmoittautumisaika

02.12.2021 - 31.12.2021

Ajoitus

01.01.2022 - 30.04.2022

Opintopistemäärä

5 op

Virtuaaliosuus

3 op

Toteutustapa

40 % Lähiopetus, 60 % Etäopetus

Yksikkö

Tekniikka ja liiketoiminta

Toimipiste

Kupittaan kampus

Opetuskielet
  • Englanti
Paikat

25 - 60

Koulutus
  • Tieto- ja viestintätekniikan koulutus
  • Degree Programme in Information and Communications Technology
Opettaja
  • Tapani Ojanperä
Vastuuopettaja

Tapani Ojanperä

Ryhmät
  • PTIVIS20P
    Game and Interactive Technologies

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa:
- selittää tavallisimpia tietorakenteita
- hyödyntää keskeisiä tietorakenteita sekä niiden käyttöön liittyviä algoritmeja
- arvioida algoritmien suoritustehokkuutta.

Sisältö

- listat, pinot, jonot, puut, verkot ja hajautustaulut
- algoritmien analysointi
- algoritmien suunnittelu
- järjestämistekniikat
- hakualgoritmit

Oppimateriaalit

Granville- Luca Del Tongo: Data Structures and Algorithms
https://dsa.codeplex.com/
Various internet sources, links & descriptions are provided in itslearning environment.

Opetusmenetelmät

Independent work, online activities (quizzes and problem sets) in itslearning.

Tenttien ajankohdat ja uusintamahdollisuudet

One exam in the end of the course. The schedule of the exams will be in itslearning.
Two re-exams.

Pedagogiset toimintatavat ja kestävä kehitys

The course material is totally in English. Data Structures and Algorithms are very crucial to know in order to make successful programs. Besides some of the students are international ones. Material consists of PowerPoint slides, Word and PDF files. In addition, there are links to different web materials, e.g. lectures and presentations in YouTube and in some other places in Internet. The course consists of rounds of topics (learning material & quiz - homework - teacher review). There will be a specified time slot of each round. Some rounds have quizzes. Each quiz will consist of 4-6 quick questions, where the student needs to choose an answer out of 4 available ones, or answer yes or no. After every section there will be a homework assignment to solve some algorithmic problems related to the current subject.

Opiskelijan ajankäyttö ja kuormitus

Material reading 60h
Homework (quizzes and exercises) 60h
Preparing exam 15h
Total 135h

Sisällön jaksotus

January– April 2022
January: Algorithmic Thinking and Analysis
February: Basic Data Structures
March: Advanced Data Structures
April: Sorting Algorithms, Search Algorithms, exam
• Arrays, Linked List, Stack, Queue
• Hash table, Trees, Graphs
• Bubble, Selection, Insertion, Merge and Quick Sort

methods
• Binary search, Pathfinding, Shuffling

Viestintäkanava ja lisätietoja

Python (or C#) and MatLab are recommended and used, but other common languages are acceptable in homeworks.
All practical information on schedules, quizzes, problems, grading etc., as well as links to web materials are provided in itslearning.

Arviointiasteikko

H-5

Arviointimenetelmät ja arvioinnin perusteet

Quizzes 20 %
Quizzes (5) in itslearning diagnostic/formative instant scoring
Problem Sets 30 %
Different Problem Sets (7) in itslearning, diagnostic/formative self and teacher evaluation
Final exam 50 %
A written exam (90 minutes) on specified material
Summative teacher evaluation at the end of the course

Hylätty (0)

Student fails to meet most of the general objectives of the course in a satisfactory level.

Arviointikriteerit, tyydyttävä (1-2)

• has an elementary understanding on the performance of algorithms and in simple cases is able to apply some methods of analysis covered during the course.
• is familiar with some major algorithms and data structures covered in the course.
• has a basic understanding on how to apply the algorithmic design parameters covered in the course.
• has an elementary understanding on data representation.
• demonstrates some understanding on how to decompose programming problems in a purposeful way.
• can use most elementary data structures appropriately

Arviointikriteerit, hyvä (3-4)

• can analyze the performance of simple algorithms and is able to apply some of the methods of analysis covered during the course.
• is familiar with most of the major algorithms and data structures covered in the course.
• has an understanding of the algorithmic design parameters covered in the course.
• has a good understanding on data representation.
• demonstrates ability to decompose programming problems in a somewhat purposeful way.
• can choose and use elementary data structures appropriately in most cases.

Arviointikriteerit, kiitettävä (5)

• can analyze the performance of algorithms and is able to apply all the methods of analysis covered during the course.
• is familiar with all the major algorithms and data structures covered in the course.
• is able to apply the algorithmic design parameters covered in the course.
• has a deep understanding on data representation.
• demonstrates ability to decompose programming problems in a purposeful way.
• can choose and use elementary data structures appropriately.

Esitietovaatimukset

Ohjelmoinnin perusteet tai vastaavat tiedot ja taidot