Kursusnavn |
Data structures: Theory and practice |
ECTS |
7.5 |
Blokplacering |
Quarter 2 |
Skemagruppe |
C |
Kursusansvarlig |
Jyrki Katajainen |
Andre undervisere |
Amr Elmasry |
Formål |
The purpose of this course is to build a bridge between the theory and practice in the area of data structures. One is supposed to learn to transform theoretical designs into efficient programs. |
Indhold |
In the first part of the course, the teachers present some recent theoretical results on data structures and data-structuring techniques. The topics covered include among the others (seven lectures): |
Kompetancebeskrivelse* |
|
Målbeskrivelse |
After the course the student should be able to 1) describe data structures and operations on them using a pseudo-code; 2) use fluently the concepts found in the literature on advanced data structures; 3) design data structures for different models of computation, including the standard random-access machine; 4) analyse the theoretical performance characteristics of data structures designed by himself and others; 5) implement advanced data structures using a concrete programming language; 6) explain the technical details of a modern program library on data structures and algorithms. |
Eksamensform |
4 assignments; presentation; 2-weeks group project; oral exam (30 minutes; without preparation; internal examiners; 7-grade scale) The assignments must be passed before getting the right to start the project. The oral exam has two parts: in the first part the project is discussed and in the second part other parts of the pensum. |
Faglige forudsætninger |
A course on Algorithms and data structures
A course on C++ programming |
Formelle krav |
Right to take graduate courses at our department |
Undervisningsprog |
English |
Varighed |
7 weeks teaching plus 2 weeks exam period |
Lærerbøger* |
K. Mehlhorn and S. Näher: LEDA: A Platform for Combinatorial and Geometric Computing, Cambridge University Press (1999) Dinesh P. Mehta and Sartaj Sahni (Editors): Handbook of Data Structures and Applications, CRC Press (2005) Mark H. Overmars: The Design of Dynamic Data Structures, Lecture Notes in Computer Science 156, Springer-Verlag (1983) Rajeev Raman: Eliminating Amortization: On Data Structures with Guarnteed Response Time, Ph.D. Thesis, University of Rochester (1993) Jeffrey Scott Vitter: Algorithms and Data Structures for External Memory, now Publishers Inc. (2008) Plus articles and extracts from other relevant books. |
Pensum* |
To be announced by the end of the fourth week of the teaching period |
Undervisningsform* |
lectures, seminars, obligatory assignments, project exam
|
Omfang* |
lectures 7 × 2 hours; seminars 7 × 2 hours; 4 assignments; 2-weeks project; oral exam |
|
|