Course Catalog 2013-2014
International

Basic Pori International Postgraduate Open University

|Degrees|     |Study blocks|     |Courses|    

Course Catalog 2013-2014

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
Lectures
Excercises
Assignment
Online work
 2 h/week
 2 h/week
 35 h/per
 1 h/week
+2 h/week
+2 h/week
+35 h/per
+1 h/week




 




 




 
TIE-20106 2013-01 Thursday 10 - 12, $lesson.place
Thursday 10 - 12, TB110
Thursday 10 - 12, TB111

Requirements

Compulsory programming assignments, online vizualization exercises and a final exam.
Completion parts must belong to the same implementation

Principles and baselines related to teaching and learning

-

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:

Completion parts must belong to the same implementation

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 
TIE-20106 Data Structures and Algorithms, 5 cr OHJ-2016 Utilization of Data Structures, 5 cr  

More precise information per implementation

Implementation Description Methods of instruction Implementation
TIE-20106 2013-01 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.        

Last modified15.08.2013