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
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.
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.
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.
- (CS CS) Peter Smit, CBS: Providing FunCons for Simple Programming Language Semantics. August 2023 – August 2024. (code)
- (CS CS) 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)
Courses
- (MSc) Software Evolution (BabyCobol)
- (BSc) Software Systems / Software Design
-
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
-
February–April 2025
(Canvas);
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);
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);
coordinator: Rom Langerak;
my role: guiding one group;
students involved:
André Andringa,
Maouheb Bessi,
Marc Souvannasouck,
Jelle Veldmaat,
Cristian Zubcu.
-
September–November 2022
(Canvas);
coordinator: Rom Langerak;
my role: guiding one group;
students involved:
Samuel Coste,
Hans Goor,
Tim Koree,
Ronan Oostveen,
Reinout Vos.
-
February–April 2022
(Canvas);
coordinator: Rom Langerak;
my role: guiding one group;
students involved:
Boris Belchev,
Pavel Hristov,
Viktor Tonchev,
Ivan Trendafilov,
Irvine Verio.
-
September–November 2021
(Canvas);
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
Current students (by start date; dim if not the main supervisor)
- (CS MSc) Nick Wolters, Semi-parsing — co-supervised with Marcus Gerhold
- (CS CS) Wouter van den Brink, Code Modernity — co-supervised with Marcus Gerhold
- (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) Ken Yeh, TTC Replication
- (CS MSc) Anissa Donkers, Quality of AI-generated code — co-supervised with Arthur Rump
- (CS MSc) Tom Meulenkamp, Parsing Techniques
- (CS MSc) Michael Janssen, Process Mining
- (TCS BSc) Marius Pană, Language Workbenches — co-supervised with Aimé Ntagengerwa and Ömer Sayilir
- (TCS BSc) Enrique Ramos Adamik, Language Workbenches — co-supervised with Aimé Ntagengerwa and Ömer Sayilir
- (TCS BSc) Sorin Zele, Codebase Modernity — co-supervised with Marcus Gerhold
- (TCS BSc) Aleksandra Ignatovič, SEnTeX — co-supervised with Nhat Bui
- (TCS BSc) Bart Griepsma, SEnTeX — co-supervised with Nhat Bui
- (TCS BSc) Wouter ten Brinke, SEnTeX — co-supervised with Nhat Bui