Informatics II: Algorithms and Data Structures

Lecturer: Michael Böhlen
Assistant: Muhammad Saad
Teaching language: English (lecture notes, exercises, exam, and text book)
Term: Spring 2019
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 and graphs.

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 ****​ and THU 12:15 - 13:45 in room ****.

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.


During the semester, twelve (12) weekly exercises will be handed out and discussed in thirteen (13) labs. The exercises are not part of assessment process so there will be no submission of exercises solution. 

Attendance in labs is also not mandatory but anyone attending atleast ten (10) out of thirteen (13) labs will be awarded 2% bonus weightage in the final grade. 

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


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 TBA TBA


18:15-19:45 TBA TBA
3 Wednesday 16:15-17:45 TBA


4 Wednesday 18:15-19:45 TBA


5 Thursday 16:15-17:45 TBA


6 Thursday 18:15-19:45 TBA


7 Thursday 16:15-17:45 TBA


8 Thursday 18:15-19:45 TBA


9 Tuesday 16:15-17:45 TBA


10 Tuesday 18:15-19:45 TBA




Every exam will be corrected and graded from 1 to 6.

The final grade will be calculated based on the grades from midterms as well as final exam as follows:

Final Grade = MAXIMUM (Grade (MidTerm 1) , Grade (MidTerm 2)) * 0.25  + Grade (Final Exam) * 0.75

In case student attends atleast 10 lab sessions:

Final Grade = MAXIMUM (Grade (MidTerm 1) , Grade (MidTerm 2)) * 0.25  + Grade (Final Exam) * 0.78

In case of justified absence (medical or military leave) from both midterm exams:

Final Grade = Grade (Final Exam)

Note: In case of justified absence a proof has to be emailed to within 3 working days after the exam to justify your absence.

Midterm tests:  The material of the midterm exams comprises the material discussed in the lectures until the date of the exam. If anyone fails to attend the midterm exams due to any reason, he/she will be awarded 0 points. 

Exam Time Room
Midterm 1 TBA TBA
Midterm 2 TBA TBA

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).

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.