@inbook{3f30344f91804087b7f5b4db3b18b74d,
title = "Engage Against the Machine: Rise of the Notional Machines as Effective Pedagogical Devices",
abstract = "The term {"}the machine{"} is commonly used to refer to the complicated physical hardware running similarly complex software that ultimately executes programs. The idea that programmers write programs for a notional machine - an abstract model of an execution environment - not the machine itself, has risen to the point of gaining acceptance as a useful device in computing education. This has seeded a growing discussion about how explicitly utilizing notional machines in teaching can help students construct more accurate mental models, which is essential for learning programming. Much of the existing literature necessarily involves specific languages, visualization, and/or facilitating tools, and is not very accessible to many practitioners. Less focus has been put on how teachers can make explicit use of notional machines in their teaching. In this paper we describe notional machines and their use in a manner that is more accessible to a general educator audience in order to facilitate more effective computing education at all levels. We advocate explicitly delineating between visualization tools and the notional machines they depict, isolating and clarifying the notional machine so that it is conspicuous, apparent and useful. We present examples of how this approach can facilitate a more consistent method of teaching computing, and be used in more effective pedagogical practice for teaching computing.",
keywords = "code tracing, code writing, memory diagrams, notional machines, pedagogy, program construction, stack traces, visualization",
author = "Dickson, {Paul E.} and Brown, {Neil C.C.} and Becker, {Brett A.}",
year = "2020",
month = jun,
day = "15",
doi = "10.1145/3341525.3387404",
language = "English",
series = "Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE",
publisher = "Association for Computing Machinery",
pages = "159--165",
booktitle = "ITiCSE 2020 - Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education",
note = "25th ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2020 ; Conference date: 15-06-2020 Through 19-06-2020",
}