Novice programmer’s misconception of programming reflected on problem-solving plans
Keywords:
computer science education, misconception of programming, novice programmer, computational thinkingAbstract
Understanding the misconception of students is critical in that it identifies the reasons of errors students make and allows instructors to design instructions accordingly. This study investigated the mental models of programming concepts held by pre-service teachers who were novice in programming. In an introductory programming course, students were asked to solve problems that could be solved by utilizing conditional statements. They developed solution plans pseudo-code including a simplified natural language, symbols, diagrams, and so on. Sixteen solution plans of three different types of problems were analyzed. As a result, the students’ egocentric and insufficient programming concepts were identified in terms of the misuse of variables, redundancy of codes, and weak strategic knowledge. The results revealed that the students had difficulty designing solution plans that could be executed by computers. They needed instructional supports to master how to express their solution plans in the way computers run. Problem driven instructional designs for novice students were discussed.
Downloads
References
Bayman, P., & Mayer, R. E. (1988). Using conceptual models to teach BASIC computer programming. Journal of Educational Psychology, 80(3), 291-298. http://dx.doi.org/10.1037/0022-0663.80.3.291 DOI: https://doi.org/10.1037/0022-0663.80.3.291
Brooks, R. E. (1990). Categories of programming knowledge and their application. International Journal of Man-Machine Studies, 33(3), 241-246. http://dx.doi.org/10.1016/s0020-7373(05)80118-x DOI: https://doi.org/10.1016/S0020-7373(05)80118-X
Chang, C.-K. (2014). Effects of Using Alice and Scratch in an Introductory Programming Course for Corrective Instruction. Journal of Educational Computing Research, 51(2), 185-204. http://dx.doi.org/10.2190/EC.51.2.c DOI: https://doi.org/10.2190/EC.51.2.c
Chi, M. T. H., Glaser, R., & Rees, E. (1982). Expertise in Problem Solving. In R. Sternberg (Ed.), Advances in the Psychology of Human Intelligence (pp. 1–75). Hillsdale, NJ: Erlbaum.
Deek, F., Kimmel, H., & McHugh, J. A. (1998). Pedagogical Changes in the Delivery of the First-Course in Computer Science: Problem Solving, Then Programming. Journal of Engineering Education, 87(3), 313-320. http://dx.doi.org/10.1002/j.2168-9830.1998.tb00359.x DOI: https://doi.org/10.1002/j.2168-9830.1998.tb00359.x
Google, & Gallup. (2015). Searching for Computer Science: Access and Barriers in U.S. K-12 Education. Retrieved from https://goo.gl/oX311J
Google, & Gallup. (2016). Trends in the State of Computer Science in U.S. K-12 Schools. Retrieved from http://goo.gl/j291E0
Kim, B., Kim, T., & Kim, J. (2013). Paper-and-Pencil Programming Strategy toward Computational Thinking for Non-Majors: Design Your Solution. Journal of Educational Computing Research, 49(4), 437-459. http://dx.doi.org/10.2190/EC.49.4.b DOI: https://doi.org/10.2190/EC.49.4.b
Kim, M. C., & Hannafin, M. J. (2011). Scaffolding problem solving in technology-enhanced learning environments (TELEs): Bridging research and theory with practice. Computers & Education, 56(2), 403-417. http://dx.doi.org/10.1016/j.compedu.2010.08.024 DOI: https://doi.org/10.1016/j.compedu.2010.08.024
Lahtinen, E., Ala-Mutka, K., & Järvinen, H.-M. (2005). A study of the difficulties of novice programmers. ACM SIGCSE Bulletin, 37(3), 14-18. http://dx.doi.org/10.1145/1151954.1067453 DOI: https://doi.org/10.1145/1151954.1067453
Linn, M. C., & Dalbey, J. (1985). Cognitive consequences of Programming Instruction: Instruction, Access, and Ability. Educational Psychologist, 20(4), 191-206. http://dx.doi.org/10.1207/s15326985ep2004_4 DOI: https://doi.org/10.1207/s15326985ep2004_4
Ma, L., Ferguson, J., Roper, M., & Wood, M. (2011). Investigating and improving the models of programming concepts held by novice programmers. Computer Science Education, 21(1), 57-80. http://dx.doi.org/10.1080/08993408.2011.554722 DOI: https://doi.org/10.1080/08993408.2011.554722
Mayer, R. E. (1981). The Psychology of How Novices Learn Computer Programming. ACM Computing Surveys, 13(1), 121-141. http://dx.doi.org/10.1145/356835.356841 DOI: https://doi.org/10.1145/356835.356841
Mayer, R. E., & Fay, A. L. (1987). A chain of cognitive changes with learning to program in Logo. Journal of Educational Psychology, 79(3), 269-279. http://dx.doi.org/10.1037/0022-0663.79.3.269 DOI: https://doi.org/10.1037/0022-0663.79.3.269
McGill, T. J., & Volet, S. E. (1997). A Conceptual Framework for Analyzing Students’ Knowledge of Programming. Journal of Research on Computing in Education, 29(3), 276-297. http://dx.doi.org/10.1080/08886504.1997.10782199 DOI: https://doi.org/10.1080/08886504.1997.10782199
Newell, A., & Simon, H. A. (1972). Human problem solving. Oxford, England: Prentice-Hall.
Pea, R. D. (1986). Language-independent conceptual" bugs" in novice programming. Journal of Educational Computing Research, 2(1), 25-36. http://dx.doi.org/10.2190/689T-1R2A-X4W4-29J2 DOI: https://doi.org/10.2190/689T-1R2A-X4W4-29J2
Robins, A., Rountree, J., & Rountree, N. (2003). Learning and Teaching Programming: A Review and Discussion. Computer Science Education, 13(2), 137-172. http://dx.doi.org/10.1076/csed.13.2.137.14200 DOI: https://doi.org/10.1076/csed.13.2.137.14200
Rubio, M. A., Romero-Zaliz, R., Mañoso, C., & de Madrid, A. P. (2015). Closing the gender gap in an introductory programming course. Computers & Education, 82, 409-420. http://dx.doi.org/10.1016/j.compedu.2014.12.003 DOI: https://doi.org/10.1016/j.compedu.2014.12.003
Shi, N., Cui, W., Zhang, P., & Sun, X. (2017). Evaluating the Effectiveness Roles of Variables in the Novice Programmers Learning. Journal of Educational Computing Research, 0(0). http://dx.doi.org/10.1177/0735633117707312 DOI: https://doi.org/10.1177/0735633117707312
Shneiderman, B., & Mayer, R. (1979). Syntactic/semantic interactions in programmer behavior: A model and experimental results. International Journal of Computer & Information Sciences, 8(3), 219-238. http://dx.doi.org/10.1007/bf00977789 DOI: https://doi.org/10.1007/BF00977789
Snyder, T. D., de Brey, C., & Dillow, S. A. (2016). Digest of Education Statistics 2015 (NCES 2016-014). National Center for Education Statistics, Institute of Education Sciences, U.S. Department of Education. Washington, DC. Retrieved from https://nces.ed.gov/pubs2016/2016014.pdf.
Soloway, E., Bonar, J., & Ehrlich, K. (1983). Cognitive strategies and looping constructs: an empirical study. Communications of the ACM, 26(11), 853-860. http://dx.doi.org/10.1145/182.358436 DOI: https://doi.org/10.1145/182.358436
Tom, M. (2015). Five C Framework: A Student-Centered Approach for Teaching Programming Courses to Students with Diverse Disciplinary Background. Journal of Learning Design, 8(1), 21-37. http://dx.doi.org/10.5204/jld.v8i1.193 DOI: https://doi.org/10.5204/jld.v8i1.193
Whitehouse. (2016). Computer Science For All. Retrieved from https://obamawhitehouse.archives.gov/blog/2016/01/30/computer-science-all
Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35. http://dx.doi.org/10.1145/1118178.1118215 DOI: https://doi.org/10.1145/1118178.1118215
Winslow, L. E. (1996). Programming pedagogy - a psychological overview. ACM SIGCSE Bulletin, 28(3), 17-22. http://dx.doi.org/10.1145/234867.234872 DOI: https://doi.org/10.1145/234867.234872
Published
How to Cite
Issue
Section
Authors who publish with this journal agree to the following terms:
- Authors retain copyright and grant the journal right of first publication with the work simultaneously licensed under a Creative Commons Attribution License that allows others to share the work with an acknowledgement of the work's authorship and initial publication in this journal.
- Authors are able to enter into separate, additional contractual arrangements for the non-exclusive distribution of the journal's published version of the work (e.g., post it to an institutional repository or publish it in a book), with an acknowledgement of its initial publication in this journal.
- Authors are permitted and encouraged to post their work online (e.g., in institutional repositories or on their website) prior to and during the submission process, as it can lead to productive exchanges, as well as earlier and greater citation of published work (See The Effect of Open Access).
Most read articles by the same author(s)
- Kyungbin Kwon, Sang Joon Lee, Jaehwa Chung, Computational concepts reflected on Scratch programs , International Journal of Computer Science Education in Schools: Vol. 2 No. 3 (2018): International Journal Of Computer Science Education In Schools
- Kyungbin Kwon, Jongpil Cheon, Exploring problem decomposition and program development through block-based programs , International Journal of Computer Science Education in Schools: Vol. 3 No. 1 (2019): International Journal Of Computer Science Education In Schools
- Hyunchang Moon, Jongpil Cheon, Kyungbin Kwon, Difficult Concepts and Practices of Computational Thinking Using Block-based Programming , International Journal of Computer Science Education in Schools: Vol. 5 No. 3 (2022): International Journal of Computer Science Education in Schools