PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
June 1, 2013ACM Transactions on Computing Education316 citations

Notional machines and introductory programming education

View Full Paper
JSJuha Sorva

Key Points

Key points are not available for this paper at this time.

Abstract

This article brings together, summarizes, and comments on several threads of research that have contributed to our understanding of the challenges that novice programmers face when learning about the runtime dynamics of programs and the role of the computer in program execution. More specifically, the review covers the literature on programming misconceptions, the cognitive theory of mental models, constructivist theory of knowledge and learning, phenomenographic research on experiencing programming, and the theory of threshold concepts. These bodies of work are examined in relation to the concept of a “notional machine”—an abstract computer for executing programs of a particular kind. As a whole, the literature points to notional machines as a major challenge in introductory programming education. It is argued that instructors should acknowledge the notional machine as an explicit learning objective and address it in teaching. Teaching within some programming paradigms, such as object-oriented programming, may benefit from using multiple notional machines at different levels of abstraction. Pointers to some promising pedagogical techniques are provided.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Juha Sorva (2013) studied this question.

synapsesocial.com/papers/6a173f23ebb2105c0b2c367dhttps://doi.org/10.1145/2483710.2483713
Ask AI
Helpful
Bookmark
Share
View Full Paper