Programming Languages and Systems @ University of Tartu

The goal of programming languages and systems research is to develop the theory and practical techniques that lead to more productive programming languages, including their runtime systems and supporting tooling. Specifically, our work ranges from foundational semantic techniques at the heart of formalizing programming languages to developing tools that facilitate the verification and rapid development of software. While reasoning about code requires solid mathematical foundations, the research in this group have also resulted in practical tools that make software more safe and easier to develop, such as Goblint and JRebel.

Our group is also responsible for teaching all bachelor level programming courses at the university as well as many widely successful MOOCs for teaching programming to the wider public in Estonia. We are, therefore, also interested in research on how to teach programming more effectively. We have our own Python IDE, Thonny, which is ideal for novice programmers.

Active research groups

So... are you interested in rigorous software development? Want to research better ways of developing quality code? Do you find yourself googling "python lambda function list comprehension" or "mutex lock"? Then you're speaking our language! We did functional programming long before the cool kids started to play with it. We were into Yampa before RxAndroid was even conceived.

Join our group!
The future is now.