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 (Amortized Analysis, Range Queries)
14.5 10 + 11 + 12 (Bit Manipulation, Basics of Graphs, Graph Traversal) 11 - 14h (!)
21.5 13 + 14 (Shortes Paths, Tree Algorithms)
28.5 15 + 16 (Spanning Trees, Directed Graphs)
4.6 18 + 21 (Tree Queries, Number Theory) 11 - 14h (!)
11.6 25 + 26 fällt aus
18.6 27
25.6 29+30 11 - 14h (!), Zuselab
2.7 andere Betreuung
5.7 GCPC ! Saturday, 11 - 16 Uhr, tba
9.7 Wiederholung different room, different time
16.7 Solo-Contest ! room 9U10 (E3), details tba
Name DOMjudge username Team 1 (in DOMjudge) Team 2 (in DOMjudge)
Maximilian M Max-Mzzn gruppeC
Marek keram02 gruppeB
Viet vxet codingguys gruppeA
Nils nw Tireless Turtle gruppeA
Thorge thorge team1 gruppeC
Luca luca2005 codingguys gruppeE
Moritz MvH nw_grp gruppeD
Kai Pfifficus gruppeB
Lovis lovis.hagemeyer team1 gruppeE
Sebastian sbehn CompProg gruppeD
Max G GertenbachM SuccNats gruppeA
Slash gruppeE
Ibrahim Ibrahim325 Comprog gruppeC
Youssef asdasdqwer CompProg gruppeB
Felix fxfx codingguys gruppeD

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.