Notional machines and introductory programming education

作者: Juha Sorva

DOI: 10.1145/2483710.2483713

关键词: Programming paradigmInductive programmingPhenomenographyConstructivism (philosophy of education)Relation (database)Software engineeringComputer scienceMathematics educationLearning theoryNotional amountTeaching method

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

参考文章(138)
D. Sleeman, Ralph T. Putnam, Juliet Baxter, Laiani Kuspa, Pascal and High School Students: A Study of Errors: Journal of Educational Computing Research. ,vol. 2, pp. 5- 23 ,(1986) , 10.2190/2XPP-LTYH-98NQ-BU77
Lynn Westbrook, Mental models: a theoretical overview and preliminary study Journal of Information Science. ,vol. 32, pp. 563- 579 ,(2006) , 10.1177/0165551506068134
Donna Teague, Raymond Lister, Malcolm Corney, Early relational reasoning and the novice programmer: swapping as the hello world of relational reasoning australasian computing education conference. pp. 95- 104 ,(2011)
Iain Milne, Glenn Rowe, Difficulties in Learning and Teaching Programming—Views of Students and Tutors Education and Information Technologies. ,vol. 7, pp. 55- 66 ,(2002) , 10.1023/A:1015362608943
Denis Besnard, David Greathead, Gordon Baxter, When mental models go wrong: co-occurrences in dynamic, critical systems International Journal of Human-computer Studies \/ International Journal of Man-machine Studies. ,vol. 60, pp. 117- 128 ,(2004) , 10.1016/J.IJHCS.2003.09.001
Thomas L. Naps, Guido Rößling, Vicki Almstrum, Wanda Dann, Rudolf Fleischer, Chris Hundhausen, Ari Korhonen, Lauri Malmi, Myles McNally, Susan Rodger, J. Ángel Velázquez-Iturbide, Exploring the role of visualization and engagement in computer science education ACM SIGCSE Bulletin. ,vol. 35, pp. 131- 152 ,(2003) , 10.1145/782941.782998
Ming Fai Pang, Two Faces of Variation: On continuity in the phenomenographic movement Scandinavian Journal of Educational Research. ,vol. 47, pp. 145- 156 ,(2003) , 10.1080/00313830308612
Michael P. Bruce-Lockhart, Theodore S. Norvell, Developing mental models of computer programming interactively via the web frontiers in education conference. ,(2007) , 10.1109/FIE.2007.4418051
Mariana Teif, Orit Hazzan, Partonomy and taxonomy in object-oriented thinking ACM SIGCSE Bulletin. ,vol. 38, pp. 55- 60 ,(2006) , 10.1145/1189136.1189170
J. Mark Pullen, The Network Workbench and Constructivism: Learning Protocols by Programming Computer Science Education. ,vol. 11, pp. 189- 202 ,(2001) , 10.1076/CSED.11.3.189.3836