LEARNING OUTCOMES
Having completed the course, you can define, compare and implement many fundamental data structures and algorithms. For instance, you understand how the most commonly used sorting algorithms such as insertion sort, mergesort and quicksort work and are familiar with the divide and conquer algorithm design approach. You know some data structures and algorithms based on trees. You understand how different set and map/dictionary data structures can be implemented either with trees or with hashing, and can compare their properties. You know the idea of dynamic programming and can apply it to some problems. You understand how elementary graph algorithms such as depth first search, breadth first search, and shortest path search algorithms work. You are aware that there are computational problems for which no efficient algorithms are known and can name some. You have implemented many of the above mentioned data structures and algorithms or their variants yourself. You master the basic terminology used in the domain and are able to independently study algorithms not covered in the course. You know basics of algorithm analysis and can, for instance, deduce the worst-case running time of a given algorithm in some simple cases.
Credits: 5
Schedule: 04.09.2023 - 04.12.2023
Teacher in charge (valid for whole curriculum period):
Teacher in charge (applies in this implementation): Tommi Junttila
Contact information for the course (applies in this implementation):
CEFR level (valid for whole curriculum period):
Language of instruction and studies (applies in this implementation):
Teaching language: English. Languages of study attainment: English
CONTENT, ASSESSMENT AND WORKLOAD
Content
valid for whole curriculum period:
Dynamic arrays, trees, hash tables, graphs and other data structures. Sorting and searching methods, dynamic programming, graph and other algorithms. Principles of algorithm analysis. Detailed contents will be described on the MyCourses page of the course instance.
Assessment Methods and Criteria
valid for whole curriculum period:
Personal online exercises. and examination.
Workload
valid for whole curriculum period:
Self-study and non-obligatory exercise sessions.
DETAILS
Substitutes for Courses
valid for whole curriculum period:
Prerequisites
valid for whole curriculum period:
FURTHER INFORMATION
Further Information
valid for whole curriculum period:
Teaching Language : English
Teaching Period : 2022-2023 Autumn I - II
2023-2024 Autumn I - II