PRG • PRG

Prague Programming Languages and Systems Research Network

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

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

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!

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!

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

donatpie@fit.cvut.cz

https://www.pdonatbouillud.com

Interested in programming languages, program analysis, and testing techniques, including fuzzing.

Filip Křikava

Associate Professor at CTU

filip.krikava@fit.cvut.cz

http://fikovnik.net

Works on static and dynamic program analysis, compilers and virtual machine implementations.

Tomas Petricek

Assistant Professor at MFF

tomas@tomasp.net

https://d3s.mff.cuni.cz/~petricek

Interested in interactive programming systems, functional languages, history and philosophy.

Jan Liam Verter

PhD Student at MFF

verter@d3s.mff.cuni.cz

https://github.com/lambduli

Builds small programming languages, theorem provers, and other systems related to PLT.

Tomáš Jakl

Assistant Professor at CTU

tomas.jakl@cvut.cz

https://tomas.jakl.one

Interested in semantics properties of logics and programming languages.

Vít Šefl

PhD Student at MFF

sefl@ksvi.mff.cuni.cz

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

petr.maj@fit.cvut.cz

https://peta.terminalpp.com

Works on compilers, virtual machines and embedded systems.

Štěpán Šindelář

Language Runtimes Engineer at Oracle Labs

stepan.sindelar@oracle.com

Works on dynamic language runtimes and virtual machines