Zur Webseite der Informatik

Data Structures and Algorithms

2V + 1Ü (Grunske, Filieri, Pitakrat)

Winter semester 2013/14

Lecture in LSF

Exercise in LSF

Lecture

All materials for the lectures are available in ILIAS. The password to participate in the course will be given in the first lecture.

Exercise

The exercises take place every 2 weeks. The assignment sheets will be available in ILIAS at the latest during the week of the corresponding lecture. The assignments are due on Friday before 10 a.m. of the following week and will be discussed in the next exercise session. Please work and hand in the assignments in groups of 3 people.

To be admitted to the final exam, the student must achieve at least 65% of the total exercise points.

Timetable

Lecture (weekly): Monday, 15:45 - 17:15, Room V38.02
Exercise (biweekly): Tuesday, 14:00 - 15:30, Room V38.03
Details are subject to change.

Date

 

Topic

References (TBD)

14.10.13

Lecture 01

Course administration, lists and search

 

21.10.13

Lecture 02

Lists and search

 

22.10.13

Exercise 00

Basic Java programming

28.10.13

Lecture 03

Complexity, trees

 

04.11.13

Lecture 04

Binary search trees

 

05.11.13 Exercise 01 Lists and search

11.11.13

Lecture 05

Balanced trees

 

18.11.13 Lecture 06 B-trees
19.11.13 Exercise 02 Binary search trees

25.11.13

Lecture 07

Heap, heapsort, sets

 

02.12.13

Lecture 08

Graphs

 

03.12.13 Exercise 03 Balanced trees

09.12.13

Lecture 09

Graph algorithms 1

 

17.12.13 Exercise 04 Heaps, heapsort, graphs

13.01.14

Lecture 10

Graph algorithms 2

 

14.01.14

Exercise 05

Wrap-up exercise

20.01.14

Lecture 11

Graph algorithms 3

 

27.01.14

Lecture 12

Hashing

 

28.01.14 Exercise 06 Graph algorithms

03.02.14

Lecture 13

Summary, questions/answers

 

04.02.14

Exercise 07

Hashing

 

Prerequisite

This course has programming, theoretical computer science, and mathematics as prerequisites. Every student must be comfortable with the following topics:

  • Java 6 programming (and clean coding)
    • Basic OO programming, inheritance, recursive functions, fundamental data structures, and generics.
  • Theoretical computer science
    • Decidability
  • Basic mathematics for Computer Science
    • Random variables, limits, series

In the literature section, some reference are provided. If you are unsure whether you have these prerequisites, please contact us and we will help you decide whether this course is appropriate for you.

Examination

TBD

Literature

Textbooks:

  • Data structures and Algorithm Analysis, Clifford A. Shaffer. (Available online at: http://goo.gl/ePwnqR)
  • Introduction to Algorithms, Thomas H. Cormen - goo.gl/HKCIY

On Java programming:

On mathematics:

Advanced topics:

  • TBD

Links:

TBD