Software-Projektpraktikum SS2025 (B.Sc. Informatik)

Competitive Programming

Competitive Programming banner

Schedule

Here the preliminary schedule. If not mentioned otherwise, we meet on Wednesdays, 13-16h in the seminar room of the chair i1 (Room 4017, E1, CS center). The
Date Reading assignment (until then) Remarks
7.4 Kickoff
9.4 1 + 2 (Introduction, Time Complexity)
23.4 3 + 4 + 5 (Sorting, Data Structures, Complete Search)
30.4 6 + 7 (Greedy Algorthms, Dynamic Programming)
7.5 8 + 9
14.5 10 + 11 + 12 different time
21.5 12 + 13
28.5 14 + 15
4.6 18
11.6 21
18.6 25
25.6 26 different time
2.7 27
5.7 GCPC ! Saturday, 11 - 16 Uhr, tba
9.7 29 + 30 different room, different time
16.7 Solo-Contest ! room 9U10 (E3), details tba

Contents

This lab is offered to give you the option to train for participation in competitive programming contests like ICPC. You will be given hard problems (similar to ones in ICPC) to solve every week during a long meeting - sometimes alone, sometimes together in a team. This will give you experience in programming under pressure, since you will have very limited time for the problems. Therefore, you should expect stressful programming sessions (by design).

Material

Requirements

Very good knowledge in some popular programming languages (like C, C++, Java) are required. This lab is not intended to learn a programming language, but to solve problems under time constraints in a team. You should like to work under pressure.

Organisational

We will meet regularly in person. We want you to train under authentic circumstances. Bring your own laptop configured with the programming environments for C++, Java and Python.
Note that participating in this lab course requires a registration on Supra from 6th to 13th January 2025!

Grading

Most of the grade (around 3/4) is determined by your performance improvement in the contests
  • At the GCPC (Sat, 5.7, 11-16h) as a group
  • At the single contest during our last regular meeting (16.7)
Note that your attendence for the GCPC is mandatory. The other part of your grade is determined by your performance during the regular meetings, the reopened contests on our DomJudge and especially your partiicpation and performance on Codeforces. Solve 40 tasks and participate at 3 live contests on Codeforces at minimum! Remember that you should choose tasks that are challenging you, so that you can improve your skills. This means identifying your weaknesses and trying to solve tasks that need this skill or are have a higher difficulty than your previously solved tasks. At the end of the semester, we want you to confidently attend Div.2 contests.