|
Course Catalog 2014-2015
TIE-20106 Data Structures and Algorithms, 5 cr |
Person responsible
Terhi Kilamo
Lessons
Study type | P1 | P2 | P3 | P4 | Summer | Implementations | Lecture times and places |
|
|
|
|
|
|
|
|
Requirements
Compulsory programming assignments, online vizualization exercises and a final exam.
Completion parts must belong to the same implementation
Learning Outcomes
After completing the course, the student knows the commonly used algorithm design techniques. The student can implement basic data structures (lists and trees) independently, and knows how to apply relating algorithms to them. The student is able to analyze the complexity of simple programs and knows how to use library implementations to build more complex data structures.
Content
Content | Core content | Complementary knowledge | Specialist knowledge |
1. | Asymptotic efficiency and complexity notations. | Understanding the logarithmic complexity of divide and conquer algorithms | More advanced complexity analysis |
2. | Sorting algorithms. The difference between quadratic and O(NlogN) sorting. | Different algorithms | |
3. | Lists, hash tables and the binary search tree | Red-Black tree | similar data structures not as widely used |
4. | Programming languages' library implementations. Choosing the best alternative. Using the suitable data structure. | ||
5. | Graphs. The basic idea of graph algorithms. | Breadth first search, depth first search, Dijkstra's algorithm. | Other graph algorithms: Prim and Kruskal and A*. |
6. | Algorithm design techniques: brute force, divide and conquer, transform and concuer, randomization | Greed | Dynamic programming |
Instructions for students on how to achieve the learning outcomes
Passed homework assignments and the exam together define the final grade.
Assessment scale:
Numerical evaluation scale (1-5) will be used on the course
Partial passing:
Study material
Type | Name | Author | ISBN | URL | Edition, availability, ... | Examination material | Language |
Book | Introduction to Algorithms | Cormen, Leiserson, Rivest, Stein | 9780262033848 | No | Suomi | ||
Book | Introduction to the Desing & Analysis of Algorithms. 2nd ed. | Anany Levitin | 0321358287 | No | Suomi | ||
Lecture slides | Utilization of Data Structures | Yes | English |
Additional information about prerequisites
Students are expected to be programming literate.
Prerequisite relations (Requires logging in to POP)
Correspondence of content
Course | Corresponds course | Description |
|
|
|
|
|
More precise information per implementation
Implementation | Description | Methods of instruction | Implementation |
The course covers the most common data structures and algorithms. During the course, algorithm design techniques and ways to analyze the efficiency of algorithms is discussed. |