Kathrin Hanauer is a tenure-track assistant professor at the Faculty of Computer Science, University of Vienna. Her research interests are centered around the design, analysis, and experimental evaluation of discrete algorithms. Much of her recent work is in the area of algorithm engineering, especially dynamic algorithms, algorithms for big data and AI, and graph algorithms.
Kathrin Hanauer received her PhD from the University of Passau in 2018. She was awarded a research scholarship and taught as a lecturer at the Deggendorf Institute of Technology before joining the research group led by Monika Henzinger at the University of Vienna as a postdoctoral researcher.
Kathrin Hanauer's tenure-track professorship in the area of Fast Algorithms is within the research group Theory and Applications of Algorithms. At the start of her new position, she answered the following questions about her research and assessment of the computer science research field, and also provided valuable tips for computer science beginners.
How would you describe your research in one sentence?
My research is concerned with analyzing how algorithms behave on real data and in real usecase scenarios, understanding why they show this behavior, and using that knowledge to build new, better algorithms.
What is your area of research and what sets it aside from other areas in your field?
A large part of my research can best be described by the term “algorithm engineering”: Algorithms undergo an engineering process, they are designed, analyzed, implemented, evaluated, and if necessary, re-designed and so on, until we have the desired outcome. Algorithm engineering bridges the gap between algorithm theory on the one side, where algorithms are designed and analyzed according to theoretical criteria only, and practice on the other side, where an algorithmic problem appears in some real-world application and a working solution is required. I am especially interested in so-called “dynamic algorithms” that can deal with changes to the data they are using, and that can adjust to such changes efficiently. This is particularly important in the context of big data, or everywhere where recomputing everything from scratch is too resource-intense. The resource is most often time, but can also be money if we have to pay per computing hour, or power usage, for example. Because of the massive amount of data involved, having algorithms that scale or help a system to scale is also very important for many AI applications.
Where do you see the connection between your research and everyday life?
Everywhere. Well, almost. I often think about the algorithms that probably work behind the scenes when I do something “normal”, like looking for the best route, booking a table or a hotel, or something else, and I ask myself how these algorithms could potentially be improved.
Since Computer Science is a very broad field, how would you describe it?
It is a very broad field, but that makes it also so interesting and versatile in my view. In many cases, it boils down to the question: What can we “teach” a machine to do (and how)? Where are the limits?
What are the 3 most important ingredients for a successful research project?
That’s a tricky question. If it is not a one-person research project, then I would say: commitment from all members of the team, openness to each other’s ideas and thoughts, and a common goal.
What brings you joy in your field of work?
Luckily, there are a lot of things that give me joy in my work. For example, when I work with students and I see that they just grasped something that I was trying to explain, and how this opens a door for them to look deeper and see cross-connections. In research, when I have an idea or a conjecture and then it works out in practice or I finally succeed in proving it. When some algorithm that I have (co-)designed can actually be deployed in a real application and can make a difference.
What was your most important scientific observation?
You cannot enforce a flash of inspiration, but it helps to read a lot and study the work of others, and sometimes you should just let your thoughts wander.
What are you advocating for?
More diversity among computer scientists in general, and getting rid of this notion that a computer scientist is someone sitting in the basement and eating pizza all day. That children and adolescents can choose freely what they are interested in and pursue it, without society, advertising, or anyone else telling them what is supposedly right for them or what they can or cannot be good at. Fighting discrimination, for its own sake and to prevent that data-driven algorithms become discriminating, too.
Why do you think are there still fewer women in Computer Science than men?
I think one reason can still be found in clichés and what women are “typically” interested in, or expected to be good at. This is rarely mathematics, engineering, or generally a technical field. I remember that when I was in school, being bad in mathematics as a girl was the normal thing - and there was a strange pride in not understanding maths that I found puzzling. Maybe this is because many people tend to live up to other people’s expectations - if the expectation is that computer science is not your thing, you are not going to study it.
Which talents should people bring along for a scientific career in Computer Science?
Good intuition, the ability to think out of the box, self-motivation, and a large portion of perseverance, I would say.
And lastly: Your advice to today’s first-year students?
If you don’t understand a concept right away, don’t just give up. Give it time to settle, and come back to it later. With some things, you may just need time to get accustomed to them. Also, don’t be intimidated by all those colleagues who have spent most of their leisure time in front of a computer during high school and now seem so far ahead - not everything is relevant and if you give yourself a chance, you can catch up quickly on the things that matter.