The role of mental models in programming: from experiment to requirements for an interactive system

We will outline some basic psychological aspects in the process of programming and discuss them in a first case study showing different developments of mental models. We will exemplify the role of visualization for the support of mental models, working memory and knowledge structure and consequent thinking. In a second case study we will demonstrate the possibility of graphical representation of command language with predefined syntax but semantic flexibility.