A mental model is an internal representation that explains how something works. Mental model construction is facilitated by self-explanation, the active generation of explanations for oneself. The overarching goal of this research is to empirically investigate the utility of self-explanation for developing mental models when learning to program. Programming is notoriously challenging and, despite evidence of the importance of mental models for learning, little work has focused on mental models of students learning how to program. They need correct mental models of the notional machine, an abstraction of the steps taken by a computer as it processes a program. Because students do not spontaneously self-explain, we are using a user-centered approach to design a computer tutor to prompt for self-explanation about the notional machine. Here, we present qualitative results on students’ interactions with an initial version of the tutor, including the form of their self-explanations and corresponding mental models.