Department of Informatics and Telematics

Data Structures

ΥΠ11 - Data structures

General Information

School: Digital Technology

Department: Informatics and Telematics

Level: Undergraduate

Course Title: Data structures

Course id: ΥΠ11

Type: Core Course 

Semester: 3

Teaching and Examination Language: Greek

Is the course offered in Erasmus: Yes

Course web-page: https://eclass.hua.gr/courses/DIT141/

Activities

Lectures (Theory): 3,0

Lab lectures: 2,0

ECTS credits: 6,5

Learning Outcomes

The objective of this course is to teach students how to structure data in order to support efficient solution of basic algorithmic problems and to learn the basic data structures toolbox.
Students will learn:
Basic as well as advanced data structures.
Algorithms for searching and sorting.
Designing basic algorithms as well as measuring their performance.
Implementing data structures using the C programming language.

General Skills

Independent work
Promoting free, creative and deductive thought

Course Content

1st week (lecture): Introduction. Measuring performance.
2nd week (lecture): Basic Data Structures: Stack, Queue, List
3rd week (lecture): Implementing Stack and List using C
4th week (lecture): Recursion and Trees. Huffman Encoding
5th week (lecture): Graphs & Graph Traversal
6th week (lecture): Priority Queues
7th week (lecture): Search Trees. Dictionaries.
8th week (lecture): Balanced Search Trees. AVL Trees.
9th week (lecture): 2-3-4 Search Trees. B-Trees.
10th week (lecture): Searching and Sorting Algorithms I
11th week (lecture): Searching and Sorting Algorithms II
12th week (lecture): Hashing
13th week (lecture): Data Structures for Strings. Tries. Suffix Trees. Suffix Arrays

Learning and Teaching Methods - Evaluation

Teaching methods: face-to-face

Use of ICT: 

eclass platform, youtube channel

Course Organization

 

Activity

Semester work load

Lectures

39,0

Lab exercises

26,0

Individual of group projects

36,0

Lab report preparation

13,0

Thesis 

 

Independent Study

48,5

Total

162,5

Assessment

The course grade takes into account
- the final exam grade (60%), which comprises
      - Multiple choice questions
      - Problem solving
      - Critical evaluation of theoretical knowledge
- two or three compulsory assignments (40%), which are group and/or individual.

Literature

- Robert Sedgewick, Algorithms in C: Fundamentals, Data Structures, Sorting, Searching. Addison-Wesley Professional, 3rd Edition, 1997.
- Robert Sedgewick, Algorithms in Java: Fundamentals, Data Structures, Sorting, Searching. Addison-Wesley Professional, 3rd Edition, 2002.
- Kurt Mehlhorn and Peter Sanders. Algorithms and Data Structures - The basic toolbox. Springer-Verlag, 2008.
- Cormen, Leiserson, Rivest and Stein. Introduction to Algorithms. Third Edition. MIT Press. 2009.