Algorithms and Data Structures
BASIC DATA
course listing
A - main register
course code
ITI0204
course title in Estonian
Algoritmid ja andmestruktuurid
course title in English
Algorithms and Data Structures
course volume CP
-
ECTS credits
6.00
to be declared
yes
fully online course
not
assessment form
Examination
teaching semester
autumn
language of instruction
Estonian
English
The course is a prerequisite
Data Mining (ITI0217)
Foundations of Artificial Intelligence and Machine Learning (ITI0210)
Study programmes that contain the course
code of the study programme version
course compulsory
IABB17/17
yes
IABB17/25
yes
IAIB25/25
yes
Structural units teaching the course
IT - Department of Software Science
Course description link
Timetable link
View the timetable
Version:
VERSION SPECIFIC DATA
course aims in Estonian
Eesmärgiks on anda teadmised ja vahendid, et leida arvutuslikele probleemidele efektiivne lahendus, rakendades või luues selleks sobilikke algoritme ja andmestruktuure.
course aims in English
The goal of the course is to give knowledge and means to find efficient solution to computational problems using or creating suitable algorithms and data structures.
learning outcomes in the course in Est.
Kursuse läbinud tudeng
* teab ja oskab kasutada klassikalisi algoritme ja andmestruktuure
* tunneb erinevaid algoritmide loomise paradigmasid
* oskus leida enamlevinud arvutuslikele probleemidele sobiva algoritmi ja seda toetavad andmestruktuurid
* tunneb arutusliku keerukuse mõõtusid ja oskab algoritmi keerukust analüüsida
learning outcomes in the course in Eng.
Upon completion of the course a student
* has an understanding and ability to use the classical algorithms and data structures
* knows different paradigms of creating an algorithm
* has ability to find a suitable algorithm and supporting data structures to the computational problem
* has an understanding of the different measures of computational complexity and ability to analyze the complexity of an algorithm
brief description of the course in Estonian
Kursuses käsitletakse mitmesuguseid klassikalisi andmestruktuure nagu järjekorrad, graafid, otsingupuud, paisktabelid, kuhjad jt ning nende ehitust ning rakendusi algoritmides. Uuritakse mitmesuguseid algoritme sorteerimise, andmete-, graafi- ja tekstiotsingu teostamiseks ning keerukate kombinatoorikaülesannete lahendamiseks ning nende algoritmide loomiseks kasutatavaid paradigmasid. Käsitletakse keerukusteooria baasmõisteid nagu asümptootiline keerukus ja klass NP ning erinevaid meetodeid algoritmide keerukuse hindamiseks. Kursuse praktilises osas tuleb lahendada erinevaid ülesandeid ja programmeerida lahendus mitmele, sh ka vähemalt ühele NP-raskele probleemile. Eeldatakse programmeerimisoskust ja arusaamist elementaarstest andmetüüpidest ning -struktuuridest programmeerimise põhikursuse tasemel
brief description of the course in English
Classical data structures: queues, graphs, search trees, hash tables, heaps, their implementation and use in the algorithms. Sorting, data, graph, and text search algorithms. Algorithm design paradigms: greedy, divide and conquer, branch and bound, dynamic programming, meta-heuristics. Introduction to the complexity theory, asymptotic complexity, O-notation, class NP, different methods of complexity analysis. Practice of the course includes programming a solution to different tasks. A programming skill and understanding of the basic data types is assumed.
type of assessment in Estonian
-
type of assessment in English
-
independent study in Estonian
-
independent study in English
-
study literature
R. Neapolitan, K. Naimipour, Foundations of Algorithms 5th edition, 2014
T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 2009
J. Kiho, Algoritmid ja andmestruktuurid
study forms and load
daytime study: weekly hours
4.0
session-based study work load (in a semester):
lectures
2.0
lectures
-
practices
1.0
practices
-
exercises
1.0
exercises
-
lecturer in charge
-
LECTURER SYLLABUS INFO
semester of studies
teaching lecturer / unit
language of instruction
Extended syllabus or link to Moodle or to home page
2024/2025 spring
Marko Kääramees, IT - Department of Software Science
Estonian
    display more
    2024/2025 autumn
    Marko Kääramees, IT - Department of Software Science
    Estonian
      2023/2024 autumn
      Marko Kääramees, IT - Department of Software Science
      Estonian
        2022/2023 spring
        Marko Kääramees, IT - Department of Software Science
        Estonian
          2022/2023 autumn
          Marko Kääramees, IT - Department of Software Science
          Estonian
            2021/2022 spring
            Marko Kääramees, IT - Department of Software Science
            Estonian
              ITI0204-2021e.pdf 
              2021/2022 autumn
              Marko Kääramees, IT - Department of Software Science
              Estonian
                ITI0204-2021e.pdf 
                2020/2021 spring
                Marko Kääramees, IT - Department of Software Science
                Estonian
                  ITI0204-2021e.pdf 
                  2020/2021 autumn
                  Marko Kääramees, IT - Department of Software Science
                  Estonian
                    ITI0204-2021e.pdf 
                    2019/2020 spring
                    Marko Kääramees, IT - Department of Software Science
                    Estonian
                      ITI0204-2021e.pdf 
                      2019/2020 autumn
                      Marko Kääramees, IT - Department of Software Science
                      Estonian
                        ITI0204-2021e.pdf 
                        2018/2019 autumn
                        Marko Kääramees, IT - Department of Software Science
                        Estonian
                          ITI0204-2021e.pdf 
                          Course description in Estonian
                          Course description in English