Learning elementary programming can be enhanced by introducing the notion of variable roles to students. This paper presents a web-based automatic role detection service that can ...
Software may contain functionality that does not align with its architecture. Such cross-cutting concerns do not exist from the beginning but emerge over time. By analysing where ...
We provide sufficient conditions that formally guarantee that the floating-point computation of a polynomial evaluation is faithful. To this end, we develop a formalization of ...
We argue that the failure to separate the concerns in CS1 is the leading cause of difficulty in teaching OOP in the first year. We show how the concerns can be detangled and prese...
Model merging is an important activity in software development. We often need to integrate a set of models coming from different sources so as to create a unified model encompass...