Kostenlos abonnieren

Werden Sie regelmäßig per E-Mail über neue Ausgaben der campuls informiert. Sie können Ihr kostenloses Abo jederzeit einfach online über den Abmeldelink im Newsletter kündigen.

Weitere Infos zu Datenschutz & Widerrufsrecht finden Sie hier.

“Advent of Code 2021: How Hof computer science students saved Christmas…

What a misfortune! Just as Santa Claus is about to set off on December 1 at the North Pole, one of his elves trips and poof: the key to the sleigh falls out of Santa Claus’ hand, slips across the ice and sinks into the infinite depths of the Arctic Ocean. “Sub-Santa-One” is then immediately made ready for action and dives after the key. The submarine is packed with the latest computer technology. What sounds like a script was nothing less than the task of the “Advent ofCode 2021″ – an annual series of computer programming challenges that follow an Advent calendar. The “Advent of Code” has been around since 2015 and its programming puzzles cover a wide range of skills. A team from Hof University also participated in the competition this year.

Successful “Christmas saviors”: Prof. Dr. Andrej Bachmann (Dean of the Faculty of Computer Science) and Prof. Dr. Peter Stöhr together with the winners Katharina Reiner (left) and Julian Köglmeier (2nd from right); Image: Hof University of Applied Sciences

This time, more than 210,000 of the world’s best computer scientists accompanied the virtual submarine “Sub-Santa-One” on its journey and stood ready to step in when software glitches inevitably occurred. Two program tasks had to be solved every day until December 25, otherwise Christmas 2021 would have been cancelled. Among the participants this year were 19 Hofer computer scientists. Among them were Katharina Reiner and Julian Köglmeier, both of whom were able to solve all 50 competition puzzles and thus helped to find the key to Santa’s sleigh in time.

The competition

The American Eric Wastl puts the first of two programming tasks online every day from December 1st to December 25th at 0:00 East Coast time in the USA. The goal is then to write the program to calculate the correct solution as quickly as possible and send it in. Only then you will get part 2 of the programming task. The faster you finish the tasks, the more points you get for the solution.

In the introduction to the tasks Eric Wastl writes “You don’t need a computer science background to participate – just a little programming knowledge and some problem solving skills will get you pretty far.” The two winners of the Hof competition show that this is true in a very special way. They are students from the first semester of the computer science program

Anyone who thinks that the tasks are easy will find out when they take part themselves that Eric Wastl puts an enormous amount of effort into setting up the puzzles. Nevertheless, logical thinking and creativity also help a lot.”

Prof. Dr. Peter Stöhr
Invites annually to puzzle and program: The “Advent of Code”; Image: www.adventofcode.com


But what is the attraction of solving such programming tasks? Campuls-digital” talked to Katharina Reiner, Julian Köglmeier and Prof. Dr. Peter Stöhr about these and a few other questions:

What makes you sit down at the computer at 6:00 in the morning, even before the lectures, and try to solve theöto find the solution for the programming task?

Prof. Dr. Peter Stöhr:
“Whenever you ask George Mallory why he wants to climb Mount Everest, despite all his failures, he answers with “Because it is there!”. It is the same with the programming tasks. They are simply there. And of course you could look at them at 15:00, but once you make the “mistake” of looking at them first thing in the morning, you want to solve them right away. For the first 100 correct solutions you are rewarded with a place on the global leaderboard. But you also have to remain realistic. The participating computer scientists in the U.S. or in Asia have a big advantage: The timing of the announcement of the new programming task simply fits better into the rhythm of a computer scientist’s life.”

Katharina Reiner:
“In the first week, it was the excitement about the whole event and the opportunity to compete with others in easy tasks. And then I had already really started once, so I didn’t want to just stop again and work on the tasks later.”

Julian Köglmeier:
“Even if I didn’t work on the tasks right at 6 o’clock – usually more around 7 or 8 o’clock – I still often just got up earlier just to solve them. One reason was, of course, to collect points on the private leaderboard, but the tasks themselves were also tempting. I found it exciting to look at the new task of the day and come up with a solution for it under time pressure due to the worldwide “competition”.

Which task did you enjoy the most and why?

Prof. Dr. Peter Stöhr:
“That was the task from December 24. When reading the task, Eric had lured me onto a completely wrong track, only to pull the already existing solution idea out from under me in the last paragraph. For the solution itself you only had to puzzle and then – without programming a single line – you came to the solution. It was just a pity that the task came up on December 24, because on that very day, even as a computer scientist, you actually have something completely different in mind.”

Katharina Reiner:
“I thought the task of day 13 was very cool. You had to simulate the folding of a transparent paper. The dots that shone through at the end after all the folding steps resulted in a letter code. I really liked this graphical approach and the task was just easy enough to program quickly, but still challenging enough not to be boring.”

Julian Köglmeier:
“One of my favorite tasks is probably task 14. The first part of the task I solved pretty bluntly with the first approach that popped into my head. In the second part, however, this approach was no longer possible, which meant that I had to think about it. This meant that I had to look at the task from different angles until it finally clicked in my head and I found the right approach. The feeling of an “aha” moment was particularly strong for me in this task.”

What is the appeal of these puzzles?

Prof. Dr. Peter Stöhr:
“There are actually two things: First, it’s about cracking the puzzle. Once you’ve done that, you’re faced with the problem of how best to program it? This question of the right way to program it adds some pizzazz. For me, programming was mostly a mix of controlled chaos and structure, the kind you don’t usually get to show in lectures. The chaos comes from the fact that I wanted to have a solution for the first subtask of the day as quickly as possible. The second subtask then usually builds on the first. And this is where the structure and hope for reuse comes into play. You can see that you don’t have to program to “hell’s teeth” here by the fact that my individual solutions probably didn’t involve more than 200 lines of Swift code.

Katharina Reiner:
“I just enjoy programming in general, and these small but tricky tasks are just right for that.

Julian Köglmeier:
“For me, it’s the fact that the tasks aren’t just blunt “ask Google for the algorithm and write it down” tasks, but always have a certain trick that you have to find first. Many of the tasks first steer you down a wrong path, leading to an algorithm that may even suffice for the first part of the task. At the latest, however, the second part then seems hardly doable or not doable at all at first glance, but with a bit of thought you then find an approach that is significantly simpler and solves the problem better.

Thank you for the interview!

Prof. Dr. Peter Stöhr
Rainer Krauß

Weitere Themen