Johan Jeuring

ORCID: 0000-0001-5645-7681
Publications
Citations
Views
---
Saved
---
About
Contact & Profiles
Research Areas
  • Logic, programming, and type systems
  • Intelligent Tutoring Systems and Adaptive Learning
  • Teaching and Learning Programming
  • Software Engineering Research
  • Formal Methods in Verification
  • Online Learning and Analytics
  • Educational Games and Gamification
  • Parallel Computing and Optimization Techniques
  • Software Testing and Debugging Techniques
  • Semantic Web and Ontologies
  • Model-Driven Software Engineering Techniques
  • Algorithms and Data Compression
  • Advanced Database Systems and Queries
  • Advanced Software Engineering Methodologies
  • Logic, Reasoning, and Knowledge
  • Innovative Teaching and Learning Methods
  • semigroups and automata theory
  • Computability, Logic, AI Algorithms
  • Software Engineering Techniques and Practices
  • Distributed and Parallel Computing Systems
  • AI-based Problem Solving and Planning
  • Natural Language Processing Techniques
  • Artificial Intelligence in Games
  • Statistics Education and Methodologies
  • Topic Modeling

Utrecht University
2016-2025

Open University of the Netherlands
2012-2021

The Open University
2004-2019

Leibniz Institute for Resilience Research
2018

The Dialogue
2018

Hong Kong Metropolitan University
2003

Chalmers University of Technology
1995-1997

Centrum Wiskunde & Informatica
1992

Formative feedback, aimed at helping students to improve their work, is an important factor in learning. Many tools that offer programming exercises provide automated feedback on student solutions. We have performed a systematic literature review find out what kind of provided, which techniques are used generate the how adaptable is, and these evaluated. designed labelling classify tools, use Narciss’ content categories messages. report results coding total 101 tools. found mostly focuses...

10.1145/3231711 article EN ACM Transactions on Computing Education 2018-09-28

Large Language Models possess skills such as answering questions, writing essays or solving programming exercises. Since these models are easily accessible, researchers have investigated their capabilities and risks for education. This work explores how LLMs can contribute to education by supporting students with automated next-step hints. We investigate prompt practices that lead effective hints use insights build our StAP-tutor. evaluate this tutor conducting an experiment students,...

10.1145/3636243.3636259 article EN 2024-01-02

Many functions have to be written over and again for different datatypes, either because datatypes change during the development of programs, or with similar functionality are needed on datatypes. Examples such pretty printers, debuggers, equality functions, unifiers, pattern matchers, rewriting etc. Such called polytypic functions. A function is a that defined by induction structure user-defined This paper extends functional language (a subset Haskell) construct writing The extended type...

10.1145/263699.263763 article EN 1997-01-01

Because low quality code can cause serious problems in software systems, students learning to program should pay attention early. Although many studies have investigated mistakes that make during programming, we do not know much about the of their code. This study examines presence issues related flow, choice programming constructs and functions, clarity expressions, decomposition modularization a large set student Java programs. We which occur most frequently, if are able solve these over...

10.1145/3059009.3059061 article EN 2017-06-28

Game-based learning has proven to be effective and is widely used in science education, but usually the heterogeneity of student population being overlooked. To examine differential effects game interventions STEM (Science, Technology, Engineering Mathematics) related subjects on diverse groups, a meta-analysis been conducted that included 39 studies compared game-based with traditional classrooms primary early secondary education. We found moderate positive cognition (g = .67), motivation...

10.1080/03057267.2022.2057732 article EN cc-by Studies in Science Education 2022-03-29

While functionality and correctness of code has traditionally been the main focus computing educators, quality aspects are getting increasingly more attention. High-quality contributes to maintainability software systems, should therefore be a central aspect education. We have conducted systematic mapping study give broad overview research in field an educational context. The investigates paper characteristics, topics, methods, targeted programming languages. found 195 publications...

10.1145/3587102.3588777 article EN 2023-06-29

