Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Notional machines and introductory programming education

Published: 01 July 2013 Publication History

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.

References

[1]
Adelson, B. and Soloway, E. 1985. The role of domain experience in software design. IEEE Trans. Softw. Eng. 11, 11, 1351--1360.
[2]
Andrianoff, S. K. and Levine, D. B. 2002. Role playing in an object-oriented world. SIGCSE Bull. 34, 1, 121--125.
[3]
Babbage, C. 1864. Passages from the Life of a Philosopher. Longman Green.
[4]
Bayman, P. and Mayer, R. E. 1983. A diagnosis of beginning programmers' misconceptions of BASIC programming statements. Comm. ACM 26, 9, 677--679.
[5]
Ben-Ari, M. 2001. Constructivism in computer science education. J. Comput. Math. Sci. Teach. 20, 1, 45--73.
[6]
Ben-Ari, M. and Yeshno, T. 2006. Conceptual models of software artifacts. Interact. Comput. 18, 6, 1336--1350.
[7]
Bennedsen, J. and Schulte, C. 2006. A competence model for object interaction in introductory programming. In Proceedings of the 18th Workshop of the Psychology of Programming Interest Group (PPIG'06). 215--229.
[8]
Bergin, J. 2000. Why procedural is the wrong first paradigm if OOP is the goal. http://csis.pace.edu/∼bergin/papers/Whynotproceduralfirst.html.
[9]
Berglund, A. and Lister, R. 2007. Debating the OO debate: where is the problem? In Proceedings of the 7th Baltic Sea Conference on Computing Education Research (Koli Calling'07). Australian Computer Society, 171--174.
[10]
Berglund, A. and Lister, R. 2010. Introductory programming and the didactic triangle. In Proceedings of the 12th Australasian Computing Education Conference (ACE'10). Australian Computer Society, 35--44.
[11]
Besnard, D., Greathead, D., and Baxter, G. 2004. When mental models go wrong: co-occurrences in dynamic, critical systems. Int. J. Hum. Comput. Stud. 60, 1, 117--128.
[12]
Bhuiyan, S. H., Greer, J. E., and McCalla, G. I. 1990. Mental models of recursion and their use in the SCENT programming advisor. In Proceedings of the International Conference on Knowledge Based Computer Systems (KBCS'89). Springer, 135--144.
[13]
Bonar, J. and Soloway, E. 1985. Preprogramming knowledge: A major source of misconceptions in novice programmers. Hum. Comput. Interact. 1, 2, 133--161.
[14]
Booth, S. 1992. Learning to program: A phenomenographic perspective. Doctoral dissertation, University of Gothenburg.
[15]
Bruce, C., Buckingham, L., Hynd, J., McMahon, C., Roggenkamp, M., and Stoodley, I. 2004. Ways of experiencing the act of learning to program: A phenomenographic study of introductory programming students at university. J. Inf. Technol. Educ. 3, 143--160.
[16]
Bruce, K. B. 2004. Controversy on how to teach CS 1: A discussion on the SIGCSE-members mailing list. SIGCSE Bull. 36, 4, 29--34.
[17]
Bruce-Lockhart, M. P. and Norvell, T. S. 2007. Developing mental models of computer programming interactively via the Web. In Proceedings of the 37th Annual Frontiers in Education Conference (FIE'07). IEEE, S3H--3--S3H--8.
[18]
Börstler, J. and Schulte, C. 2005. Teaching object oriented modelling with CRC cards and roleplaying games. In Proceedings of the 8th IFIP World Conference on Computers in Education (WCCE'05). IFIP TC-3.
[19]
Cañas, J. J., Bajo, M. T., and Gonzalvo, P. 1994. Mental models and computer programming. Int. J. Hum. Comput. Stud. 40, 5, 795--811.
[20]
Caspersen, M. E. 2007. Educating novices in the skills of programming. Doctoral dissertation, Department of Computer Science, University of Aarhus.
[21]
Chen, C.-L., Cheng, S.-Y., and Lin, J. M.-C. 2012. A study of misconceptions and missing conceptions of novice Java programmers. In Proceedings of the International Conference on Frontiers in Education: Computer Science and Computer Engineering (FECS'12).
[22]
Corney, M., Lister, R., and Teague, D. 2011. Early relational reasoning and the novice programmer: swapping as the “Hello World” of relational reasoning. In Proceedings of the 13th Australasian Conference on Computing Education (ACE'11). Australian Computer Society, 95--104.
[23]
Cousin, G. 2006. An introduction to threshold concepts. Planet 17, 4--5.
[24]
de Kleer, J. and Brown, J. S. 1981. Mental models of physical mechanisms and their acquisition. In Cognitive Skills and Their Acquisition, J. R. Anderson, Ed., Lawrence Erlbaum, 285--309.
[25]
de Kleer, J. and Brown, J. S. 1983. Assumptions and ambiguities in mechanistic mental models. In Mental Models, D. Gentner and A. L. Stevens, Eds., Lawrence Erlbaum, 155--190.
[26]
Dijkstra, E. W., et al. 1989. A debate on teaching computing science {in response to Dijkstra's On the Cruelty of Really Teaching Computing Science}. Comm. ACM 32, 12, 1397--1414.
[27]
Doukakis, D., Grigoriadou, M., and Tsaganou, G. 2007. Understanding the programming variable concept with animated interactive analogies. In Proceedings of the The 8th Hellenic European Research on Computer Mathematics & Its Applications Conference (HERCMA'07).
[28]
Détienne, F. 1997. Assessing the cognitive consequences of the object-oriented approach: a survey of empirical research on object-oriented design by individuals and teams. Interact. Comput. 9, 1, 47--72.
[29]
Détienne, F. and Soloway, E. 1990. An empirically-derived control structure for the process of program understanding. Int. J. Man. Mach. Stud. 33, 3, 323--342.
[30]
du Boulay, B. 1986. Some difficulties of learning to program. J. Educ. Comput. Res. 2, 1, 57--73.
[31]
du Boulay, B., O'Shea, T., and Monk, J. 1981. The black box inside the glass box: presenting computing concepts to novices. Int. J. Man. Mach. Stud. 14, 237--249.
[32]
Eckerdal, A. and Thuné, M. 2005. Novice Java programmers' conceptions of “object” and “class”, and variation theory. SIGCSE Bull. 37, 3, 89--93.
[33]
Eckerdal, A., Thuné, M., and Berglund, A. 2005. What does it take to learn ‘programming thinking’? In Proceedings of the International Workshop on Computing Education Research (ICER'05). ACM, 135--142.
[34]
Elliott Tew, A. 2010. Assessing fundamental introductory computing concept knowledge in a language independent manner. Doctoral dissertation, School of Interactive Computing, Georgia Institute of Technology.
[35]
Fitzgerald, S., Lewandowski, G., McCauley, R., Murphy, L., Simon, B., Thomas, L., and Zander, C. 2008. Debugging: finding, fixing and flailing, a multi-institutional study of novice debuggers. Comput. Sci. Educ. 18, 2, 93--116.
[36]
Fleury, A. E. 1991. Parameter passing: the rules the students construct. SIGCSE Bull. 23, 1, 283--286.
[37]
Fleury, A. E. 2000. Programming in Java: student-constructed rules. SIGCSE Bull. 32, 1, 197--201.
[38]
Gentner, D. and Gentner, D. R. 1983. Flowing waters or teeming crowds: mental models of electricity. In Mental Models, D. Gentner and A. L. Stevens, Eds., Lawrence Erlbaum, 99--130.
[39]
Gentner, D. and Stevens, A. L. 1983. Mental Models. Lawrence Erlbaum.
[40]
George, C. E. 2000a. EROSI—visualising recursion and discovering new errors. SIGCSE Bull. 32, 1, 305--309.
[41]
George, C. E. 2000b. Experiences with novices: the importance of graphical representations in supporting mental models. In Proceedings of the 12th Workshop of the Psychology of Programming Interest Group (PPIG'00). 33--44.
[42]
Goldman, K., Gross, P., Heeren, C., Herman, G., Kaczmarczyk, L., Loui, M. C., and Zilles, C. 2008. Identifying important and difficult concepts in introductory computing courses using a delphi process. SIGCSE Bull. 40, 1, 256--260.
[43]
Greening, T. 1999. Emerging constructivist forces in computer science education: shaping a new future. In Computer Science Education in the 21st Century, T. Greening, Ed., Springer, 47--80.
[44]
Greening, T. and Kay, J. 2001. Editorial. Comput. Sci. Educa. 11, 3, 189--202.
[45]
Gries, D. 2008. A principled approach to teaching OO first. SIGCSE Bull. 40, 1, 31--35.
[46]
Götschi, T., Sanders, I., and Galpin, V. 2003. Mental models of recursion. SIGCSE Bull. 35, 1, 346--350.
[47]
Henriksen, P. 2007. SIGCSE 2007 DC Application. http://www.cs.kent.ac.uk/archive/people/staff/ph53/SIGCSE2007DCApplication--PoulHenriksen.html.
[48]
Holland, S., Griffiths, R., and Woodman, M. 1997. Avoiding object misconceptions. SIGCSE Bull. 29, 1, 131--134.
[49]
Hristova, M., Misra, A., Rutter, M., and Mercuri, R. 2003. Identifying and correcting Java programming errors for introductory computer science students. SIGCSE Bull. 35, 1, 153--156.
[50]
Hundhausen, C. D., Douglas, S. A., and Stasko, J. T. 2002. A meta-study of algorithm visualization effectiveness. J. Visual Lang. Comput. 13, 3, 259--290.
[51]
Johnson-Laird, P. N. 1983. Mental Models: Towards a Cognitive Science of Language, Inference and Consciousness. Harvard University Press.
[52]
Kaczmarczyk, L. C., Petrick, E. R., East, J. P., and Herman, G. L. 2010. Identifying student misconceptions of programming. In Proceedings of the 41st ACM Technical Symposium on Computer Science Education (SIGCSE'10). ACM, 107--111.
[53]
Kahney, H. 1983. What do novice programmers know about recursion? In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI'83). ACM, 235--239.
[54]
Kempton, W. 1986. Two theories of home heat control. Cognit. Sci. 10, 75--90.
[55]
Kessel, C. J. and Wickens, C. D. 1982. The transfer of failure-detection skills between monitoring and controlling dynamic systems. Hum. Factors 24, 1, 49--60.
[56]
Kessler, C. M. and Anderson, J. R. 1986. Learning flow of control: recursive and iterative procedures. Hum. Comput. Interact. 2, 2, 135--166.
[57]
Klein, G. A. 1999. Sources of Power: How People Make Decisions. MIT Press.
[58]
Kölling, M. 2008. Using BlueJ to introduce programming. In Reflections on the Teaching of Programming: Methods and Implementations, J. Bennedsen, M. E. Caspersen, and M. Kölling, Eds., Springer, 98--115.
[59]
Kunkle, W. M. 2010. The impact of different teaching approaches and languages on student learning of introductory programming concepts. Doctoral dissertation. Drexel University.
[60]
Lahtinen, E., Ala-Mutka, K., and Järvinen, H.-M. 2005. A study of the difficulties of novice programmers. SIGCSE Bull. 37, 3, 14--18.
[61]
Land, R. and Meyer, J. H. F., Eds. 2008. Threshold Concepts within the Disciplines. Sense Publishers.
[62]
Larochelle, M., Bednarz, N., and Garrison, J., Eds. 1998. Constructivism and Education. Cambridge University Press.
[63]
Lister, R., Adams, E. S., Fitzgerald, S., Fone, W., Hamer, J., Lindholm, M., McCartney, R., Moström, J. E., Sanders, K., Seppälä, O., Simon, B., and Thomas, L. 2004. A multi-national study of reading and tracing skills in novice programmers. SIGCSE Bull. 36, 4, 119--150.
[64]
Lister, R., Berglund, A., Clear, T., Bergin, J., Garvin-Doxas, K., Hanks, B., Hitchner, L., Luxton-Reilly, A., Sanders, K., Schulte, C., and Whalley, J. L. 2006. Research perspectives on the objects-early debate. SIGCSE Bull. 38, 4, 146--165.
[65]
Ma, L. 2007. Investigating and improving novice programmers' mental models of programming concepts. Doctoral dissertation, Department of Computer & Information Sciences, University of Strathclyde.
[66]
Madison, S. and Gifford, J. 1997. Parameter passing: The conceptions novices construct. Res. rep. http://eric. ed.gov/PDFS/ED406211.pdf.
[67]
Markman, A. B. and Gentner, D. 2001. Thinking. Ann. Rev. Psychol. 52, 223--247.
[68]
Marton, F. 2000. The structure of awareness. In Phenomenography, J. A. Bowden and E. Walsh, Eds., RMIT University Press, 102--116.
[69]
Marton, F. and Booth, S. 1997. Learning and Awareness. Lawrence Erlbaum.
[70]
Marton, F., Runesson, U., and Tsui, A. B. M. 2004. The space of learning. In Classroom Discourse and the Space of Learning, F. Marton and A. B. M. Tsui, Eds., Lawrence Erlbaum, 3--40.
[71]
Mayer, R. E. 1976. Some conditions of meaningful learning for computer programming: advance organizers and subject control of frame order. J. Educ. Psychol. 68, 143--150.
[72]
Mayer, R. E. 1981. The psychology of how novices learn computer programming. ACM Comput. Surv. 13, 1, 121--141.
[73]
Menand, L. 1997. Pragmatism: A Reader. Vintage.
[74]
Meyer, J. H. F. and Land, R. 2003. Threshold concepts and troublesome knowledge: linkages to ways of thinking and practising within the disciplines. In Improving Student Learning—Ten Years On, C. Rust, Ed., Oxford Centre for Staff and Learning Development.
[75]
Meyer, J. H. F. and Land, R., Eds. 2006. Overcoming Barriers to Student Understanding: Threshold Concepts and Troublesome Knowledge. Routledge.
[76]
Miller, L. A. 1981. Natural language programming: styles, strategies, and contrasts. IBM Syst. J. 20, 2, 184--215.
[77]
Milne, I. and Rowe, G. 2002. Difficulties in learning and teaching programming—views of students and tutors. Edu. Inf. Technol. 7, 1, 55--66.
[78]
Morgan, D. L. 2007. Paradigms lost and pragmatism regained. J. Mixed Methods Res. 1, 1, 48--76.
[79]
Murphy, L., McCauley, R., and Fitzgerald, S. 2012. “Explain in plain english” questions: implications for teaching. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE'12). ACM, New York, 385--390.
[80]
Naps, T. L., Rössling, G., Almstrum, V., Dann, W., Fleischer, R., Hundhausen, C., Korhonen, A., Malmi, L., McNally, M., Rodger, S., and Velázquez-Iturbide, J. Á. 2003. Exploring the role of visualization and engagement in computer science education. SIGCSE Bull. 35, 2, 131--152.
[81]
Norman, D. A. 1983. Some observations on mental models. In Mental Models, D. Gentner and A. L. Stevens, Eds., Lawrence Erlbaum, 7--14.
[82]
Pane, J. F., Ratanamahatana, C. A., and Myers, B. A. 2001. Studying the language and structure in non-programmers' solutions to programming problems. Int. J. Hum. Comput. Stud. 54, 2, 237--264.
[83]
Pang, M. F. 2003. Two faces of variation: on continuity in the phenomenographic movement. Scand. J. Educ. Res. 47, 2, 145--156.
[84]
Pea, R. D. 1986. Language-independent conceptual “bugs” in novice programming. J. Educ. Comput. Res. 2, 1, 25--36.
[85]
Perkins, D. 2006. Constructivism and troublesome knowledge. In Overcoming Barriers to Student Understanding: Threshold Concepts and Troublesome Knowledge, J. H. F. Meyer and R. Land, Eds., Routledge, 33--47.
[86]
Perkins, D. N., Hancock, C., Hobbs, R., Martin, F., and Simmons, R. 1986. Conditions of learning in novice programmers. J. Educ. Comput. Res. 2, 1, 37--55.
[87]
Perkins, D. N., Schwartz, S., and Simmons, R. 1990. Instructional strategies for the problems of novice programmers. In Teaching and Learning Computer Programming: Multiple Research Perspectives, R. E. Meyer, Ed., Lawrence Erlbaum, 153--178.
[88]
Perlis, A. J. 1982. Epigrams on programming. SIGPLAN Not. 17, 9, 7--13.
[89]
Phillips, D. C. 1995. The good, the bad, and the ugly: the many faces of constructivism. Educ. Res. 24, 7, 5--12.
[90]
Phillips, D. C., Ed. 2000. Constructivism in Education: Opinions and Second Opinions on Controversial Issues. National Society For The Study Of Education.
[91]
Putnam, R. T., Sleeman, D., Baxter, J. A., and Kuspa, L. K. 1986. A summary of misconceptions of high school BASIC programmers. J. Educ. Comput. Res. 2, 4, 459--72.
[92]
Ragonis, N. and Ben-Ari, M. 2005a. A long-term investigation of the comprehension of OOP concepts by novices. Comput. Sci. Educ. 15, 3, 203--221.
[93]
Ragonis, N. and Ben-Ari, M. 2005b. On understanding the statics and dynamics of object-oriented programs. SIGCSE Bull. 37, 1, 226--330.
[94]
Ramadhan, H. A., Deek, F., and Shilab, K. 2001. Incorporating software visualization in the design of intelligent diagnosis systems for user programming. Artif. Intell. Rev. 16, 61--84.
[95]
Sajaniemi, J. and Kuittinen, M. 2008. From procedures to objects: a research agenda for the psychology of object-oriented programming in education. Hum. Technol. 4, 1, 75--91.
[96]
Sajaniemi, J., Kuittinen, M., and Tikansalo, T. 2008. A study of the development of students' visualizations of program state during an elementary object-oriented programming course. J. Educ. Res. Comput. 7, 4, 1--31.
[97]
Samurçay, R. 1989. The concept of variable in programming: its meaning and use in problem-solving by novice programmers. In Studying the Novice Programmer, R. E. Mayer, Ed., Lawrence Erlbaum Associates, 161--178.
[98]
Savery, J. R. and Duffy, T. M. 1995. Problem based learning: an instructional model and its constructivist framework. In Constructivist Learning Environments: Case Studies in Instructional Design, B. Wilson, Ed., Educational Technology Publications, 135--150.
[99]
Schulte, C. and Bennedsen, J. 2006. What do teachers teach in introductory programming? In Proceedings of the 2nd International Workshop on Computing Education Research (ICER'06). ACM, 17--28.
[100]
Schumacher, R. M. 1987. Acquisition of mental models. In Proceedings of the 4th Annual Mid-Central Human Factors/Ergonomics Conference. Springer, 142--148.
[101]
Schumacher, R. M. and Czerwinski, M. P. 1992. Mental models and the acquisition of expert knowledge. In The Psychology of Expertise: Cognitive Research and Empirical AI, R. R. Hoffman, Ed., Springer, 61--79.
[102]
Schumacher, R. M. and Gentner, D. 1988. Transfer of training as analogical mapping. IEEE Trans. Syst. Man Cybern. 18, 4, 592--600.
[103]
Schwill, A. 1994. Fundamental ideas of computer science. Bull. Eur. Assoc. Theor. Comput. Sci. 53, 274--274.
[104]
Shinners-Kennedy, D. 2008. The everydayness of threshold concepts: state as an example from computer science. In Threshold Concepts within the Disciplines, R. Land and J. H. F. Meyer, Eds., Sense Publishers, 119--128.
[105]
Shmallo, R., Ragonis, N., and Ginat, D. 2012. Fuzzy OOP: expanded and reduced term interpretations. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE'12). ACM, New York, 309--314.
[106]
Simon. 2011. Assignment and sequence: why some students can't recognize a simple swap. In Proceedings of the 11th Koli Calling International Conference on Computing Education Research (Koli Calling'11). ACM, 16--22.
[107]
Sleeman, D., Putnam, R. T., Baxter, J., and Kuspa, L. 1986. Pascal and high school students: a study of errors. J. Educ. Comput. Res. 2, 1, 5--23.
[108]
Smith, P. A. and Webb, G. I. 1995. Reinforcing a generic computer model for novice programmers. In Proceedings of the 7th Australian Society for Computer in Learning in Tertiary Education Conference ( ASCILITE'95).
[109]
Soloway, E. 1986. Learning to program = learning to construct mechanisms and explanations. Comm. ACM 29, 9, 850--858.
[110]
Soloway, E., Bonar, J., and Ehrlich, K. 1983. Cognitive strategies and looping constructs: an empirical study. Comm. ACM 26, 11, 853--860.
[111]
Soloway, E., Ehrlich, K., Bonar, J., and Greenspan, J. 1982. What do novices know about programming? In Directions in Human--Computer Interactions, A. Badre and B. Shneiderman, Eds., Ablex Publishing, 27--54.
[112]
Sorva, J. 2007. Students' Understandings of Storing Objects. In Proceedings of the 7th Baltic Sea Conference on Computing Education Research (Koli Calling'07). Australian Computer Society, 127--135.
[113]
Sorva, J. 2008. The same but different—students' understandings of primitive and Object Variables. In Proceedings of the 8th Koli Calling International Conference on Computing Education Research (Koli Calling'08). 5--15.
[114]
Sorva, J. 2010. Reflections on threshold concepts in computer programming and beyond. In Proceedings of the 10th Koli Calling International Conference on Computing Education Research (Koli Calling'10). ACM, 21--30.
[115]
Sorva, J. 2012. Visual program simulation in introductory programming education. Doctoral dissertation. Department of Computer Science and Engineering, Aalto University.
[116]
Sorva, J., Karavirta, V., and Malmi, L. A review of generic program visualization systems for introductory programming education. ACM Trans. Comput. Educ. To appear.
[117]
Steffe, L. P. and Gale, J. E., Eds. 1995. Constructivism in Education. Lawrence Erlbaum.
[118]
Stoodley, I., Christie, R., and Bruce, C. 2004. Masters students' experiences of learning to program: an empirical model. In Proceedings of the International Conference on Qualitative Research in IT & IT in Qualitative Research (QualIT'04).
[119]
Tashakkori, A. and Teddlie, C., Eds. 2010. Sage Handbook of Mixed Methods in Social & Behavioral Research, 2nd Ed., Sage.
[120]
Teague, D., Corney, M., Ahadi, A., and Lister, R. 2012. Swapping as the “Hello World” of relational reasoning: replications, reflections and extensions. In Proceedings of the 14th Australasian Conference on Computing Education (ACE'12). Australian Computer Society, 87--93.
[121]
Teif, M. and Hazzan, O. 2006. Partonomy and taxonomy in object-oriented thinking: junior high school students' perceptions of object-oriented basic concepts. SIGCSE Bull. 38, 4, 55--60.
[122]
Thota, N., Berglund, A., and Clear, T. 2012. Illustration of paradigm pluralism in computing education research. In Proceedings of the 14th Australasian Conference on Computing Education (ACE'12). Australian Computer Society, 103--112.
[123]
Thuné, M. and Eckerdal, A. 2009. Variation theory applied to students' conceptions of computer programming. Euro. J. Eng. Educ. 34, 4, 339--347.
[124]
Thuné, M. and Eckerdal, A. 2010. Students' conceptions of computer programming. Tech. rep. 2010-021, Department of Information Technology, Uppsala University.
[125]
Tuovinen, J. E. 2000. Optimising student cognitive load in computer education. In Proceedings of the Australasian Conference on Computing Education (ACE'00). ACM, 235--241.
[126]
Vagianou, E. 2006. Program working storage: a beginner's model. In Proceedings of the 6th Baltic Sea Conference on Computing Education Research (Koli Calling'06). 69--76.
[127]
Vainio, V. 2006. Opiskelijoiden mentaaliset mallit ohjelmien suorituksesta ohjelmoinnin peruskurssilla. Master's thesis. Department of Psychology, University of Helsinki.
[128]
Vainio, V. and Sajaniemi, J. 2007. Factors in novice programmers' poor tracing skills. SIGCSE Bull. 39, 3, 236--240.
[129]
Victor, B. 2012. Inventing on principle (video). http://vimeo.com/36579366 Accessed February 2012.
[130]
Westbrook, L. 2006. Mental Models: A theoretical overview and preliminary study. J. Inf. Sci. 32, 6, 563--579.
[131]
Wiedenbeck, S. 1989. Learning iteration and recursion from examples. Int. J. Man Mach. Stud. 30, 1, 1--22.
[132]
Wiedenbeck, S. and Ramalingam, V. 1999. Novice comprehension of small programs written in the procedural and object-oriented styles. Int. J. Hum. Comput. Stud. 51, 1, 71--87.
[133]
Wiedenbeck, S., Ramalingam, V., Sarasamma, S., and Corritore, C. L. 1999. A comparison of the comprehension of object-oriented and procedural programs by novice programmers. Interact. Comput. 11, 3, 255--282.
[134]
Zander, C., Boustedt, J., Eckerdal, A., McCartney, R., Moström, J. E., Ratcliffe, M., and Sanders, K. 2008. Threshold concepts in computer science: a multi-national empirical investigation. In Threshold Concepts within the Disciplines, R. Land and J. H. F. Meyer, Eds., Sense Publishers, 105--118.

Cited By

View all
  • (2024)Emergent representations of program semantics in language models trained on programsProceedings of the 41st International Conference on Machine Learning10.5555/3692070.3692961(22160-22184)Online publication date: 21-Jul-2024
  • (2024)Prevalence of Programming Misconceptions in Primary School StudentsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699568(1-11)Online publication date: 12-Nov-2024
  • (2024)New Perspectives on the Future of Computing Education: Teaching and Learning Explanatory ModelsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699558(1-8)Online publication date: 12-Nov-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Transactions on Computing Education
ACM Transactions on Computing Education  Volume 13, Issue 2
June 2013
82 pages
EISSN:1946-6226
DOI:10.1145/2483710
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 July 2013
Accepted: 01 January 2013
Revised: 01 September 2012
Received: 01 May 2012
Published in TOCE Volume 13, Issue 2

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. CS1
  2. Notional machine
  3. constructivism
  4. introductory programming education
  5. literature review
  6. mental models
  7. misconceptions
  8. phenomenography
  9. threshold concepts

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)143
  • Downloads (Last 6 weeks)33
Reflects downloads up to 03 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Emergent representations of program semantics in language models trained on programsProceedings of the 41st International Conference on Machine Learning10.5555/3692070.3692961(22160-22184)Online publication date: 21-Jul-2024
  • (2024)Prevalence of Programming Misconceptions in Primary School StudentsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699568(1-11)Online publication date: 12-Nov-2024
  • (2024)New Perspectives on the Future of Computing Education: Teaching and Learning Explanatory ModelsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699558(1-8)Online publication date: 12-Nov-2024
  • (2024)Assessing the Understanding of Expressions: A Qualitative Study of Notional-Machine-Based Exam QuestionsProceedings of the 24th Koli Calling International Conference on Computing Education Research10.1145/3699538.3699554(1-12)Online publication date: 12-Nov-2024
  • (2024)LLM-aided Pair Programming for Algorithm TracingProceedings of the 2024 Conference on United Kingdom & Ireland Computing Education Research10.1145/3689535.3689546(1-1)Online publication date: 5-Sep-2024
  • (2024)Exploring the Use of Unplugged Gamification on Programming Learners’ ExperienceACM Transactions on Computing Education10.1145/368616524:3(1-25)Online publication date: 27-Sep-2024
  • (2024)Identifying Secondary School Students' Misconceptions about Machine Learning: An Interview StudyProceedings of the 19th WiPSCE Conference on Primary and Secondary Computing Education Research10.1145/3677619.3678114(1-10)Online publication date: 16-Sep-2024
  • (2024)An Initial Exploration of Code Diagram Query EffectivenessProceedings of the 26th Western Canadian Conference on Computing Education10.1145/3660650.3660664(1-7)Online publication date: 2-May-2024
  • (2024)Understanding and Supporting Debugging Workflows in CADProceedings of the 37th Annual ACM Symposium on User Interface Software and Technology10.1145/3654777.3676353(1-14)Online publication date: 13-Oct-2024
  • (2024)Identifying and Correcting Programming Language Behavior MisconceptionsProceedings of the ACM on Programming Languages10.1145/36498238:OOPSLA1(334-361)Online publication date: 29-Apr-2024
  • Show More Cited By

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media