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
- Adelson, B. and Soloway, E. 1985. The role of domain experience in software design. IEEE Trans. Softw. Eng. 11, 11, 1351--1360. Google Scholar
Digital Library
- Andrianoff, S. K. and Levine, D. B. 2002. Role playing in an object-oriented world. SIGCSE Bull. 34, 1, 121--125. Google Scholar
Digital Library
- Babbage, C. 1864. Passages from the Life of a Philosopher. Longman Green.Google Scholar
- Bayman, P. and Mayer, R. E. 1983. A diagnosis of beginning programmers' misconceptions of BASIC programming statements. Comm. ACM 26, 9, 677--679. Google Scholar
Digital Library
- Ben-Ari, M. 2001. Constructivism in computer science education. J. Comput. Math. Sci. Teach. 20, 1, 45--73. Google Scholar
Digital Library
- Ben-Ari, M. and Yeshno, T. 2006. Conceptual models of software artifacts. Interact. Comput. 18, 6, 1336--1350. Google Scholar
Digital Library
- 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.Google Scholar
- Bergin, J. 2000. Why procedural is the wrong first paradigm if OOP is the goal. http://csis.pace.edu/∼bergin/papers/Whynotproceduralfirst.html.Google Scholar
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Bonar, J. and Soloway, E. 1985. Preprogramming knowledge: A major source of misconceptions in novice programmers. Hum. Comput. Interact. 1, 2, 133--161. Google Scholar
Digital Library
- Booth, S. 1992. Learning to program: A phenomenographic perspective. Doctoral dissertation, University of Gothenburg.Google Scholar
- 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.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- 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.Google Scholar
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- Caspersen, M. E. 2007. Educating novices in the skills of programming. Doctoral dissertation, Department of Computer Science, University of Aarhus.Google Scholar
- 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).Google Scholar
- 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. Google Scholar
Digital Library
- Cousin, G. 2006. An introduction to threshold concepts. Planet 17, 4--5.Google Scholar
Cross Ref
- 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.Google Scholar
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- 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).Google Scholar
- 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.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- du Boulay, B. 1986. Some difficulties of learning to program. J. Educ. Comput. Res. 2, 1, 57--73.Google Scholar
Cross Ref
- 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.Google Scholar
Cross Ref
- Eckerdal, A. and Thuné, M. 2005. Novice Java programmers' conceptions of “object” and “class”, and variation theory. SIGCSE Bull. 37, 3, 89--93. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- Fleury, A. E. 1991. Parameter passing: the rules the students construct. SIGCSE Bull. 23, 1, 283--286. Google Scholar
Digital Library
- Fleury, A. E. 2000. Programming in Java: student-constructed rules. SIGCSE Bull. 32, 1, 197--201. Google Scholar
Digital Library
- 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.Google Scholar
- Gentner, D. and Stevens, A. L. 1983. Mental Models. Lawrence Erlbaum.Google Scholar
- George, C. E. 2000a. EROSI—visualising recursion and discovering new errors. SIGCSE Bull. 32, 1, 305--309. Google Scholar
Digital Library
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- Greening, T. and Kay, J. 2001. Editorial. Comput. Sci. Educa. 11, 3, 189--202.Google Scholar
Cross Ref
- Gries, D. 2008. A principled approach to teaching OO first. SIGCSE Bull. 40, 1, 31--35. Google Scholar
Digital Library
- Götschi, T., Sanders, I., and Galpin, V. 2003. Mental models of recursion. SIGCSE Bull. 35, 1, 346--350. Google Scholar
Digital Library
- Henriksen, P. 2007. SIGCSE 2007 DC Application. http://www.cs.kent.ac.uk/archive/people/staff/ph53/SIGCSE2007DCApplication--PoulHenriksen.html.Google Scholar
- Holland, S., Griffiths, R., and Woodman, M. 1997. Avoiding object misconceptions. SIGCSE Bull. 29, 1, 131--134. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- Johnson-Laird, P. N. 1983. Mental Models: Towards a Cognitive Science of Language, Inference and Consciousness. Harvard University Press. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Kempton, W. 1986. Two theories of home heat control. Cognit. Sci. 10, 75--90.Google Scholar
Cross Ref
- 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.Google Scholar
Cross Ref
- Kessler, C. M. and Anderson, J. R. 1986. Learning flow of control: recursive and iterative procedures. Hum. Comput. Interact. 2, 2, 135--166. Google Scholar
Digital Library
- Klein, G. A. 1999. Sources of Power: How People Make Decisions. MIT Press.Google Scholar
- 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. Google Scholar
Digital Library
- Kunkle, W. M. 2010. The impact of different teaching approaches and languages on student learning of introductory programming concepts. Doctoral dissertation. Drexel University. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Land, R. and Meyer, J. H. F., Eds. 2008. Threshold Concepts within the Disciplines. Sense Publishers.Google Scholar
- Larochelle, M., Bednarz, N., and Garrison, J., Eds. 1998. Constructivism and Education. Cambridge University Press.Google Scholar
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Ma, L. 2007. Investigating and improving novice programmers' mental models of programming concepts. Doctoral dissertation, Department of Computer & Information Sciences, University of Strathclyde.Google Scholar
- Madison, S. and Gifford, J. 1997. Parameter passing: The conceptions novices construct. Res. rep. http://eric. ed.gov/PDFS/ED406211.pdf.Google Scholar
- Markman, A. B. and Gentner, D. 2001. Thinking. Ann. Rev. Psychol. 52, 223--247.Google Scholar
Cross Ref
- Marton, F. 2000. The structure of awareness. In Phenomenography, J. A. Bowden and E. Walsh, Eds., RMIT University Press, 102--116.Google Scholar
- Marton, F. and Booth, S. 1997. Learning and Awareness. Lawrence Erlbaum.Google Scholar
- 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.Google Scholar
- 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.Google Scholar
Cross Ref
- Mayer, R. E. 1981. The psychology of how novices learn computer programming. ACM Comput. Surv. 13, 1, 121--141. Google Scholar
Digital Library
- Menand, L. 1997. Pragmatism: A Reader. Vintage.Google Scholar
- 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.Google Scholar
- Meyer, J. H. F. and Land, R., Eds. 2006. Overcoming Barriers to Student Understanding: Threshold Concepts and Troublesome Knowledge. Routledge.Google Scholar
- Miller, L. A. 1981. Natural language programming: styles, strategies, and contrasts. IBM Syst. J. 20, 2, 184--215. Google Scholar
Digital Library
- Milne, I. and Rowe, G. 2002. Difficulties in learning and teaching programming—views of students and tutors. Edu. Inf. Technol. 7, 1, 55--66. Google Scholar
Digital Library
- Morgan, D. L. 2007. Paradigms lost and pragmatism regained. J. Mixed Methods Res. 1, 1, 48--76.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Norman, D. A. 1983. Some observations on mental models. In Mental Models, D. Gentner and A. L. Stevens, Eds., Lawrence Erlbaum, 7--14.Google Scholar
- 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. Google Scholar
Digital Library
- Pang, M. F. 2003. Two faces of variation: on continuity in the phenomenographic movement. Scand. J. Educ. Res. 47, 2, 145--156.Google Scholar
Cross Ref
- Pea, R. D. 1986. Language-independent conceptual “bugs” in novice programming. J. Educ. Comput. Res. 2, 1, 25--36.Google Scholar
Cross Ref
- 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.Google Scholar
- 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.Google Scholar
Cross Ref
- 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.Google Scholar
- Perlis, A. J. 1982. Epigrams on programming. SIGPLAN Not. 17, 9, 7--13. Google Scholar
Digital Library
- Phillips, D. C. 1995. The good, the bad, and the ugly: the many faces of constructivism. Educ. Res. 24, 7, 5--12.Google Scholar
Cross Ref
- Phillips, D. C., Ed. 2000. Constructivism in Education: Opinions and Second Opinions on Controversial Issues. National Society For The Study Of Education.Google Scholar
- 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.Google Scholar
Cross Ref
- 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.Google Scholar
Cross Ref
- Ragonis, N. and Ben-Ari, M. 2005b. On understanding the statics and dynamics of object-oriented programs. SIGCSE Bull. 37, 1, 226--330. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- 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. Google Scholar
Digital Library
- 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.Google Scholar
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- Schumacher, R. M. 1987. Acquisition of mental models. In Proceedings of the 4th Annual Mid-Central Human Factors/Ergonomics Conference. Springer, 142--148.Google Scholar
- 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. Google Scholar
Digital Library
- Schumacher, R. M. and Gentner, D. 1988. Transfer of training as analogical mapping. IEEE Trans. Syst. Man Cybern. 18, 4, 592--600.Google Scholar
Cross Ref
- Schwill, A. 1994. Fundamental ideas of computer science. Bull. Eur. Assoc. Theor. Comput. Sci. 53, 274--274.Google Scholar
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- 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).Google Scholar
- Soloway, E. 1986. Learning to program = learning to construct mechanisms and explanations. Comm. ACM 29, 9, 850--858. Google Scholar
Digital Library
- Soloway, E., Bonar, J., and Ehrlich, K. 1983. Cognitive strategies and looping constructs: an empirical study. Comm. ACM 26, 11, 853--860. Google Scholar
Digital Library
- 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.Google Scholar
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Sorva, J. 2012. Visual program simulation in introductory programming education. Doctoral dissertation. Department of Computer Science and Engineering, Aalto University.Google Scholar
- Sorva, J., Karavirta, V., and Malmi, L. A review of generic program visualization systems for introductory programming education. ACM Trans. Comput. Educ. To appear. Google Scholar
Digital Library
- Steffe, L. P. and Gale, J. E., Eds. 1995. Constructivism in Education. Lawrence Erlbaum.Google Scholar
- 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).Google Scholar
- Tashakkori, A. and Teddlie, C., Eds. 2010. Sage Handbook of Mixed Methods in Social & Behavioral Research, 2nd Ed., Sage.Google Scholar
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Thuné, M. and Eckerdal, A. 2009. Variation theory applied to students' conceptions of computer programming. Euro. J. Eng. Educ. 34, 4, 339--347.Google Scholar
- Thuné, M. and Eckerdal, A. 2010. Students' conceptions of computer programming. Tech. rep. 2010-021, Department of Information Technology, Uppsala University.Google Scholar
- 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. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- Vainio, V. 2006. Opiskelijoiden mentaaliset mallit ohjelmien suorituksesta ohjelmoinnin peruskurssilla. Master's thesis. Department of Psychology, University of Helsinki.Google Scholar
- Vainio, V. and Sajaniemi, J. 2007. Factors in novice programmers' poor tracing skills. SIGCSE Bull. 39, 3, 236--240. Google Scholar
Digital Library
- Victor, B. 2012. Inventing on principle (video). http://vimeo.com/36579366 Accessed February 2012.Google Scholar
- Westbrook, L. 2006. Mental Models: A theoretical overview and preliminary study. J. Inf. Sci. 32, 6, 563--579. Google Scholar
Digital Library
- Wiedenbeck, S. 1989. Learning iteration and recursion from examples. Int. J. Man Mach. Stud. 30, 1, 1--22. Google Scholar
Digital Library
- 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. Google Scholar
Digital Library
- 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.Google Scholar
Cross Ref
- 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.Google Scholar
Index Terms
Notional machines and introductory programming education





Comments