Algoritmit ja tietorakenteet (5 op)
Toteutuksen tunnus: R504D75-3001
Toteutuksen perustiedot
- Ilmoittautumisaika
- 03.10.2022 - 05.02.2023
- Ilmoittautuminen toteutukselle on päättynyt.
- Ajoitus
- 06.02.2023 - 23.04.2023
- Toteutus on päättynyt.
- Opintopistemäärä
- 5 op
- Lähiosuus
- 5 op
- Toteutustapa
- Lähiopetus
- Yksikkö
- Insinöörikoulutus, tieto- ja viestintätekniikka
- Opetuskielet
- englanti
- Paikat
- 0 - 30
- Opettajat
- Erkki Mattila
- Vastuuopettaja
- Erkki Mattila
- Ryhmät
-
R54D21SBachelor of Engineering, Machine Learning and Data Engineering (full time studies), 2021
- Opintojakso
- R504D75
Arviointiasteikko
H-5
Tavoitteet
The student knows and can apply the primary data structures and algorithms. The student can compare their efficiency and complexity.
Sisältö
- Algorithmic complexity and evaluation of the performance of algorithms: the Big O notation.
- The primary data structures and their implementations: arrays, linked lists, stacks, queues, graphs, binary trees.
- The primary algorithms and their implementations: recursion, searching and sorting.
Aika ja paikka
Computer labs at Rantavitikka Campus in spring term 2023.
Oppimateriaalit
Lecture materials, examples, exercises and assignments in Moodle workspace and/or OneDrive.
Course book:
Carrano F. & Henry T. 2018. Data Structures and Abstractions with Java. 5th Edition. Pearson
Recommended reading:
Goodrich M. T. & al. 2014. Data Structures and Algorithms in Java: International Student Version. 6th Edition. Wiley
Weiss M. 2012. Data Structures and Algorithm Analysis in Java: International Edition. 3rd Edition. Pearson Education
Opetusmenetelmät
Lectures and exercises 36 h, assignment and self-supervised work 99 h.
Tenttien ajankohdat ja uusintamahdollisuudet
No pre-defined dates. Contact the teacher for re-examinations.
Toteutuksen valinnaiset suoritustavat
Examination that may include programming tasks.
Arviointikriteerit, tyydyttävä (1)
The student can compare the complexity of algorithms and apply some basic data structures and algorithms.
Arviointikriteerit, hyvä (3)
The student can compare the complexity of algorithms and apply a variety of data structures and algorithms. The student is familiar with the internal implementation of the most common data structures and algorithms.
Arviointikriteerit, kiitettävä (5)
The student can evaluate the complexity of algorithms and apply a wide variety of data structures and algorithms. The students is familiar with the internal implementation of the primary data structures and algorithms. The student can choose the most effective data structures and algorithms for a given task.
Lisätiedot
Pre-requisite: good command of at least one imperative programming language such as C/C++, C#, Python or Java. Prior knowledge of object-oriented programming is an advantage, but not required.
An introduction to some fundamental data structures of computer science: lists, stacks, queues, binary trees, and their accompanying algorithms. Principles of algorithmic analysis. The difference between recursion and iteration. In addition, there will be a brief intro / discussion of object-oriented programming in Java, if needed.