Abstract A distinct feature of educational games using augmented reality (AR) is that the game played through physically interacting with environment, whereas physical interaction typically rather limited in other digital games. Understanding and performing interactive mechanics can be cognitively demanding. Adding pre‐training could help students manage cognitive load during in‐game performance. However, traditional approaches (eg, paper‐based or video sequences) might not sufficient, given...

10.1111/bjet.13565 article EN cc-by-nc British Journal of Educational Technology 2025-01-10

10.1007/s40593-015-0080-x article EN International Journal of Artificial Intelligence in Education 2016-02-05

In the last few decades, numerous tutoring systems and assessment tools have been developed to support students with learning programming, giving hints on correcting errors, showing which test cases do not succeed, grading their overall solutions. The focus has less helping write code good style quality. There are several professional that can help, but they targeted at novice programmers.

10.1145/3408877.3432526 article EN 2021-03-03

Haskell's deriving mechanism supports the automatic generation of instances for a number functions. The Haskell 98 Report only specifies how to generate Eq, Ord, Enum, Bounded, Show, and Read classes. description is largely informal. imposes restrictions on shape datatypes, depending particular class derive. As consequence, portability across different compilers not guaranteed.

10.1145/1863523.1863529 article EN 2010-09-28

This report defines notional machines (NMs), and provides a series of definitional characteristics by which they may be identified. Over several sections, it includes first-hand the origin NMs, reports systematic literature review to track use development concept, presents small collection examples collected through interviews with experienced teachers. Additionally, NMs in common format, makes some preliminary explorations their practice, including instructors using multiple sequence....

10.1145/3437800.3439202 article EN 2020-06-17

Every year, millions of students learn how to write programs. Learning activities for beginners almost always include programming tasks that require a student program solve particular problem. When learning such task, many need feedback on their previous actions, and hints proceed. For as programming, which are most often solved stepwise, the should take steps has taken towards implementing solution into account, help complete or improve possibly partial solution.

10.1145/3571785.3574124 article EN 2022-12-27

10.1016/j.scico.2003.07.001 article EN Science of Computer Programming 2004-03-29

Datatype-generic programming is defining functions that depend on the structure, or "shape", of datatypes. It has been around for more than 10 years, and a lot progress made, in particular lazy functional language Haskell. There are morethan proposals generic libraries orlanguage extensions To compare characterise many atyped language, we introduce set criteria develop benchmark: characteristic examples testing various facets datatype-generic programming. We have implemented benchmark nine...

10.1145/1411286.1411301 article EN 2008-09-25

Many datatype-generic functions need access to the recursive positions in structure of datatype, and therefore adopt a fixed point view on datatypes. Examples include variants fold that traverse data following structure, or Zipper enables navigation along positions. However, Hindley-Milner-inspired type systems with algebraic datatypes make it difficult express points for anything but regular real-life examples such as abstract syntax trees are fact mutually excluded. Using Haskell's GADTs...

10.1145/1596550.1596585 article EN 2009-08-31

Context. Code quality is a key issue in software development. The ability to develop high therefore learning goal of computing programs. However, there are no universally accepted measures assess the code and current standards considered weak. Furthermore, many facets quality. Defining explaining concept challenge faced by educators.

10.1145/3174781.3174785 article EN 2018-01-30

Code quality has been receiving less attention than program correctness in both the practice of and research into programming education. Writing poor code might be a sign carelessness, or not fully understanding concepts language constructs. Teachers play an important role addressing issues, encouraging students to write better as early possible.

10.1145/3304221.3319780 article EN 2019-07-02

We introduce an interactive tutor that supports the stepwise development of simple functional programs. Using this tutor, students receive feedback about whether or not they are on right track, can ask for a hint when stuck, and get suggestions how to refactor their program. Our generates semantically rich from model solutions, using advanced concepts software technology. show teacher add exercise fine-tune feedback. report experiment in which we used our tutor.

10.1145/2325296.2325356 article EN 2012-07-03
Coming Soon ...