Tomas Petricek
Academic Experience
Positions
-
Assistant Professor, Charles University, Prague, 2022 – present
I joined the Department of Distributed and Dependable Systems at Faculty of Mathematics and Physics to pursue fundamental research on simple, open and trustworthy programming systems, using theoretical, applied and interdisciplinary research methods.
-
Lecturer, University of Kent, 2018 – 2022
As a member of the Programming Languages and Systems group, I worked on making programming with data easy, trustworthy and accessible. I applied for grants from EPSRC (UK) and ERC (EU), Dstl & GCHQ (UK), taught graduate and undergraduate modules, supervised a PhD student and initiated interdisciplinary collaboration with a colleagues from Department of Philosophy.
-
Collaborating Fellow and Visiting Researcher, The Alan Turing Institute, 2016 – 2020
I led a project Programming Tools for Open Data Journalism funded through Google Digital News Initiative, joined the flagship ATI project Artificial Intelligence for Data Analytics as a co-investigator and obtained funding from Dstl and GCHQ for a follow-up project on semi-automated data wrangling.
-
Post-doctoral Researcher and Contractor, Microsoft Research Cambridge, 2014 – 2016
I led the development of an open-source projects focused on doing data science with F#. Resulting research was awarded a Distinguished Paper award and selected as an SIGPLAN Research Highlight.
Education
-
PhD, Computer Laboratory, University of Cambridge, 2011 – 2016
Thesis Context-aware Programming Languages develops coeffects, a theory for tracking information about environment in which programs are executed. I also devised a novel way of presenting the results in the form of widely read interactive essay (tomasp.net/coeffects). Supervised by Prof. Alan Mycroft.
-
BSc and MSc, Computer Science, Charles University, Prague, 2004 – 2010
MSc completed with distinction. Final thesis Reactive Programming with Events, supervised by Dr Don Syme, developed abstractions for reactive and concurrent programming that were presented in workshop papers.
Academic Recognition
Professional Membership
-
IFIP TC2 Working Group 2.16 Language Design (2024 – present). Member of an invitation-based group of 40 leading programming language experts that meets twice a year for an intensive week-long meeting.
Keynotes and Invited Talks
-
Data Science in F#, Berlin (September 2023). Keynote: Designing composable visualizations
-
ASL/APA Meeting, San Francisco (April 2023). Invited Talk: Cultures of programming
-
Huawei Global Technology Summit, Edinburgh (July 2022). Invited Talk: Rethinking data exploration tools
-
CodeMesh, Virtual (November 2020). Keynote: Cultures of programming
-
ScalaDays, Berlin (May 2018). Keynote: Functionalist programming language design
-
Data Science Summit, Cambridge (June 2017). Keynote: The Gamma: Democratizing data science
-
ManLang Conference, Prague (Sept 2017). Keynote: Language Challenges of Targeting Multiple Runtimes
Awards
-
Reviewers’ Choice Award, ‹Programming› 2023. Awarded for a paper on programming systems.
-
Reviewers’ Choice Award, ‹Programming› 2020. Awarded for a paper on data exploration tools.
-
ACM SIGPLAN Research Highlight. My first-author paper was chosen as an ACM SIGPLAN Research Highlight, making it one of the three best programming language papers of the past year.
-
Editors’ Choice Award, ‹Programming› 2018. Awarded for a paper on the history of monads.
-
Reviewers’ Choice Award, ‹Programming› 2017. Awarded for a paper on the history of errors.
-
Distinguished Paper Award, PLDI 2016. Awarded for a paper on types for semi-structured data
-
ACM Student Research Competition. 1st place at ICFP 2014 and 2nd place at ICFP 2012
-
Microsoft MVP Award, 2004 – 2023. Awarded annually for contributions to the F# community
Teaching and Supervision
Research Supervision
-
Jan Liam Verter (PhD Student), Charles University, 2024 – present
Research topic Semantics Engineering with Concrete Syntax and Theorem Proving.
-
Aleks Boruch-Gruszecki (Post-doctoral Researcher), Charles University, 2024 – present
Co-supervised with Prof Jan Vitek.
-
Joel Jakubovic (Post-doctoral Researcher), Charles University, 2024 – present
Research topic Graphical Constraint Programming for Notational Freedom.
-
Nour Boulahcen (Undergraduate Internship), University of Kent, May 2019 – June 2019
Design and development of type provider for graph databases.
-
Joel Jakubovic (PhD Student), University of Kent, 2019 – 2023
Thesis Achieving Self-Sustainability in Interactive Graphical Programming Systems. Graduated in 2023.
-
Roly Perera (Post-doctoral Researcher), The Alan Turing Institute, 2019
Program change tracking with applications in AI research. Now at University of Cambridge.
-
Mariana Marasoiu, Pablo León-Villagrá, Sarwar Islam (Research Internship), The Alan Turing Institute, 2017
Tools for data journalism with The Bureau of Investigative Journalism, resulting in two workshop papers.
Teaching Experience
-
Advanced C# Programming (NPRG038), Charles University, 2023/2024, Course lab supervisor
-
Write Your Own Tiny Programming Systems (NPRG077), Charles University, 2023/2024 – present
-
Introduction to Linux (NSWI177), Charles University, 2022/2023, Course lab supervisor
-
Programming Language Design (NPRG075), Charles University, 2022/2023 – present
-
Software Development (CO559), BSc, University of Kent, 2021/2022
-
Algorithms, Correctness and Efficiency (CO518), BSc, University of Kent, 2019/2020
-
Project Research (CO880), MSc, University of Kent, 2018/19 – 2021/2022, Project supervision
-
Project and Dissertation (CO880), MSc, University of Kent, 2018/19 – 2021/2022, Thesis supervision
-
Year in Computing Project (CO580), BSc, University of Kent, 2018/2019 – 2019/2020, Project supervision
-
Group Project (CO600), BSc, University of Kent, 2018/2019 – 2021/2022, Final year project supervision
-
Computer Interaction and User Experience (CO582), BSc, University of Kent, 2018/2019 – 2019/2020
-
Software Engineering (CO886), MSc, University of Kent, 2018/2019 – 2021/2022
-
Supervisions (Part IB and II), BA, University of Cambridge, 2011 – 2017, Small group teaching covering programming language concepts, types, operational and denotational semantics and compilers.
-
Programming language F# (NPRG049), Charles University, 2009/2010
Supervised Theses
Charles University (2022 – present). 10 Bachelor's theses (7 defended) and 2 Master's theses (2 defended).
University of Kent (2018 – 2022). Supervised final year projects including 4 students in Year in Computing Project (BSc), 25+ students for Group Project (BSc) and 10 students for Project and Dissertation (MSc).
Cambridge University (2013). Supervised 3 final Part II Project Dissertations (defended 2013).
Charles University (2012, 2013). 1 Master's thesis (defended 2013) and 1 Bachelor's thesis (defended 2012).
Community Service and Administration
Refereeing
Program Committee Member. Total 42 memberships including Onward! 2024, OOPSLA 2024, PX 2023, ECOOP 2023, Onward! Essays 2023, Programming 2023, PAINT 2023, OOPSLA 2023, ProWeb 2022, PADL 2022, ECOOP 2022, PX 2022, Programming 2022, HOPL IV 2021, Programming 2021, Onward! Essays 2021, AutoDS 2021, PX 2020, LIVE 2020, HaPoC 2019, Onward! Essays 2019, LIVE 2019, TFP 2015, ISMM 2012
Reviewer. In the past, I also reviewed papers for UIST, Computing, TOPLAS, Programming, Minds and Machines, Philosophy & Technology, ECOOP, PLoP, Simulation, Software: Practice and Experience, EICS, ICFP, IEEE Access, POPL, JLAMP, PLACES, TFP, PPDP, CC, Computability in Europe, TLCA
PhD Examiner. I reviewed PhD theses completed at Hasso Plattner Institute (2024), Université Paris-Saclay (2024), CTU Prague (2023), University of Ghent (2022)
Grant Proposal Reviewer. I reviewed grant proposals for GAUK (Czechia), FONDECYT (Chile), The Alan Turing Institute (UK), EPSRC (UK), ISF (Israel)
Service
-
General Chair, International Conference on the Art, Science, and Engineering of Programming, 2025
-
Steering Committee Member, AOSA, Inc., 2024 – present
-
Symposium Co-chair, Symposium on History and Philosophy of Programming (HaPoP5), Lille, 2022
-
Special Issue Editor, Programming and Computing in Context, Philosophy & Technology, 2020
-
Track Chair, Symposium on New Ideas in Programming and Reflections on Software (Onward!), 2019
-
Steering Committee Member, Onward!, 2019 – present
-
Symposium Chair, Symposium on History and Philosophy of Programming (HaPoP4), Oxford, 2018
-
Workshop Co-chair, Salon des Refusés: Dialectics for New Computer Science, ‹Programming› 2018 and 2017
-
Council Member and Vice-President, Commission for the History and Philosophy of Computing, 2017 – 2021
-
Founding Board Member, The F# Software Foundation, 2014
Administration
-
Committee for Final State Exams in Master Study Programs, Charles University, 2024 – present
Nominated in September 2024. Awaiting to be approved in 2024/25.
-
Committee for Final State Exams in Bachelor Study Programs, Charles University, 2024 – present
Nominated in September 2024. Awaiting to be approved in 2024/25.
-
Academic Misconduct Panel Member, University of Kent, 2021 – 2022
Reviewed 30+ reports of plagiarism and other academic misconduct.
-
Year in Computing Review Committee Chair, University of Kent, 2021
Leading a review of programme teaching structure and implemented changes for 2022/23.
-
Year in Computing Admissions Officer, University of Kent, 2020 – 2022
Interviewed 100+ applicants for a programme offered to non-computer science students.