uc:sendtilenven runat server id uc_sendtilenven
Ændre størrelse på tekst Print

Data structures: Theory and practice


Semesterangivelse: Efterårs kursus Kurset udbydes i blok 1 Kurset udbydes i skemagruppe C Kurset giver 7,5 ETCS point

 


Udgave: Efterår 2012 NAT
Point: 7,5
Blokstruktur: 1. blok
Skemagruppe: C
Fagområde: dat
Institutter: Datalogisk Institut
Studieordning: Datalogi Kandidat
Uddannelsesdel: Kandidat niveau
Kontaktpersoner: Jyrki Katajainen
Andre undervisere: Rasmus Fonseca
Skema- oplysninger:  Vis skema for kurset
Samlet oversigt over tid og sted for alle kurser inden for Lektionsplan for Det Naturvidenskabelige Fakultet Efterår 2012 NAT
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 theoretical results on data structures and data-structuring techniques. In the second part of the course, the students will apply the theory in practice and implement some advanced components to a program library. We cover the basic material on advanced data structures skipped in our earlier courses (B-trees, Fibonacci heaps, van Emde Boas trees). This year we will put a special focus on: 1) data structures that are used in data-compression systems (Huffman coding, arithmetic coding) and 2) compact data structures that can be used efficiently without decompression (in-place data structures, succinct data structures, data structures for memory-constrained algorithms).
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.
Lærebøger: Reading material expected to include: Cormen, Leiserson, Rivest, and Stein, Introduction to Algorithms, 3rd Edition, The MIT Press (2009); Moffat and Turpin, Compression and Coding Algorithms, Kluwer Academic Publishers (2002); Sayood, Introduction to Data Compression, 3rd Edition, Morgan Kaufmann Publishers (2006); plus articles and extracts from other relevant books.
Tilmelding: Via KUnet from May 15th to June 1st.
Faglige forudsætninger: A course on Algorithms and data structures; knowledge of C++ programming language
Eksamensform: Course elements: active participation, 4 assignments, presentation, 2-weeks project, and written test. Submission in Absalon. Continuous evaluation: In the final grade the weight of the course elements is as follows: assignments 25%, participation and presentation 20%, project 25%, and final 4 hours written test 30%. Internal grading: according to the 7-step scale.
Re-exam: Grading is based on the same course elements; selected course elements can be reused or remade completely.
Eksamen: Løbende evaluering.
Kursus hjemmeside:
Pensum: To be announced by the end of the fourth week of the teaching period
Undervisnings- sprog: Kun engelsk
Sidst redigeret: 5/11-2012



Københavns Universitet