Navigation auf uzh.ch
This course gives a unifying overview of the latest research in efficient computation over structured data, with applications spanning databases, artificial intelligence and machine learning, algorithms, and linear algebra. Besides their theoretical interest, algorithms overviewed in this course represent a key differentiator for commercial database and relational AI engines and thus essential knowledge for the future data system engineer.
This is an advanced course with lectures, exercises, and a practical task. It targets Computer Science students at MSc and PhD levels.
As part of the course, the students will learn how to formalise problems using various algebraic formalisms, analyse their computational complexity using a toolbox of techniques that exploit the algebraic and combinatorial structure of the problem, familiarise themselves with simple yet powerful algorithms that exploit such structure, and finally implement and benchmark such algorithms.
The practical component of the course consists of the following three implemnentation tasks:
To guide the implementation effort, a leaderboard will be maintained with the runtime performance scores of your query evaluation engines on private databases. The code can be submitted regularly and it gets compiled and tested automatically. The feedback will be provided on correctness and runtime performance. If the correctness test is passed, then then runtime performance is added to the leaderboard. Leaderboard will guide the award of bonus points to students whose code performs above average.