Informatics II: Algorithms and Data Structures

Lecturer: Michael Böhlen
Assistant: Muhammad Saad
Teaching language: German (English lecture notes, exercises, exam, and text book)
Term: Spring 2018
OLAT link:

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-1-B.01. The lecture from Monday 16.4 14:00 - 15:45 will take place on Monday 16.4 08:00 - 09:45. The lecture from Thursday 10.5 will take place on Wednesday 9.5 14:00 - 15:45.

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 (8) labs. You must successfully pass five (5) out of six (6) exercises and attend at least six (7) out of seven (8) 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 Remo Hertig


18:15-19:45 0.B.06 Remo Hertig
3 Wednesday 16:15-17:45 0.B.06 Thomas Huber
4 Wednesday 18:15-19:45 0.B.06 Thomas Huber
5 Thursday 16:15-17:45 0.B.04 Christoph Vogel
6 Thursday 18:15-19:45 0.B.04 Christoph Vogel
7 Thursday 16:15-17:45 0.B.06 Raphael Beckmann
8 Thursday 18:15-19:45 0.B.06 Raphael Beckmann
9 Tuesday 16:15-17:45 0.B.04 Caludio Brasser
10 Tuesday 18:15-19:45 0.B.04 Claudio Brasser

The labs from Wednesday 9.5, and Thursday 10.5, 16:15-17:45/18:15-19:45 will take place on Tuesday 8.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 should also make sure to score atleast half of the points. If you fail or cannot attend (due to a justifiable cause, e.g., illness, military service) one midterm, 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 23 2018, 12:00 - 13:45 HAH-E-03
Midterm 2 Friday, April 27 2018, 12:00 - 13:45 HAH-E-03

Repetition Test: For all students who

  1. have missed, because of justified absence, at most one midterm
  2. have not achieved enough point in either one of 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 only one failed or missed exam.

Exam Time Room
Repetition Exam Friday, May 18 2018, 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 Muhammad Saad 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 be enrolled on OLAT.