I7 Logo
Chair for Foundations of Software Reliability and Theoretical Computer Science
Informatik Logo TUM Logo
Practical Course: Algorithms for Programming Contests

  News | Schedule | Content | Material

Class meeting

The first meeting will take place on Wednesday 04 November 2020 at 10:01.
A recorded RBG BigBlueButton room will be used for the meetings. Recordings (audio+video+synchronised slide switches, navigable by timestamp and by slide number) are accessible to the course participants like other materials. (We remind the participants that BBB allows to switch off the camera streams in Settings → Data saving)

Preliminary meetings

Preliminary meetings will be held twice; as we are not allowed to hold them in person, they will be held in the local BigBlueButton.
First meeting: Wednesday 01 July 2020, 14:00 (Munich time/EST).
After the first meeting we post the recording and the information slides.
Second meeting (less presentation, mostly for Q&A): Wednesday 08 July 2020, 11:00 (Munich time/EST). (see recording)

Registration details

As usual, the size of the practical course is limited. For course registration, we use the matching system, and we ask the applying students to complete some preliminary tasks.

The amount of work taken into account is two problems (there are some easy ones in the list), and we will check progress before submitting the matching priorities (it is not too late as long as matching system is open for students).

We remind everyone that the practical course includes five programming problems of various complexity per week, and most of them are harder than the easy ones in the list. To demonstrate the prerequisite skills (and interest in the course), we ask the students wishing to register (both local and exchange students) to solve some problems in a similar format. As our internal platform is tied to the local TUM accounts, we use an established third-party platform for programming contest based in EU, SPOJ.


  • Register at SPOJ. No need to specify your real name if you do not wish to.
  • Solve and submit some of the problems from the list below. We expect everyone to solve at least two; we might have to use further progress for ranking in the matching system. Some problems are easy, some require more effort, and some benefit from having a bit of experience or background knowledge. To the best of our knowledge, all of the problems are solvable in any of C++, Java or Python 2 (PyPy).
  • To confirm that the account is created by a student applying for ConPra course, submit solutions that immediately print a wrong answer to the listed marker problems in the specified order.
  • Send an email with you full name and SPOJ account name (public profile link) to the course contact email, conpra@in.tum.de — please put ConPra and SPOJ in the beginning of the subject
  • Assign ConPra some priority in the matching system.
  • Once you are either registered for the course or no longer wish to be registered for the course, you may delete the SPOJ account if you wish.
Chosen problems (please solve and submit at least two, more might be taken into account, trying and failing to solve more problems will be evaluated no worse than not trying, problem order is random):
Marker problems, please submit code that immediately prints a wrong answer to the marker problems in this order (the same three problems are repeated twice):