ΥΠ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
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.