Nowadays, continuous research on programming languages is essential for developing artificial intelligence. Prof. Kirsch, the head of the Programming Research Laboratory at the FIT CTU, is engaged in this research, applying his experience from the University of California at Berkeley, Silicon Valley, and the University of Salzburg, Austria. He and his fellow researchers and students are looking for an ideal solution to apply innovations in programming languages to the development of artificial intelligence as effectively as possible.
Programming languages allow programmers to communicate with artificial intelligence and give it tasks to perform. It is called machine learning. AI developers must master programming languages perfectly and respond to their innovations occurring with almost hourly regularity. At FIT CTU, researchers and students have access to the state-of-the-art Programming Research Laboratory (PRL@PRG), where university students from all over the Czech Republic can engage in research and search for solutions under the guidance of Prof. Christoph Kirsch.
“Our vision is to create cutting-edge research in programming languages and systems at FIT CTU. Our projects are open to talented and highly motivated students and postdocs from our faculty and beyond,” said Prof. Kirsch. “Our faculty offers not only a state-of-the-art laboratory for research but also experts in their field. Compared to Silicon Valley, where a scientist is just a worker and competition is huge, Prague offers a completely different and friendly atmosphere that motivates ambitious young scientists. In combination with experienced experts, our faculty is the ideal breeding ground for groundbreaking projects,” he added.
Research on programming languages is already a fixed part of FIT CTU. The faculty had the honour of being the only one in the Czech Republic to receive an Advanced ERC grant worth CZK 77 million for programming language research in 2015. In the research, in which Prof. Kirsch participated together with scientists, under the leadership of Prof. Vitek, the team of scientists came up with a solution to drastically reduce the cost of updating programming languages while avoiding the need to develop entirely new languages every time there is a shift in hardware trends or programming methodology.
Hand in hand with high-quality research, there also goes high-quality teaching of students at FIT CTU. They can choose from several courses focused on programming language modelling, compiler development and formal methods. Thus, Prof. Kirsch will find himself in the role of both researcher and teacher at the faculty.
“It has taken me twenty years to learn to teach well. The more trivial the course you teach is, the more experience you need to teach it properly. At Berkeley, only the most respected and experienced professors teach introductory courses. I was afraid to speak in front of people, but I ended up loving it. I have also started working on my own textbook,” said Prof. Kirsch.
Researchers at the laboratory currently work on a project focused on symbolic execution and model checking of software. It is a systematic examination of programme behaviour to detect bugs and performance problems that are difficult to find.
“The challenge is to make our methods work for real software as well. For this purpose, we develop a software tool called unicorn, which is open-source, and anyone can contribute to its development,” Prof. Kirsch described the current project.
Christoph Kirsch is a professor at the Department of Computer Science at the University of Salzburg, Austria, and the head of the Programming Research Laboratory (PRL@PRG) at FIT CTU. He worked at the Max Planck Institute for Computer Science in Saarbrücken, Germany. He was a postdoctoral researcher at the Department of Electrical Engineering and Computer Sciences at the University of California at Berkeley, Silicon Valley, where he later served as a visiting scholar and visiting professor at the Department of Civil and Environmental Engineering. His most outstanding achievements include developing embedded programming languages and systems such as Giotto, HTL, and Embedded Machine.