Gramoz Goranci ist Assistenzprofessor mit Tenure-Track-Status an der Fakultät für Informatik der Universität Wien. Sein Interesse gilt vor allem dem Entwurf von Algorithmen und deren Verbindungen zu Optimierung, Graphentheorie und maschinellem Lernen. Seine aktuelle Forschung konzentriert sich auf den Entwurf schneller und beweisbarer dynamischer Algorithmen für graphbasierte Optimierungsprobleme.
Zuvor war er als Advanced Fellow am Institut für Theoretische Studien der ETH Zürich tätig. Er schloss seinen Postdoc an der Theory Group, University of Toronto, ab, hatte einen ständigen Lehrauftrag an der University of Glasgow und war Gastforscher am College of Computing, Georgia Insititute of Technology. Seinen Doktortitel erwarb er an der Universität Wien unter der Leitung von Monika Henzinger.
Zu Beginn seiner Anstellung hat er uns umfassende Einblicke in seine Forschungsarbeit gegeben und sich auch zu seiner Meinung über das Forschungsfeld der Informatik geäußert. Außerdem hat er wertvolle Ratschläge für Studienanfänger*innen im Bereich der Informatik gegeben:
How did you get interested in Computer Science?
During high school, I was fortunate enough to attend a specialized program in Mathematics and Computer Science. This involved a lot of exposure to these two subjects, and I even learned the basics of C++ programming during that time. The instant feedback aspect of programming, where you write some code and then test if the code does what you intended to do, is what initially got me hooked on computer science.
Since Computer Science is a very broad field, what does Computer Science mean for you?
While computer science is a broad term, in the classical sense, I would describe computer science as the process of modeling a real-life problem in an abstract way (depending on the computational model), coming up with a solution to that problem while keeping in mind constraints of the model such as memory/space/communication, etc., and finally, being able to translate these solutions into a language that computers understand.
What makes Computer Science fascinating for you?
The three aspects of computer science that make it so fascinating for me are (i) impact on society, (ii) impact on other (traditional) sciences, and (iii) the ample opportunities it offers for creativity and innovation. Computer science has a profound impact on almost every aspect of modern society, and in addition to its obvious connection to mathematics, it has successfully managed to establish strong connections to many other scientific disciplines. For me, personally, the creative problem-solving aspect as well as the relevance of the problems we study make it a particularly exciting field to work on.
On his Research
How would you describe your research in one sentence?
I design provable algorithms that react quickly to changes in dynamic networks.
What is your area of research and what sets it aside from other areas in your field?
I primarily work on designing and analyzing fast static and dynamic algorithms for fundamental graph problems such as shortest paths, maximum flow, solving Laplacian systems and clustering. Within theoretical computer science, my research focuses on providing “positive” results, while there are other neighboring areas that look at the same problems from a different angle, e.g. in complexity theory, one is intentered in providing “negative” or hardness results.
In a broader context, my area draws upon tools from different branches of mathematics to prove the correctness and running time analysis of the algorithms we invent. This is in contrast to more applied areas of computer sciences, where more emphasis is put on the empirical evaluations of algorithms. Luckily, I was also involved in a few projects where we managed to design algorithms with strong theoretical guarantees that performed reasonably well in practice, thus combining the best of both worlds.
Where do you see the connection between your research and every-day life?
Consider the following problem that navigation systems (e.g., google maps) need to solve on a regular basis: suppose you’re driving from Vienna to Munich and there is a traffic jam on the highway. The navigation system needs to react to this change in the underlying road network by telling you that you should either stay on the same route or take a faster alternative route. However, to be able to do so, it needs to run some computation in the background. These computations are usually very costly if done naively, as road networks tend to be complex in structure and of massive size.
My research is concerned with casting the above scenario as a graph-theoretic problem, and understanding, from a theoretical viewpoint, how fast navigation systems can react to potential traffic jams by exploring only small parts of the network, while still provably guaranteeing a fast alternative route for the driver.
What are the 3 most important ingredients for a successful research project?
In an ideal situation, I would say (i) picking an important research problem, (ii) having deep interest and motivation to work on the problem, and (iii) developing the necessary background to tackle the problem as well as having a “big appetite” for failure when trying to solve it, hoping that one manages to eventually turn it into a success.
This is difficult to simulate on every research project one works on, but having a few such projects under one's belt is priceless.
Additional Questions about the Field and Teaching
What gives you joy in the field of work?
The most rewarding aspects of doing this job are (i) freedom to work on problems I’m excited about, (ii) working with students and seeing them thrive, and (iii) the opportunity to collaborate with many talented, international researchers.
Why do you think there are still fewer women in Computer Science than men?
I think that this has mainly to do with stereotypes and the perception of computer science as male-centered discipline. What’s even more alarming is that there are studies that show the gender gap was much smaller in the 80’s, and many events afterwards led to computer science becoming less diverse. This means that our discipline is missing out on a large pool of talent, and I think that we as a department need to come up with measures to decrease this gap. One thought would be to increase our outreach activities and showcase the female role models in our department, or improve the visibility of the extension curricula (EC) offered by the University of Vienna, which would potentially help increase awareness about computer science across other disciplines where women to men ratio is better.
Which talents should people bring along for a career in Computer Science?
I tend to not believe much in talent as an innate ability, but I would say that some mathematical maturity and problem solving skills are required in nearly every area of computer science. Some of the skills that one needs for a scientific career in any scientific discipline are motivation, time management, treating the research process as a marathon instead of a sprint and cultivating one’s research taste.
Your advice to today’s first-year students?
Spend a lot of time understanding the foundations, stay open, curious and take as many classes as you can; you never know what you’ll like best until you try it. Attend the lectures in person so you have the opportunity to develop lasting friendships with your peers, and finally, don’t forget to have fun and enjoy yourselves.