The three-year Technical Computer Science programme is a balanced all-round program
that turns fascination of computers into concrete knowledge and technical expertise.
The two-year Computer Science programme is less technical only in the name,
and focuses on the development of ICT systems, as well as on their societal
context. It offers four specialisations: Software Technology with a bias towards
software engineering and modelling; Cyber Security with a bias towards data management
and analytics; Data Science and Technology with a bias towards machine learning;
and Internet Science and Technology with a bias towards ubiquitous computing.
Timeline
- I joined the Formal Methods & Tools
group as an Associate Professor of software evolution in July 2021, with the intention
also to strenthen the teaching capabilities of an already advanced team.
- I started co-teaching the first MSc course in September 2020, co-teaching the first BSc course in November 2020, and did the first solo MSc course in February 2021.
- From May 2021, I am the Programme Director of both BSc TCS and MSc CS.
- From June 2021, I am responsible for introducing Numerus Fixus for BSc TCS.
(U-Today)
(UT News)
(U-Today)
(U-Today)
(U-Today)
(I/O Vivat)
- In 2023, the UT Master of Computer Science was deemed the best general computer science programme in the country by the reputable independent study comparison agency Keuzegids.
- In 2024, the UT Master of Computer Science was again deemed the best general computer science programme in the country by the same reputable independent study comparison agency Keuzegids.
- Some other media appearances:
-
At the yearly graduation ceremonies of BSc TCS, when handling out diplomas, I have prepared and delivered
66 (in 2021),
77 (in 2022),
108 (in 2023),
114 (in 2024),
and
133 (in 2025)
personal congratulatory speeches, partially based on feedback provided by supervisors.
Publications based on student work (by acceptance date)
-
Aamir Farooq,
Vadim Zaytsev.
There Is More Than One Way to Zen Your Python, SLE 2021, pp. 68–82, ACM.
(project page)
(DOI)
- Marnick van der Arend.
Language-Agnostic Multi-Paradigm Code Quality Assurance Framework, BENEVOL 2022. CEUR 3245.
(PDF)
(CEUR)
- Wouter van den Brink,
Marcus Gerhold,
Vadim Zaytsev.
Deriving Modernity Signatures for PHP Systems with Static Analysis, SCAM 2022, pp. 181–185, IEEE.
(DOI)
(code)
- Arthur Rump,
Vadim Zaytsev.
A Refined Model of Ill-definedness in Project-Based Learning, EduSymp 2022, pp. 115–122, ACM.
(DOI)
(blog)
- Daniël Floor,
Rinse van Hees,
Vadim Zaytsev.
Code Comprehension in a Multi-Paradigm Environment, SATToSE 2023. CEUR 3483. September 2023.
(CEUR)
- Rutger Witmans,
Vadim Zaytsev.
Perfecting Nothingness by Refactoring Whitespace, SATToSE 2023. CEUR 3483.
(code)
(CEUR)
- Mart van Assen,
Aimé Ntagengerwa,
Ömer Sayilir,
Vadim Zaytsev.
Crossover: Towards Compiler-Enabled COBOL-C Interoperability, GPCE 2023, ACM.
(DOI)
(code)
- Marcus Gerhold,
Lola Solovyeva,
Vadim Zaytsev.
Leveraging Deep Learning for Python Version Identification, BENEVOL 2023. CEUR 3567. November 2023.
(CEUR)
- Marcus Gerhold,
Lola Solovyeva,
Vadim Zaytsev.
The Limits of the Identifiable: Challenges in Python Version Identification with Deep Learning, SANER 2024. RENE track. July 2024.
(DOI)
-
Chris Admiraal,
Wouter van den Brink,
Marcus Gerhold,
Vadim Zaytsev,
Christian Zubcu.
Deriving Modernity Signatures of Codebases with Static Analysis,
JSS 211,
May 2024.
(DOI)
-
Iman Hemati Moghadam,
Matthias Sleurink,
Vadim Zaytsev.
Surpassing Threshold Barriers: Evaluating the Efficacy of Nature-Inspired Algorithms in Detecting Applied Refactorings.
ICCTA 2024. August 2024.
(DOI)
(data)
-
Marcus Gerhold,
Aliaksei Kouzel,
Haroun Mangal,
Selin Mehmed,
Vadim Zaytsev.
Modelling of Cyber-Physical Systems through Domain-Specific Languages: Decision, Analysis, Design.
MLE 2024. October 2024.
(DOI)
-
Sophie Lathouwers,
Yujie Liu,
Vadim Zaytsev.
Extract, Model, Refine: Improved Modelling of Program Verification Tools through Data Enrichment.
SoSyM,
January 2025.
(DOI)
-
Stijn Broekhuis,
Vadim Zaytsev.
Improving JSON Schema Inference by Incorporating User Inputs,
BENEVOL 2024. CEUR 3941. March 2025.
(CEUR)
-
Iman Hemati Moghadam,
Oebele Lijzenga,
Vadim Zaytsev.
Leveraging Search-Based and Pre-Trained Code Language Models for Automated Program Repair,
SAC/SE 2025.
(DOI)
-
Iman Hemati Moghadam,
Oebele Lijzenga,
Vadim Zaytsev.
Comparative Analysis of Pre-Trained Models for Automated Program Repair via Code Infill Generation,
GPCE 2025.
(DOI)
-
Wouter ten Brinke,
Bart Griepsma,
Aleksandra Ignatovič,
Nhat,
Vadim Zaytsev.
On the Structuring of LaTeX Projects,
BENEVOL 2025.
Publications / presentations on educational topics (by presentation date)
- The Art of Distancing, Computer Science Educational Day, 21 January 2021.
- DEUS VULT: The Holy Wars of Computer Science, Inter-Actief Lecture, 30 November 2021.
- 32 Hour Curriculum, student—teacher debate, Month of Education, 2 June 2022.
- The Future of Education in the Era of Generative AI, panel, ICT.OPEN, 16 April 2025.
- The Impact of Generative Artificial Intelligence Tools in Project-Based Learning (with Tom van Dijk), ISoLA, 2025.
- Expert Vibing, Inter-Actief Lunch Lecture, 9 September 2025.
Supervised students (by defence date)
- (TCS BSc) Joël Ledelay. Retrofitting Memoization: An Exploratory Study. November 2020 – January 2021. Hosted by ActFact.
- (TCS BSc) Ewout van der Wal. Rosetta ANTLR: Ultimate Grammar Extractor. November 2020 – January 2021. Best Paper Award at TScIT34. (code)
- (TCS BSc) Frank Groeneveld. Benchmarking and Optimisation of Engage!-based XML Parsers. November 2020 – January 2021.
- (TCS BSc) Michael Mulder. Creating a Compiler for the Semi-Structured Language of Blazons. November 2020 – January 2021.
- (EmSys CaSe) Pieter Staal, Electronic Circuit Composition in Haskell using Category Theory. September 2020 – June 2021. (book)
- (TCS BSc) Aamir Farooq. How to Zen Your Python. April–July 2021. Best Paper Award at TScIT35.
- (TCS BSc) Marten Voorberg. Performance Analysis of Membership Data Structures for Integers in Java. April–July 2021. Best Paper Nomination at TScIT35.
- (TCS BSc) Jan Douwe Beekman. Procedural Location Generation with Weighted Attribute Grammars. April–July 2021. Co-supervised with Marcus Gerhold.
- (TCS BSc) Ruiyuan Li. Generative Probabilistic Programming in Games: Creating Character Backgrounds Using a Bayesian Network. April–July 2021. Co-supervised with Marcus Gerhold.
- (CS MSc) Rick H. de Vries. Clash of Clangs: Differential Testing of srcML and Clang. October 2020 – July 2021.
- (CS MSc) Bui Hong Thien Nhat. Negomancer: Improvise. Adapt. Overcome. Transform. November 2020 – September 2021.
- (TCS BSc) Ivo Broekhof. Replication and Analysis of the Berry-Sethi Parser for Ambiguous Regular Expressions. November 2021 – February 2022. (code)
- (EE IM) Daan Martin Oosterveld, Creating a C compiler 50 years after C using Rust and procedural macros. November 2021 – February 2022. (code)
- (TCS BSc) Yujie Liu, Help Rich Info Get Richer: Enriching a Semi-structured Dataset using a Semantic Web Approach. April–July 2022. Co-supervised with Sophie Lathouwers.
- (TCS BSc) Cato de Kruif, Using 𝛿-NFGs to Identify and Eliminate Dead Code in C# Programs. April–July 2022.
- (TCS BSc) Gerk-Jan Huisma, Recursive Island Parsing: Monadic Lake Parser Combinators. November 2021 – July 2022.
- (TCS BSc) Jelle Hulter, Improving the Integrated Development Environment of a Legacy Software Platform. April–July 2022.
- (TCS BSc) Tom Meulenkamp, Parser Benchmarking for Legacy Languages. April–July 2022.
- (TCS BSc) Luc Timmerman, Performance Testing Owl, Parser Generator for Visibly Pushdown Grammars. April–July 2022.
- (TCS BSc) Mark van Wijk, The Quest for the Best Thread-Safe Java List. April–July 2022.
- (TCS BSc) Leonardo Pasquarelli, Extending Java Collections for List and Set Data Structures. January–July 2022.
- (TCS BSc) Berke Güdücü, Weighted Abstract Syntax Trees for Program Comprehension in Java. April–July 2022. Co-supervised with Marcus Gerhold.
- (TCS BSc) Wouter van den Brink, Weighed and Found Legacy: Modernity Signatures for PHP Systems Using Static Analysis. April–July 2022. Co-supervised with Marcus Gerhold.
- (TCS BSc) Aron Davids, Identifying Plot Holes in Narrative Stories by Simulating Events. April–July 2022.
- (TCS BSc) Bas Marcelis, A Derivative-based, Colored-edged Parser Generator for Nested Words. November 2022 – February 2023. Best Paper Award at TScIT38.
- (TCS BSc) Pepijn Visser, xBib: The Language design and implementation of a Transformation Language. November 2022 – February 2023. (code)
- (TCS BSc) Rutger Witmans, Improving nothingness: Refactorings on Whitespace. November 2022 – February 2023. (code)
- (TCS BSc) Michael Janssen, A Parser Generator for Visibly Pushdown Languages: Translating between VPLs. November 2022 – February 2023.
- (TCS BSc) Chris Admiraal, Calculating the Modernity of Popular Python Projects. November 2022 – February 2023. Co-supervised with Marcus Gerhold.
- (TCS BSc) Kristian Nedelchev, Performance evaluation of Map implementations in Java, Python and C#. November 2022 – February 2023.
- (CS MSc) Marnick van der Arend, The LAMP Framework — A Language-Agnostic Code Quality Assurance Framework for Multi-Paradigm Languages. May 2022 – March 2023. Hosted by InfoSupport. (code)
- (CS MSc) Andrei Popa, Gotta Adjust Them All! Dynamic Difficulty Adjustment of Role-Playing Games through Procedural Generation of Non-Player Characters. March 2022 – May 2023. Co-supervised with Marcus Gerhold. (code)
- (CS-ST CaSe) Ellen Wittingen, Compiler Optimizations for Power Usage and Program Size. January–June 2023.
- (TCS BSc) Tom Smeets, µScope: A Reusable Interface For Debugging STM32 Microcontrollers. April–July 2023. Hosted by DEMCON. (code) (plugin)
- (TCS BSc) Vladimir Kobzev, Dia: a Domain Specific Language for Scripted Dialogues and Cutscenes. April–July 2023. Co-supervised with Marcus Gerhold.
- (TCS BSc) Cristian Zubcu, Effect of Normalization Techniques on Modernity Signatures in Source Code Analysis. April–July 2023. Co-supervised with Marcus Gerhold.
- (TCS BSc) Sandu-Victor Mintuş, Supporting New Programming Language in RefDetect. April–July 2023. Co-supervised with Iman Hemati Moghadam.
- (CS-ST CaSe) Mart van Assen, Aimé Ntagengerwa, Ömer Sayilir, Crossover: Towards Compiler-Enabled COBOL-C Interoperability. September 2022 – September 2023.
- (CS-DST CaSe) Lola Solovyeva, Leveraging Machine Learning for Python Version Identification. April–October 2023. Co-supervised with Marcus Gerhold.
- (CS MSc) Max Hendriks, Consider it Parsed! March 2022 – October 2023. (code)
- (CS MSc) Stijn Broekhuis, Incorporating User Inputs for Improved JSON Schema Inference. November 2022 – December 2023. (code)
- (CS MSc) Arthur Rump, Apollo++: Automated Assessment of Learning Outcomes in Programming Projects. November 2021 – December 2023. (code)
- (TCS BSc) Julian van Santen, Using LLM Chatbots to Improve the Learning Experience in Functional Programming Courses. February 2024. Co-supervised with Marco Gerards. Best Paper Award at TScIT40.
- (TCS BSc) Chris Bleeker, Measuring Code Modernity in Rust. November 2023 – February 2024. Co-supervised with Marcus Gerhold. (code)
- (TCS BSc) Everard de Vree, Forging a Differential Tester for Haskell Compilers using Xsmith. November 2023 – February 2024.
- (CS-ST CaSe) Suzanne van der Veen, NoWa: A Chomsky Normal Form Converter for Weighted Attribute Grammars. September 2022 – January 2024. (code)
- (CS MSc) Daniël Floor, Code Comprehension in the Multi-Paradigm Environment Kotlin. January 2023 – February 2024. Hosted by InfoSupport.
- (CS-ST CaSe) Valentijn Hol, Facilitating Various Metaprogramming Techniques for Rust. September 2023 – February 2024.
- (CS MSc) Ömer Sayilir, Towards Grammatical Inference of Legacy Programming Languages. July 2023 – May 2024. (code) (code) (code) (code)
- (CS MSc) Rafael Dulfer, WAGon: A Weighted Attribute Grammar Oriented Notation. November 2022 – June 2024. (documentation) (code)
- (TCS BSc) Vladislav Mukhachev, Support Python in RefDetect. April–July 2024. Co-supervised with Iman Hemati Moghadam.
- (TCS BSc) Aliaksei Kouzel, Developing a DSL Design Methodology for CPS Diagnostics. April–July 2024. Co-supervised with Marcus Gerhold.
- (TCS BSc) Haroun Mangal, CSPL: A Domain-Specific Language for Modelling the Behaviour of Cyber-Physical Systems. April–July 2024. Co-supervised with Marcus Gerhold.
- (TCS BSc) Selin Mehmed, Domain-Specific Language for Cyber-Physical Systems: A Survey. April–July 2024. Co-supervised with Marcus Gerhold.
- (TCS BSc) Marks Troicins, Measuring Code Modernity of the C# Language Codebases. April–July 2024. Co-supervised with Marcus Gerhold. (code)
- (TCS BSc) Marko Vasylenko, Input Invariants in Fuzz-testing. April–July 2024. (code)
- (TCS BSc) Danila Bren, Pushing Down Context Free Grammars. April–July 2024. (code)
- (CS MSc) Naum Tomov, Extensibility Of Domain-Specific Languages: A Case Study of an Industrial DSL. November 2023 – July 2024. Co-supervised with Nhat.
- (CS MSc) Filip Ivanov, CodeQuizzer: Improving Codebase Understanding for Code Review via a Gamified Quiz Taking System. October 2023 – July 2024. Co-supervised with Arjan van Hessen.
- (CS MSc) Oebele Lijzenga, Generating Patch Ingredients for Search-Based Program Repair Using Code Language Models. November 2023 – August 2024. Co-supervised with Iman Hemati Moghadam.
- (CS-ST CaSe) Peter Smit, CBS: Providing FunCons for Simple Programming Language Semantics. August 2023 – August 2024. (code)
- (CS-ST CaSe) Faisal Nizamudeen, JavaScript: Past, Present and Future. June–November 2024.
- (CS MSc) Lotte Steenmeijer, Use Weighted Attribute Grammars to Formalize Human-to-Machine Communication in Internet of Things System. February 2023 – January 2025.
- (TCS BSc) Thijs Beumer, Measuring Code Modernity of Codebases Written in JavaScript. November 2024 – January 2025. Co-supervised with Marcus Gerhold. (code)
- (CS MSc) Nick Wolters, Building a Grammar: Generating Samples for Weighted Attribute Grammars. November 2022 – May 2025. Co-supervised with Marcus Gerhold. (code)
- (CS MSc) Ivo Broekhof, Maintainability Metrics for Mixed-Paradigm Code in Scala. February 2024 – June 2025. Co-supervised with Rinse van Hees.
- (CS MSc) Luc Timmerman, SCREAM: System for Cloud Resource Extraction And Motivation. February 2024 – June 2025. Co-supervised with Fernando Castor. (code)
- (CS MSc) Faisal Nizamudeen, Benchmarking the Programming Capabilities of Large Language Models. October 2024 – June 2025.
- (BIT BSc) Aleksandra Ignatovič, How Academics Organize LaTeX Projects—and Whether Structure Should Be Standardized. April–June 2025. Co-supervised with Nhat.
- (TCS BSc) Marius Pană, Comparing Rascal and JetBrains MPS through a DOT-Based Domain-Specific Language. April–June 2025. Co-supervised with Ömer Sayilir. Best Paper Award at TScIT43.
- (TCS BSc) Enrique Ramos Adamik, Comparing the Validation Capabilities of the Rascal and Spoofax Language Workbenches. April–June 2025. Co-supervised with Ömer Sayilir. (code) Best Paper Nomination at TScIT43.
- (TCS BSc) Miroslav Atanasov, Fake it ’till you make it: exploring the usefulness of synthetic datasets to train machine learning models for self-admitted technical debt classification and identification. November 2024 – June 2025. Co-supervised with Tiago Prince Sales.
- (TCS BSc) Wouter ten Brinke, FlexiTeX: LaTeX Collaboration Without Giving Up Personal Project Structure. April–June 2025. Co-supervised with Nhat. (code)
- (TCS BSc) Bart Griepsma, Can We Standardize LaTeX? Discovering Patterns in Real-World Repositories. April–June 2025. Co-supervised with Nhat. (code)
- (TCS BSc) Sorin Zele, Codebase Modernity: one step forward. April–June 2025. Co-supervised with Marcus Gerhold.
- (CS-ST CaSe) Ping-Ching Yeh, Reproducibility in Model Transformation Artefacts from a Decade of Transformation Tool Contest. September 2024 – July 2025.
- (CS-ST CaSe) Wouter van den Brink, TurboModernity Requirements. November 2023 – July 2025. Co-supervised with Marcus Gerhold.
- (CS MSc) Anissa Donkers, Exploring Code Quality in First-Year Java Projects: A Comparative Study of Traditional and AI-Assisted Solutions. September 2024 – August 2025. Co-supervised with Arthur Rump.
- (CS MSc) Ping-Ching Yeh, From Modeling to Verification: Translating SysMLv2 to PNML-Compliant Petri Nets. July–August 2025. Co-supervised with Ömer Sayilir and Wallace Corbo Ugulino. (code)
- (CS MSc) Tom Meulenkamp, Relational Parsing: From Academics to Practice. October 2024 – September 2025. (code)
Courses
- (MSc) Software Evolution (BabyCobol)
- (BSc) Software Systems / Design and Modelling
-
November 2025 – February 2026
(Canvas);
coordinator: Fernando Castor de Lima Filho;
my role: exam co-design, re-recording some microlectures, lectorials corresponding to microlectures;
people involved: Petra van den Bos, Marcus Gerhold, many others for grading
-
November 2024 – January 2025
(Canvas);
coordinator: Tom van Dijk;
my role: exam co-design, lectorials corresponding to microlectures;
people involved: Petra van den Bos, Marcus Gerhold, many others for grading
-
November 2023 – February 2024
(Canvas);
coordinator: Tom van Dijk;
my role: exam design, re-recording some microlectures, lectorials corresponding to microlectures;
people involved: Petra van den Bos, Marcus Gerhold, others for the Programming part
-
November 2022 – January 2023
(Canvas);
coordinator: Tom van Dijk;
my role: exam design, Q&A sessions corresponding to pre-recorded microlectures;
people involved: Marcus Gerhold, Peter Lammich, others for the Programming part
-
November 2021 – January 2022
(Canvas);
coordinator: Tom van Dijk;
my role: exam design, Q&A sessions corresponding to pre-recorded microlectures;
people involved: Marcus Gerhold, Peter Lammich, others for the Programming part
-
November 2020 – January 2021
(Canvas)
(IDEA);
coordinator: Tom van Dijk;
my role: course redesign, all microlectures for the Design half, some microlectures for the Programming part, corresponding Q&A sessions;
people involved: Marcus Gerhold, others for the Programming part
- (BSc) Design Project
-
September–November 2025
(Canvas);
coordinator: Rom Langerak;
my role: guiding one group together with Nhat;
students involved:
Lisa te Braak,
Wouter van Gent,
Edwin Martens,
Maria Sandu,
Leonard Fabian Ţabrea,
Max van Zanten.
-
February–April 2025
(Canvas);
(link);
coordinator: Rom Langerak;
my role: guiding one group together with Ömer Sayilir and Aimé Ntagengerwa;
students involved:
Diana Bîrjoveanu,
Ana Gavra,
Ovidiu Lascu,
Florin Priboi,
Răzvan Ştefan,
Alexandru Zambori.
-
September–November 2023
(Canvas);
(link);
coordinator: Rom Langerak;
my role: guiding one group together with Iman Hemati Moghadam;
students involved:
Alen Badrajan,
Yancho Bozhilov,
Ujjwal Dodeja,
Jose Gavilanes,
Georgios Valtas.
-
February–April 2023
(Canvas);
(link);
coordinator: Rom Langerak;
my role: guiding one group;
students involved:
André Andringa,
Maouheb Bessi,
Marc Souvannasouck,
Jelle Veldmaat,
Cristian Zubcu.
-
September–November 2022
(Canvas);
(link);
coordinator: Rom Langerak;
my role: guiding one group;
students involved:
Samuel Coste,
Hans Goor,
Tim Koree,
Ronan Oostveen,
Reinout Vos.
-
February–April 2022
(Canvas);
(link);
coordinator: Rom Langerak;
my role: guiding one group;
students involved:
Boris Belchev,
Pavel Hristov,
Viktor Tonchev,
Ivan Trendafilov,
Irvine Verio.
-
September–November 2021
(Canvas);
(link);
coordinator: Rom Langerak;
my role: guiding one group;
students involved:
Aamir Farooq,
Julián Navarro Di Pasquale,
Andrei Raureanu,
Bozhidar Velinov.
- (MSc) Capita Selecta
- (MSc) Design of Software Architectures
- (BSc) Programming Paradigms / Compiler Construction
-
April–June 2024
(Canvas);
coordinator: Arnd Hartmanns;
my role: giving four lectures on graph-based IR, linear IR, call graphs, activation records, parameter passing and memory layout; exam co-design;
people involved: Iman Hemati Moghadam
Current students (by start date; dim if not the main supervisor)
- (CS MSc) Michael Janssen, Process Mining
- (CS MSc) Floris Heinen, transpilation
- (ScE MSc) Wouter van den Brink, modernity and quality of software — co-supervised with Marcus Gerhold
- (CS MSc) Douwe Ossinga, UML quality — co-supervised with Nacir Bouali