Informatics II: Algorithms and Data Structures

Lecturer: Michael Böhlen
Assistant: Georgios Garmpis
Teaching language: German (English lecture notes, exercises, exam, and text book)
Term: Spring 2017

Objectives: The course provides an in-depth understanding οf algorithms and data structures for the development of software. The programming language C is used for the implementation. The course covers the following topics: analysis and complexity, searching, sorting, lists, trees, hashing, dynamic programming, graphs, and NP-completeness.

Literature: The textbook of the course is Introduction to Algorithms, Third Edition, Thomas H. Cormen, Charles E. Leirerson, Ronald L. Rivest and Clifford Stein, MIT Press and McGraw-Hill, 2009. The book is available at the IfI library and online from inside the UZH network. For the exercises that include C programming you can use as a reference The C programming language, Second Edition, Brian W. Kernighan and Dennis M. Ritchie.

Lectures: The lectures take place every MON 14:00 - 15:45 in room BIN-1.B.01 and THU 12:15 - 13:45 in room BIN-0.K.02.

Course Material and Announcements: The material (exercises, lecture notes) for this course will be uploaded to the  OLAT website. There, you also find all announcements as we progress through the semester.

Other course websites:

Office hours: They are settled via prior email arrangement with the assistant of the course. Before you proceed in such an arrangement, if additional support is needed, you can try the following, in the given order: (a) post your questions in the forum,
(b) contact your tutor (c) contact the teaching assistant of the course.

Exercises: During the semester, six (6) biweekly exercises will be handed out and discussed in seven (7) labs. You must successfully pass five (5) out of six (6) exercises and attend at least six (6) out of seven (7) labs.

Labs that are cancelled due to public holidays, are scheduled for different dates, if possible in the same week.

The exercises are part of the assessment process. Students who do not pass the exercises fail with a score of 1.0 regardless of the outcome of the final exam.

Labs: The labs take place in slots specified in the following table. They involve presenting and discussing the exercises.

Group Nr. Day Time Location Tutor
1 Tuesday 16:15-17:45 0.B.06 Peter Giger


18:15-19:45 0.B.06 Peter Giger
3 Wednesday 16:15-17:45 0.B.06 Christopher Vogel
4 Wednesday 18:15-19:45 0.B.06 Christopher Vogel
5 Thursday 16:15-17:45 0.B.04 Manuel Beyeler
6 Thursday 18:15-19:45 0.B.04 Manuel Beyeler
7 Thursday 16:15-17:45 0.B.06 Joachim Baumann
8 Thursday 18:15-19:45 0.B.06 Joachim Baumann

The labs from Tuesday 23.5, Wednesday 24.5, and Thursday 25.5, 16:15-17:45/18:15-19:45 will take place on Tuesday 23.5, 16:15-17:45/18:15-19:45 in room BIN-0-K.02.

Evaluation: In order to pass the course, a student must successfully complete three parts:

  1. attend at least six labs and successfully pass at least five exercises
  2. pass two midterm exams
  3. the final exam.

A midterm test is passed if about 50% of your answers are correct. For an exercise you must make a clear effort to solve half of the exercise. If you fail or cannot attend (due to a justifiable cause, e.g., illness, military service) one or both midterms, you should do the repetition exam.

Midterm tests: As part of the assessment there will be two midterm exams during the semester. The material of the midterm exams comprises the material discussed in the lectures until the date of the exam.

Exam Time Room
Midterm 1 Friday, March 31 2017, 12:00 - 13:45 BIN-0-K.02, BIN-1-B.01
Midterm 2 Friday, April 28 2017, 12:00 - 13:45 BIN-0-K.02, BIN-1-B.01

Repetition Test: For all students who

  1. have missed, because of justified absence, at most one midterm
  2. have not achieved enough point in one or two midterm tests

there is the possibility to participate in the repetition exam. The material of this exam include everything that is covered in the lectures by the time of the exam. The repetition exam replaces the failed exam or both exams.

Exam Time Room
Repetition Exam Friday, May 19 2017, 12:00-13:45 BIN-2.A.01

Final Exam: Information about the final exam are published in:

Auxilliary material in the exams: At each exam for Informatics II (Midterms, Repetition Exam, Final Exam) you are allowed to use one A4 sheet with your personal notes (both sides, hand written).

Absences: In case of a justifiable absence in a lab or midterm, a proof of the absence (e.g. document signed by the doctor, military supervisor) must be provided to Georgios Garmpis without request within 3 days.

Booking and registration for the module:

Module booking tool: All students who wish to obtain credits ( ECTS ) must register electronically in the module booking tool for the module “Informatik II” (AINF1169). Please note the date for the official registration deadline on the website of the module booking tool. The booking of the modules is carried out electronically with the online service of the Student Administration.

OLAT:  Additionally, all students must have enrolled at the latest on 20.02.2017 23.59 CET on OLAT in an exercise group (