Testimonials from students and researcher portraits
Read the testimonials from graduates and students from the MSc Programme in Computer Science:
“It’s not easy, but it’s certainly not boring either,” says Henrik G. Jensen, who is doing an MSc in Computer Science at the University of Copenhagen.
Why did you choose to go on to do the master’s programme?
It’s on the master’s programme that all the cool stuff happens! I already knew this from the master’s-level elective courses I did on the bachelor’s programme.
It’s everything we’ve worked so hard to get to do. Doing subjects that are based more on articles and current research than on books and slides, you suddenly get the opportunity to make a difference. Whether it’s learning how to start a business or doing some cutting-edge research. It’s not easy, but it’s certainly not boring either.
What do you find most interesting about the Computer Science programme?
Exploring data and hunting for previously unseen connections. I was initially very driven by machine learning and data mining, and then later by image analysis – although the two fields overlap a lot.
Specifically, I’ve always been very interested in the interdisciplinarity of the medical field. Right now I’m working on a really exciting master’s thesis on generating an average neurological map of the brain. I find it really motivating that as a computer scientist you are potentially able to help ten times more people than, say, a doctor in the course of your working life.
What are your thoughts on the study environment and your personal involvement in it?
I’ve travelled a lot and have had IT support jobs around the university, and I can definitely say one thing: Computer Science students are very fortunate to have a unique and well-knit study environment that you don’t see anywhere else.
It’s a tough degree programme, but there’s something for everyone socially – from the board game club and anime fans to the revues and football club. I’ve been involved in most things, and helped to start a new brewers’ guild, ‘DQBrew’, at the department. Students and researchers of all ages and from different year groups meet in this forum to brew beer, cider, mead and much more.
Two newly minted MSc graduates in Computer Science from the University of Copenhagen, Anna Lesniak and Prangshuman Das, have made their mark at a reputable international conference. They now work at the Tech Unicorn company Zendesk and at Microsoft, respectively.
Anna Lesniak and Prangshuman Das had a distinguished ending of their MSc programme. As the first authors of their respective scientific papers, they started their careers with an extra advantage.
And it is not just any conference that the two candidates will soon be attending. DEBS is the leading conference in the field of distributed and event-based systems, which is a hot topic in the industry. It is the place where the greatest minds of the field gather about the latest results and, this year, only 27 percent of the submitted papers ended up being accepted.
- I am grateful that my supervisors believed in me and suggested that I write a scientific paper based on my thesis. As a student at DIKU, you can easily choose to carry out projects that contribute to research. I look forward to presenting our work at the conference, says Anna Lesniak, who now works at the Tech Unicorn company Zendesk.
Contributes to a new area
Anna and Prangshuman have both written their thesis on so-called microservices – a new software architecture where the application is divided into autonomous and smaller services instead of having one single deployment unit. In fact, it is so new that a lot more knowledge about this special architecture is needed.
This didn’t turn out to be a hindrance for Anna and Prangshuman who joined the research group at the department that works with event-based systems, particularly microservices. Professor Yongluan Zhou, who is also head of studies for MSc in Computer Science, leads the group. Anna and Prangshuman were also supervised by the PhD student Rodrigo Nunes Laigner.
- It was a cherry on top to contribute to an academic conference while working on my thesis. I’m proud to have achieved this, and it would not have been possible without the resilient support and guidance from Yongluan and Rodrigo. In general, I experienced an encouraging learning and teaching environment at the department, says Prangshuman Das, who now works at Microsoft.
In short, Prangshuman has created a tool to help microservice software developers make better design choices. Anna developed a system that will ensure that software developers develop microservices correctly.
- Anna and Prangshuman have each done a piece of work that can help solve some real challenges. Microservices are used by a handful of large companies like Amazon, but it is something that many more are interested in implementing, says PhD student Rodrigo Nunes Laigner.
Nicolae studied for his bachelor degree at the Technical University in Cluj-Napoca, which is only outsized by the university in Romania’s capital Bukarest. Nicolae graduated in Computer Science from University of Copenhagen. "For me it was amazing. We had the best teachers you could ever have."
Why did you choose Computer Science?
I was very passionate about maths in upper secondary school. We had a lot of Olympiads – you don’t have so many in Denmark – which are contests between the best in a certain field. So it was a logical step to choose computer science. Actually, my high school profile was mathematics and informatics.
Tell us about your background …
I completed my bachelor in computer engineering in Cluj-Napoca. It was a four-year technical bachelor. I had a combination where I learned about the software parts and also a lot about the hardware.
In addition to my studies I had been working during the last years of my bachelor and I continued working a year afterwards as software engineer for a multinational company doing mobile phone development and developing software for car navigation embedded systems for Garmin. In 2011, I also started a master’s in Romania while working full time. I wanted to learn more, and I was looking for new challenges.
So why did you choose to go to Denmark?
At that time my girlfriend went to Lund in Sweden to study on the Erasmus programme. I went to visit her, and we made a trip to Copenhagen for two days, and I really liked the city. So that were two good reasons to come here: to stay close to her and to study in a nice city.
Was it difficult to get a job?
Actually, I applied to many student jobs before I arrived, and I got two job offers. I decided to go for Microsoft and was a student worker there for 18 months. So when I finished my studies, I applied for a full time position at Microsoft here in Copenhagen, got the job and have been working there now for 8 months. But when I applied for this job it was quite hard: I had to do five interviews. There was also the option of going forward with a PhD which didn't suit me that well.
What are you working on?
I’m a software development engineer, and I’m working on Microsoft Dynamics Marketing. We are doing business solutions for companies. Currently, I am working on a feature which allows marketing for companies via SMS. I have the opportunity to work with some of the brightest engineers in the world. I am really grateful for it.
There are a lot of interns and student workers from all over the world. In Microsoft Dynamics Marketing team there are over 20 nationalities from all over the world. It is a great opportunity to get insights about different cultures and nationalities.
Coming from the university, did you feel prepared for the job?
My previous experiences helped a lot, but there are still new things I learn every day. During my MSc programme I had a lot of internships. For instance I had an internship in Saxo Bank and for a company called Macom, who are doing a digital educational system. So we were working with things that are useful in real life, and I got a lot experience.
How is the job situation in general?
It’s actually quite difficult to find a job here in Denmark. I consider myself very lucky. In IT it’s easier. Many of my master’s colleagues work for big companies such as Danske Bank or SAP. As far as I know most of my friends from university now have a job.
What other possibilities would you have now with your background?
One possibility is a PhD. I was part of a project about machine learning, which is a very theoretical subject. I could have continued the research I made for my masters thesis.
My MSc profile was highly focused on computer science innovation and entrepreneurship and we had a lot of projects where we developed concepts. Most of them were part of group work – very good ideas, and most of them could actually be developed further. So it is an option to make your own company. Not so many have started companies yet, but one of my friends already had a company while we were studying, and he is still running it.
What other kind of jobs could you have now?
We can work for all kind of companies dealing with data. My studies give several options: work with machine learning, entrepreneurship or research … so you can follow your own passion. One of the nice things about the MSc programme is that you can choose around 50% as optional classes. You can choose to specialize or be a generalist.
Would you recommend the programme to others?
Yes, I would definitely recommend it. There are so many options. It's hard work but one can get a scholarship and the education is free, which is amazing. I never heard about that before – to be paid to study! But if you don’t have a scholarship and don’t get a job, then it’s very expensive to live here. Accommodation and food are very expensive. Bread is like four or five times as expensive as in Romania. So you have to get a job very fast or otherwise your parents should support you.
Do you have any good advice for new students?
It’s so hard to find a place to live. You have to apply for accommodation even before you apply for the university. If you want to go next year – apply now! And then you have to find a job. I didn’t have one the first month. I had savings from my recent job in Romania, but that period was tough for me.
The interview with Nicolae was conducted in January 2015.
Read the portraits of two Danish PhD students at the University's Department of Computer Science.
23-year-old Søren Dahlgaard has programmed since he was 10, and since senior high he has involved himself in every available computer science competition. With three titles as Danish champion in programming on his resume and enrolled in the Ph.D. program at The Department of Computer Science, Søren now has new goals in sight.
Already from an early age, Søren was deeply interested in the workings of computers. His first experience with programming was acquired already at age of 10 when he taught himself to code scripts and bots for the chat room in Counter-Strike. Later he was introduced to the programming language C++, and this determined his future: Søren was to be a computer scientist.
- It was very fascinating to write some code and see that it worked, Søren recollects.
Today, Søren is a Ph.D. student within the field of algorithmsand he can look ahead at a career as a researcher with great optimism. Søren’s impressive achievements as a student encompass a GPA that can hardly become any higher, and a row of extracurricular activities with he has dived into with an unusually high level of energy.
- It’s all about mathematical intelligence. This explanation is the first to suggest itself when Søren is asked how he has become so successful with computer science, and he ads:
- Computer science is very mathematical; it is indispensable to be able to think in a strongly combinatorial manner.
Søren has often been puzzled about how frustrating many students tend to find mathematical proofs. For him, such exercises have never been a problem.
Though a natural mathematical flair may have been a determining factor for becoming an elite computer scientist, curiosity and steel-like work ethics have been as decisive in Søren’s career. These two virtues have been applied through his devoted participation and great success in various computer science competitions.
Hardcore Contest Programmer
If you browse through the list of participants for the computer science competitions DDD, BOI and IOI from 2007 through 2009, it is evident that Søren has been a most busy participant throughout all of his years of senior high. Nobody will do really well in these kinds of events without intense study of a curriculum far surpassing anything that is taught in high school. In college as a computer science major, Søren has continued his involvement in computer science competitions as a member of DIKU’s programming team, ‘Lamdabamserne’, which has been competing in both national and international programming competitions.
The reward for the many hours of preparation in Søren’s time as a Lambdabamse has been no less than three Danish championships. To Søren, the motivation for participating has been more than prizes, honours, and money; the computer science competitions have been important to the Søren first and foremost because of the strong friendships with other contestants, and because they have given him the opportunity to travel the world: Throughout high school and college, Søren has visited Croatia, Egypt, Poland, Bulgaria, Holland, and Germany.
An Era Has Come To An End
Unfortunately, Søren is getting close to the age limit of 24 years which will put an end to his participation in the computer science competitions for college students.
- We are really down about this. Of course, the set-up of the team will always change, but right now we have a team which could qualify for the World Championships - if only we had another season.
To Søren, taking part in competitions has become a way of life, and as a Ph.D. student it is still his love for competing that drives him on.
- I have always lived by the rule that whatever I decide to do, I have to do best. Now my drive is tied to the goal of producing cool results so that they will be accepted by the best conferences. The difference is that these results must be new and groundbreaking, and that they take a long time to finish. To use a racing metaphor, the programming competitions can be seen as a sprint where research is like a marathon.
The Social Dimension of Studying Computer Science
Since Søren is so devoted to the academic dimension of computer science, it may come as a surprise that he has had time and energy to throw himself into several social activities as well. Part of the explanation is that Søren has deep feelings for DIKU: He is particularly proud of DIKU’s ability to include all its students.
- At other departments, the students are by themselves a lot, but at DIKU there is a special sense of community. Here people are alike in having the computer as their common interest, and this is a great foundation for connecting which each other.
- DIKU is super embracing. There are so many possibilities of getting involved in social activities - for instance, there are established groups around board games, DIKUrevue, LAN and student introduction. This is pretty unique for a college major.
Apart from being a Lambdabamse, Søren is also involved in the board of the student canteen and in the student introduction group, and to top it off, he has participated in several events for high school students hosted by the Danish Youth Association of Science (UNF).
- I chose to be part of the student intro team because I want to do what I can to engage the new students in their major, and I went into the board of the student canteen because it is essential for DIKU’s social life. The canteen is super important, so naturally I wanted to put in some work to preserve it.
If you are good at math, you might want to study computer science. This is the message to be learned from Mathias Knudsen’s trajectory as a student. In his senior year of high school, he won Olympic gold in mathematics, and now the 21-year-old student is involved in the research of randomized algorithms in collaboration with some of the world’s smartest people.
It was not always obvious that math, and its applied cousin, computer science, would become Mathias’ academic path of choice. Throughout his school years, Mathias never shoved specific interest in calculus or geometry, rather, like the rest of his class, he preferred to play soccer.
In senior high, something happened which made an impact on Mathias’ relationship to math. One day the math teacher introduced his sophmore class to the Georg Mohr math competition for high school students which challenges the brightest students with difficult math assignments and is a part of the draft of participants for the IMO, the International Mathematical Olympiad. The teacher succeeded in recruiting Mathias and a classmate.
With his newly found enthusiasm for math, Mathias threw himself into the scientific competitions, both Danish, European, and international. On a side note, it had a positive effect on his ability to concentrate on math that he got himself a serious injury which made him unable to play soccer for more than a year.
- We competed with each other about who did best. High school math suddenly became really cool because our teacher let us do our own thing in class.
Since then, Mathias has never looked back – he was hooked on math, very advanced math moreover.
Olympic Gold in Kazakhstan
The many competitions have brought Mathias far about in the world; for instance he has visited Poland, Sweden, Bulgaria, Germany, Norway, Estonia, and Canada as participant in various competitions for computer science and math. Mathias reached the top of his ambition in Kazakhstan in 2010 when he won Olympic gold in math - the first mathematical Olympic gold medal in Danish history.
- It was amazing! When we heard the results read aloud, I was so ecstatic that I just had to take a long run to burn off some of the energy. I was very surprised since I had made a miscalculation one day and thrown away one of the result sheets by mistake the other day.
Read more about Mathias’ Olympic gold at Berlingske (Danish)
Danish Championship in Programming
Since then, Mathias has continued what has now become a beautiful tradition for using his brain power in intense competitions. As a college student he entered the programming team ‘Lambdabamserne’, and in his four years as a member he helped secure the title as Danish champions in programming for the Department of Computer Science (DIKU) no less than three times.
Although this kind of extracurricular brain athletics is sufficiently gratifying in itself to balance the time and hard work spent (for instance, the academic development has shown itself to be most valuable in class), there are oodles of perks to sweeten the deal: The winners of the Danish championship are awarded 10,000 Danish kroner; free food and drinks are available; and there is plenty of opportunity to meet interesting new people and visit exciting new countries.
Ph.D. Student in Computer Science
Life as a hardcore math genius is in no way boring. Mathias has graduated with a double major in math and computer science, and today he is a Ph.D. student supervised by professors Stephen Alstrup and Mikkel Thorup at DIKU.
Here he works with algorithms as described in the CLRS book, Introduction to Algorithms, more specifically he focuses on randomized algorithms, especially hash functions. As such he has ultimately directed his talent for math towards computer science.
- I find theoretical math rather boring. People have been contemplating math for thousands of years, so, in a manner of speaking, all the low-hanging fruits have been picked already. In comparison, computer science is less well-researched.
Now Mathias has put course books behind him and is now doing research. To Mathias it is infinitely more appealing to be at the frontier of scientific breakthroughs and take part in pushing the limits of human knowledge. He has the privilege to do exactly this in collaboration with some of the world’s most ambitious people in his field, for instance with research labs in the US.
- During the last 6 months, I have visited the US six times, both New York, Portland, and San Francisco.
Today applied math is in the forefront of Mathias’ field of interests while soccer has been pushed to the background. Again it seems like fate has taken its turn in keeping the soccer ambitions under control, for even though Mathias normally plays high level soccer on a regular basis, an injury has forced him to leave to ball alone yet again. On a positive note, this will likely make it possible for Mathias to use all the extra energy on the academic discipline – like it did once before.
Meet three of our researchers at Department of Computer Science.
I am developing and analysing algorithms that extract useful information from data - algorithms that learn.
What courses are you teaching at present?
- I am responsible for the course "Machine Learning". The amount and complexity of available data is steadily increasing. To make use of this wealth of information, computing systems are needed that turn the data into knowledge. Machine learning is about developing the required software that automatically analyses data for making predictions, categorizations, and recommendations. Machine learning algorithms are already an integral part of today's computing systems - for example in search engines, recommender systems, or biometrical application. The course introduces the most common techniques from statistical machine learning and pattern recognition.
- Furthermore, I am teaching part of the elective course "Advanced Topics in Machine Learning" for students who want to learn more about machine learning. I am also contributing to the course "Data Analysis Methods", in which non-Computer Science students can obtain a working knowledge of basic data modelling and data analysis using fundamental machine learning techniques.
What are your current research interests?
- As a machine learning researcher, I am developing and analysing algorithms that extract useful information from data - algorithms that learn.
Which of your research results are you the most proud of?
- I love both theory and algorithm engineering, and I am most happy if I can prove insightful properties of algorithms that are employed in practice and if the methods developed in my group are used by other people.
- For instance, my colleagues and I devised very fast learning algorithms (e.g., for support vector machines and also for neural networks) and novel multi-objective optimisation techniques, which we make available through our award-winning open-source machine learning library Shark.
- It is my goal to apply machine learning to addressing problems of societal relevance. For instance, my colleagues and I work on using machine learning to derive better biomarkers for diagnosing and prognosing diseases (e.g., breast cancer or Alzheimer's disease) or to support the verification of the nuclear test ban treaty.
I worked for many years on programming with monadic effects, which is a systematic way of adding nominally "impure", but often very convenient, language features to "pure" functional programming.
What courses are you teaching at present?
- My main course is "Semantics and Types". That's an introduction to programming-language theory, which covers formal reasoning about both individual programs (for example, showing that a particular optimization is actually meaning-preserving) and whole languages (for example, showing that all programs that pass a static type check are actually safe to execute). I also co-teach "Extreme Multiprogramming", in which I cover the CSP theory track.
What are your current research interests?
- I'm working mostly on data-parallel functional programming, which is a key research area of the HIPERFIT Center at DIKU. We are developing new languages that are easy to program in and reason about, but at the same time lend themselves naturally to being executed on massively parallel hardware, such as GPU cards. Needless to say, this work relies heavily on concepts and techniques from "Semantics and Types".
Which of your research results are you the most proud of?
- Before I got interested in parallelism, I worked for many years on programming with monadic effects, which is a systematic way of adding nominally "impure", but often very convenient, language features (such as mutable state, exceptions, or back-tracking) to "pure" functional programming. If you do this in the traditional way with monad transformers, everything remains mathematically correct, but your programs slow down in proportion to the number of features that you want to support - even if you only use those features very rarely. However, I was able to show that one fixed, "universal" monadic effect (so-called delimited continuations) can actually mimic all other monad combinations, no matter how complicated; in other words, you only need to pay the overhead once and for all.
- I think this result has changed the way many researchers now think of monads, but I still too often hear functional programmers say that writing a cleanly layered monadic program was too inefficient, so they just hacked up some ad hoc alternative - which probably ended up being both more error-prone and less efficient. I guess there's still some education to be done there.
I am interested in how body-based user interfaces can be designed.
What courses are you teaching at present?
- I am currently teaching "User Interface Technology", a master level course focused on all the cool thinks we do in HCI. I am also teaching "User Experience" at the Royal School of Information and Library Science; this course attempts to introduce students to new research in usability evaluation.
What are your current research interests?
- I am interested in how body-based user interfaces (such as motion-tracking systems, gesture recognition, etc.) can be designed. I also have side interests in interfaces for large displays, visualization of large data sets, and user experience research.