Database Systems

Selected Fun Problems of the ACM Programming Contest (Proseminar)

Seminar  INF-3664
Readers
Torsten GrustLouisa LambrechtDenis HirnTim FischerBjörn BambergNico Faden

⚠️ Signup

To apply for enrollment in this seminar, send an email to db-lehre@cs.uni-tuebingen.de by April 9th with the name of the seminar in the subject line and the following content:

  • matriculation number
  • course of study
  • intended degree
  • number of semesters
  • preferred 2 topics you could imagine working on (see Topics)

There is a limited number of places. Writing an email does not guarantee the participation in the seminar. Acceptance/rejection emails will be sent before the first week of the semester.


In this proseminar, participants are each confronted with a selected problem from the ACM Programming Contest (which has been held annually since 1970) or the yearly Advent of Code programming challenge. On the one hand, these problems are characterised by quite fun and interesting tasks, on the other hand, these tasks allow solutions that are often very elegant and compact (the core typically comprises less than 50 lines of program code) and are almost always accompanied by “aha!” effects.

The seminar participants will each present the problem, work out a solution—formulated as elegantly as possible in the participant’s favourite programming language - and present it during the seminar talk. (If there is a “snag” in the solution to the problem, this is not a show stopper: we are happy to give tips - nobody has to fail this seminar because of this).

Meetings

We will have weekly meetings

  • at Sand 13, 72076 Tübingen in room B305.1
  • on Wednesdays, 12-14.

Participation is obligatory (attendance is not optional like in lectures). If you do not attend the first appointment (April 16, 2025), you will unfortunately not be able to take part in the seminar.

Contact

If you have any questions, please contact Louisa Lambrecht .

Examination

The seminar examination consists of a presentation and a paper. Your slide material and your paper of the problem and its solution will be in English. You may hold your presentation in German.

Each participant will talk and write about the problem he/she has worked on and present interesting code bits of their solution. Focus on the specific features of your programming language that are relevant to your solution — a complete presentation of the code is not appropriate (neither in the presentation nor the paper). Make sure to include visually appealing graphics and/or simple UI visualisation of your problem/relevant steps in between.

You can find general notes on presentations and papers on our website.

Topics

Below you will find some ACM ICPC and Advent of Code problems as examples of programming challenges that we want to work on in this seminar:

ACM ICPC Problems:

For some of the problems that we will be working on, you will find a way to determine the results of the instances entered here. You may even find problem instances there that users have tested before you.

Advent of Code Problems: