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.
- In March 2023, I have replaced Numerus Fixus with Mandatory Matching for BSc TCS.
- 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.
Publications based on student work (by acceptance date)
(workshops, conferences, journals)
-
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.
(code)
(DOI)
-
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.
(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.
(code)
(DOI)
(PDF)
-
Marcus Gerhold,
Lola Solovyeva,
Vadim Zaytsev.
Leveraging Deep Learning for Python Version Identification, BENEVOL 2023. CEUR 3567.
(CEUR)
(PDF)
-
Marcus Gerhold,
Lola Solovyeva,
Vadim Zaytsev.
The Limits of the Identifiable: Challenges in Python Version Identification with Deep Learning, SANER 2024. RENE track.
(DOI)
(PDF)
-
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.
(DOI)
(PDF)
-
Marcus Gerhold,
Aliaksei Kouzel,
Haroun Mangal,
Selin Mehmed,
Vadim Zaytsev,
Modelling of Cyber-Physical Systems through Domain-Specific Languages: Decision, Analysis, Design,
MLE 2024.
(DOI)
(PDF)
-
Sophie Lathouwers,
Yujie Liu,
Vadim Zaytsev,
Extract, Model, Refine: Improved Modelling of Program Verification Tools through Data Enrichment,
SoSyM, 2024.
(PDF)
-
Stijn Broekhuis,
Vadim Zaytsev,
Improving JSON Schema Inference by Incorporating User Inputs,
BENEVOL 2024.
In print.
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.
- Exploring "learning by doing" through PBL and CBL, SEN Classrooms, 23 May 2024.
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 CS) 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 CS) 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 CS) Mart van Assen, Aimé Ntagengerwa, Ömer Sayilir, Crossover: Towards Compiler-Enabled COBOL-C Interoperability. September 2022 – September 2023.
- (CS CS) 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 CS) 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 CS) 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 Bui.
- (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.
Courses
- (BSc) Software Systems
- November 2020 – January 2021; coordinator: Tom van Dijk; my role: Design part redesign, all microlectures for the Design part, some microlectures for the Programming part, corresponding lectorials
(🏆IDEA🏆)
- November 2021 – January 2022; coordinator: Tom van Dijk; my role: Design exam codesign, lectorials corresponding to pre-recorded microlectures
- November 2022 – January 2023; coordinator: Tom van Dijk; my role: Career Skills redesign, Design exam codesign, lectorials corresponding to pre-recorded microlectures
- November 2023 – February 2024; coordinator: Tom van Dijk; my role: Design exam codesign, re-recording some microlectures, lectorials corresponding to microlectures
- (BSc) Programming Paradigms
- April–July 2024;
coordinator: Arnd Hartmanns; my role: lectures on compiler construction (graph-based and linear intermediate representations, procedure abstraction, passing parameters)
- (BSc) Design Project
- September–November 2021;
coordinator: Rom Langerak; my role: guiding one group; people involved: Aamir Farooq, Andrei Raureanu, Bozhidar Velinov, Julián Navarro Di Pasquale
- February–April 2022;
coordinator: Rom Langerak; my role: guiding one group; people involved: Boris Belchev, Pavel Hristov, Viktor Tonchev, Ivan Trendafilov, Irvine Verio
- September–November 2022;
coordinator: Rom Langerak; my role: guiding one group; people involved: Samuel Coste, Hans Goor, Tim Koree, Ronan Oostveen, Reinout Vos
- February–April 2023;
my role: guiding one group; people involved: André Andringa, Maouheb Bessi, Marc Souvannasouck, Jelle Veldmaat, Cristi Zubcu
- September–November 2023;
coordinator: Rom Langerak; my role: guiding one group together with Iman Hemati Moghadam; people involved: Alen Badrajan, Yancho Bozhilov, Ujjwal Dodeja, Jose Gavilanes, Georgios Valtas.
- (BSc) Research Project
- see above, all marked with “TCS BSc”
- (MSc) Capita Selecta
- see above, all marked with “CS CS”
- (MSc) Design of Software Architectures
- (MSc) Software Evolution (BabyCobol)
Current students (by start date; dim if not the main supervisor)
- (CS MSc) Nick Wolters, WAG — co-supervised with Marcus Gerhold
- (CS MSc) Lotte Steenmeijer, WAGIoT
- (CS CS) Peter Smit, CBS
- (CS MSc) Ivo Broekhof, Quality metrics for Scala — co-supervised with Rinse van Hees
- (CS MSc) Luc Timmerman, Cloud Optimisation — co-supervised with Fernando Castor
- (CS CS) Faisal Nizamudeen, JavaScript
- (CS MSc) Michael Janssen, Reverse Engineering Software Architecture Through Runtime Information — at InfoSupport
- (CS MSc) Anissa Donkers, Code Quality — co-supervised with Arthur Rump
- (CS MSc) Tom Meulenkamp, Relational parsing
- (CS CS) Daniel Mocanu, Pythonicity
- (TCS BSc) Thijs Beumer, JavaScript Code Modernity