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.
(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)
- Marcus Gerhold,
Lola Solovyeva,
Vadim Zaytsev.
The Limits of the Identifiable: Challenges in Python Version Identification with Deep Learning, SANER 2024. RENE track.
- 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)
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.
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
- November 2020 – January 2021; 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: Faizan Ahmed, Maarten Everts, Marcus Gerhold, Marieke Huisman, Ömer Şakar, Yeray Barrios Fleitas
(IDEA)
- November 2021 – January 2022; coordinator: Tom van Dijk; my role: exam design, Q&A sessions corresponding to pre-recorded microlectures; people involved: Faizan Ahmed, Maarten Everts, Marcus Gerhold, Marieke Huisman, Peter Lammich, Ömer Şakar, Yeray Barrios Fleitas
- November 2022 – January 2023; coordinator: Tom van Dijk; my role: exam design, Q&A sessions corresponding to pre-recorded microlectures; people involved: Faizan Ahmed, Georgiana Caltais, Mohammed El-Hajj, Marcus Gerhold, Marieke Huisman, Peter Lammich, Iman Hemati Moghadam, Ömer Şakar, Reza Soltani, Mahboobeh Zangiabady
- November 2023 – February 2024; coordinator: Tom van Dijk; my role: exam design, re-recording some microlectures, lectorials corresponding to microlectures; people involved: Faizan Ahmed, Petra van den Bos, Nhat Bui, Georgiana Caltais, Fernando Castor, Mohammed El-Hajj, Marcus Gerhold, Marieke Huisman, Iman Hemati Moghadam, Marijn Peppelman, Ömer Şakar, Reza Soltani, Mahboobeh Zangiabady
- November 2024 – January 2025; coordinator: Tom van Dijk; my role: exam co-design, lectorials corresponding to microlectures; people involved: Petra van den Bos, Marcus Gerhold, Ömer Sayilir, Aimé Ntagengerwa, Lola Solovyeva, Nhat Bui, Arthur Rump and others
- (BSc) Design Project
- September–November 2021;
my role: guiding one group; people involved: Aamir Farooq, Andrei Raureanu, Bozhidar Velinov, Julián Navarro Di Pasquale
- February–April 2022;
my role: guiding one group; people involved: Boris Belchev, Pavel Hristov, Viktor Tonchev, Ivan Trendafilov, Irvine Verio
- September–November 2022;
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;
my role: guiding one group together with Iman Hemati Moghadam; people involved: Alen Badrajan, Yancho Bozhilov, Ujjwal Dodeja, Jose Gavilanes, Georgios Valtas.
- February–April 2025;
my role: guiding one group together with Ömer Sayilir and Aimé Ntagengerwa; people involved: Ana Gavra, Diana Bîrjoveanu, Ovidiu Lascu, Florin Priboi, Alexandru Zambori, Răzvan Ştefan.
- (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