We are a group of researchers based in Prague interested in programming languages and systems from the Programming Research Laboratory at the Czech Technical University and the Programming Langauges and Systems Group at the Faculty of Mathematics and Physics, Charles University. We meet regularly, organise joint events and promote programming languages and systems research, projects and courses in Prague.
If you are interested in joining our network, drop us an email or come to any of the events listed below!
Regular Events
We run a number of events at both Czech Technical University and Charles University where we can meet and talk about programming languages and systems. To make talking to each other easier, our reading group alternates between the two locations!
Reading Group
- Wednesdays 10:00, Malá Strana or Dejvice
- List of past and upcoming meetings
Regular reading group where we discuss papers of interest to the group. Topics range from essential PL reading to recent papers of interest. All students are welcome to join and suggest papers!
Group Lunch at MFF
- Mondays 13:00, Café HAMU, Malá Strana
- Come and loook for us or email Tomas to check
We meet at 12:00 in front of S204 to talk about current research ideas, open problems and whatever interests us and then have lunch together at the nearby Café HAMU around 13:00.
#lang-talk meetups
- Irregularly, afternoons at FIT, Dejvice
- Upcoming events, recordings and mailing list
Small student-organized community of PL enthusiasts. Meets for member talks, discussions and invited guest talks. Also check out recordings and a list of useful resources!
Receive email updates!
Sign up here to receive updates about reading group meetings, other interesting events in Prague, new courses and opportunities and occassional other PRG • PRG news.
Work with Us!
We have a range of projects and thesis topics for students at both CTU and MFF. We also often have funding for PhD students and post-doctoral researchers, or can help you with various applications. If you want to move to Prague permanently, we can also give you various tips!
- Topics for student projects and theses at D3S, MFF
- Student project & PhD research ideas at PRL, CTU
- PhD opportunities and application guidelines at D3S, MFF
Courses We Teach
This is an incomplete list of courses related to programming langauges and systems in Prague that we and our colleagues teach. If you are missing a great course, send us a pull request on GitHub.
You are welcome to join courses at "the other place", but it is a good idea to drop the lecturer an email about practical details. In the future, we hope to collaborate more closely so that you can (easily) get credits for external courses too.
Winter Semester 2024/25
Programming Language Design - Tomas Petricek, MFF (Tuesday, 12:20, S6)
Learn how to design better programming langauges and libraries using a range of empirical, formal, theoretical and interdisciplinary research methods.
Informal Hands-on F# Course - Tomas Petricek, MFF (Tuesday, 10:40, S204 corridor)
A few people expressed interest in learning some F#, so we will meet occasionally throughout the winter semester for a series of hands-on sessions on F#.
Advanced Program Testing - Pierre Donat-Bouillud, FIT (Thursday, 9:15, TK:PU1)
Learn how to test a program, from specification, structural, property-based, and mutation testing, to fuzzing and symbolic execution.
Programming Paradigms - Tomáš Jakl, Petr Maj and Jan Liam Verter, FIT (Friday, 9:15 or 11:00, TH:A-s135)
An introductory course to the theory of programming languages and to functional and logic programming. See Czech or English parallel information page.
Functional Programming - Vít Šefl, MFF (Wednesday, 12:20, S9)
Learn theoretical foundations of functional programming and their uses, in particular in the environment of Haskell language.
Code Generation - Petr Maj, FIT (Friday, 14:30, T9:301)
Learn how to build a compiler for a C-like programming language with emphasis on program optimization and target code generation.
Summer and Future Courses
Write Your Own Tiny Programming System(s)! - Tomas Petricek, MFF (Winter 2025/26)
Learn fundamental techniques from functional, object-oriented, imperative and logic languages and systems by writing their miniature versions.
Program Analysis - Filip Krikava, FIT (Summer 2024/25)
Learn how to reason about programs without running them. We cover the basic techniques of static and dynamic program analysis.
Runtime Systems - Filip Krikava, FIT (Summer 2024/25)
Learn how to build a virtual machine for a JS-like programming language including AST and BC interpretation, garbage-collection and just-in-time compilation.
Virtual Machines and Managed Runtimes - Štěpán Šindelář, MFF (Summer 2024/25)
Learn about real-world virtual machines internals, with a focus on JVM, GraalVM, and Python. Get hands-on experience with the Truffle language implementation framework.
Programming Methodology and Philosophy of PLs - Vít Šefl, MFF (Summer 2024/2025)
Learn about all the programming paradigms and how programming languages evolved, from Fortran to Rust. Note that this course is taught in Czech.
Organizers and Supporters
Are you working on programming languages in Prague and want to join us? Feel free to drop us an email or add yourself and other information by editing this page on GitHub!
Pierre Donat-Bouillud
Postdoctoral Researcher at CTU
https://www.pdonatbouillud.com
Interested in programming languages, program analysis, and testing techniques, including fuzzing.
Filip Křikava
Associate Professor at CTU
Works on static and dynamic program analysis, compilers and virtual machine implementations.
Tomas Petricek
Assistant Professor at MFF
https://d3s.mff.cuni.cz/~petricek
Interested in interactive programming systems, functional languages, history and philosophy.
Jan Liam Verter
PhD Student at MFF
Builds small programming languages, theorem provers, and other systems related to PLT.
Tomáš Jakl
Assistant Professor at CTU
Interested in semantics properties of logics and programming languages.
Vít Šefl
PhD Student at MFF
https://ksvi.mff.cuni.cz/~sefl
Interested in functional programming, type systems, and theorem provers.
Petr Maj
Senior Compiler Engineer at Azul, Assistant Professor at CTU
Works on compilers, virtual machines and embedded systems.
Štěpán Šindelář
Language Runtimes Engineer at Oracle Labs
Works on dynamic language runtimes and virtual machines