Lehrinhalte
At the beginning of every semester, we will define a new project (or multiple) related to the implementation of database systems (e.g., index structures, operators like joins or aggregations, buffer pool and page eviction strategies). Students receive the API of these components as well as selected benchmarks. The task is then to create - self-organized teams of 4 persons - correct implementations of these APIs in C, C++, or Java. Apart from developing the source code of the protypes, other important aspects include the use of version control tools, test-driven development, design documentation, as well as runtime experiments and improvements. At the same time, this project allows for a deeper understanding of methods related to information systems and data analysis, as well as algorithms and data structures. The focus is, however, on a problem-oriented utilization of programming skills so solve a practical problem, not a holistic coverage of functionality of database system internals.