ABSTRACT
Understanding student conceptions and identifying student misconceptions is an important precursor to developing high quality pedagogical materials and approaches. We conducted a pencil-and-paper survey consisting of a demographic questionnaire and 21 content-based questions with 106 students at the start of a second semester course for CS majors (i.e., CS2) at a large public U.S. university with a focus on engineering and science. We then selected the questions that appeared to be most problematic for students and several closely related questions and analyzed the student reasoning for each question and across questions with similar concepts. We found that students exhibited misconceptions related to pass by value versus pass by reference semantics, "false sharing" of variables of the same name in different scopes, and believing that global variables may not be accessed from the main function and/or that a global variable may be modified via a local variable of the same name (i.e., in the presence of variable shadowing). Potential explanations for these misconceptions include fragile knowledge, lack of attention to detail, over-attention to newly acquired knowledge, information foraging (abductive reasoning) in the presence of misleading contextual clues, and lack of exposure to the use of global variables beyond the specification of constants.
- Piraye Bayman and Richard E. Mayer. 1983. A Diagnosis of Beginning Programmers' Misconceptions of BASIC Programming Statements. Commun. ACM 26, 9 (Sept. 1983), 677--679. Google ScholarDigital Library
- Jonas Boustedt, Anna Eckerdal, Robert McCartney, Jan Erik Moström, Mark Ratcliffe, Kate Sanders, and Carol Zander. 2007. Threshold concepts in computer science: do they exist and are they useful? ACM SIGCSE Bulletin 39, 1 (2007), 504--508. Google ScholarDigital Library
- Ricardo Caceffo, Steve Wolfman, Kellogg S Booth, and Rodolfo Azevedo. 2016. Developing a computer science concept inventory for introductory programming. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education. ACM, 364--369. Google ScholarDigital Library
- Salih Çepni, Erol Taş, and Sacit Köse. 2006. The effects of computer-assisted material on students' cognitive levels, misconceptions and attitudes towards science. Computers & Education 46, 2 (2006), 192--205. Google ScholarDigital Library
- Yuliya Cherenkova, Daniel Zingaro, and Andrew Petersen. 2014. Identifying challenging CS1 concepts in a large problem dataset. In Proceedings of the 45th ACM technical symposium on Computer science education. ACM, 695--700. Google ScholarDigital Library
- Michael Clancy. 2004. Misconceptions and attitudes that interfere with learning to program. Computer science education research (2004), 85--100.Google Scholar
- Jere Confrey. 1990. Chapter 1: A Review of the Research on Student Conceptions in Mathematics, Science, and Programming. Review of research in education 16, 1 (1990), 3--56.Google Scholar
- Michelle Cook, Megan Fowler, Jason O. Hallstrom, Joseph E. Hollingsworth, Tim Schwab, Yu-San Sun, and Murali Sitaraman. 2018. Where Exactly Are the Difficulties in Reasoning Logically About Code? Experimentation with an Online System.. In In Proceedings of ACM 23rd Annual Conference on Innovation and Technology in Computer Science Education. ACM. Google ScholarDigital Library
- Linda L Cooper and Felice S Shore. 2008. Students' misconceptions in interpreting center and variability of data represented via histograms and stem-and-leaf plots. Journal of Statistics Education 16, 2 (2008).Google ScholarCross Ref
- Michelle Craig and Andrew Petersen. 2016. Student difficulties with pointer concepts in C. In Proceedings of the Australasian Computer Science Week Multi-conference. ACM, 8. Google ScholarDigital Library
- Adrienne Decker. 2007. How students measure up: An assessment instrument for introductory computer science. Ph.D. Dissertation. State University of New York at Buffalo.Google Scholar
- Svetlana V Drachova-Strang. 2013. Teaching and assessment of mathematical principles for software correctness using a reasoning concept inventory. Clemson University.Google Scholar
- Anna Eckerdal, Robert McCartney, Jan Erik Moström, Mark Ratcliffe, Kate Sanders, and Carol Zander. 2006. Putting threshold concepts into context in computer science education. In ACM SIGCSE Bulletin, Vol. 38. ACM, 103--107. Google ScholarDigital Library
- William P Eveland Jr and Sharon Dunwoody. 2000. Examining information processing on the World Wide Web using think aloud protocols. Media Psychology 2, 3 (2000), 219--244.Google ScholarCross Ref
- Michael Flanagan and Janice Smith. 2009. From playing to understanding: the transformative potential of discourse versus syntax in learning to program. Sense Publishers.Google Scholar
- Xun Ge and Susan M Land. 2003. Scaffolding students' problem-solving processes in an ill-structured task using question prompts and peer interactions. Educational Technology Research and Development 51, 1 (2003), 21--38.Google ScholarCross Ref
- Ken Goldman, Paul Gross, Cinda Heeren, Geoffrey Herman, Lisa Kaczmarczyk, Michael C Loui, and Craig Zilles. 2008. Identifying important and difficult concepts in introductory computing courses using a delphi process. ACM SIGCSE Bulletin 40, 1 (2008), 256--260. Google ScholarDigital Library
- Mark Guzdial. 2011. From science to engineering. Commun. ACM 54, 2 (2011), 37--39. Google ScholarDigital Library
- Filocha Haslam and David F Treagust. 1987. Diagnosing secondary students' misconceptions of photosynthesis and respiration in plants using a two-tier multiple choice instrument. Journal of biological education 21, 3 (1987), 203--211.Google ScholarCross Ref
- Geoffrey L. Herman, Lisa Kaczmarczyk, Michael C. Loui, and Craig Zilles. 2008. Proof by Incomplete Enumeration and Other Logical Misconceptions. In Proceedings of the Fourth International Workshop on Computing Education Research (ICER '08). ACM, New York, NY, USA, 59--70. Google ScholarDigital Library
- Md Hossain et al. 2012. How to motivate US students to pursue STEM (science, technology, engineering and mathematics) careers. Online Submission (2012).Google Scholar
- Maria Hristova, Ananya Misra, Megan Rutter, and Rebecca Mercuri. 2003. Identifying and correcting Java programming errors for introductory computer science students. In ACM SIGCSE Bulletin, Vol. 35. ACM, 153--156. Google ScholarDigital Library
- Peter Hubwieser, Johannes Magenheim, Andreas Mühling, and Alexander Ruf. 2013. Towards a conceptualization of pedagogical content knowledge for computer science. In Proceedings of the ninth annual international ACM conference on International computing education research. ACM, 1--8. Google ScholarDigital Library
- Association for Computing Machinery (ACM) Joint Task Force on Computing Curricula and IEEE Computer Society. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM, New York, NY, USA. 999133. Google ScholarDigital Library
- Lisa C Kaczmarczyk, Elizabeth R Petrick, J Philip East, and Geoffrey L Herman. 2010. Identifying student misconceptions of programming. In Proceedings of the 41st ACM technical symposium on Computer science education. ACM, 107--111. Google ScholarDigital Library
- Leopold E Klopfer, Audrey B Champagne, and Richard F Gunstone. 1983. Naive knowledge and science learning. Research in Science & Technological Education 1, 2 (1983), 173--183.Google ScholarCross Ref
- Sacit Köse. 2008. Diagnosing student misconceptions: Using drawings as a research method. World Applied Sciences Journal 3, 2 (2008), 283--293.Google Scholar
- Joseph Lawrance, Christopher Bogart, Margaret Burnett, Rachel Bellamy, Kyle Rector, and Scott D Fleming. 2013. How programmers debug, revisited: An information foraging theory perspective. IEEE Transactions on Software Engineering 39, 2 (2013), 197--215. Google ScholarDigital Library
- Stanley Letovsky. 1987. Cognitive processes in program comprehension. Journal of Systems and software 7, 4 (1987), 325--339. Google ScholarDigital Library
- Raymond Lister, Elizabeth S Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Seppälä, et al. 2004. A multi-national study of reading and tracing skills in novice programmers. In ACM SIGCSE Bulletin, Vol. 36. ACM, 119--150. Google ScholarDigital Library
- Andrew Luxton-Reilly, Brett A Becker, Yingjun Cao, Roger McDermott, Claudio Mirolo, Andreas Mühling, Andrew Petersen, Kate Sanders, Jacqueline Whalley, et al. 2018. Developing Assessments to Determine Mastery of Programming Fundamentals. In Proceedings of the 2017 ITiCSE Conference on Working Group Reports. ACM, 47--69. Google ScholarDigital Library
- Michael McCracken, Vicki Almstrum, Danny Diaz, Mark Guzdial, Dianne Hagan, Yifat Ben-David Kolikant, Cary Laxer, Lynda Thomas, Ian Utting, and Tadeusz Wilusz. 2001. A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. In Working group reports from ITiCSE on Innovation and technology in computer science education. ACM, 125--180. Google ScholarDigital Library
- Jan H. F. Meyer and Ray Land. 2005. Threshold concepts and troublesome knowledge (2): Epistemological considerations and a conceptual framework for teaching and learning. Higher Education 49, 3 (01 Apr 2005), 373--388.Google Scholar
- Craig S Miller and Amber Settle. 2016. Some trouble with transparency: An analysis of student errors with object-oriented python. In Proceedings of the 2016 ACM Conference on International Computing Education Research. ACM, 133--141. Google ScholarDigital Library
- Greg L Nelson, Benjamin Xie, and Andrew J Ko. 2017. Comprehension first: evaluating a novel pedagogy and tutoring system for program tracing in CS1. In Proceedings of the 2017 ACM Conference on International Computing Education Research. ACM, 2--11. Google ScholarDigital Library
- Roger J Osborne and Merlin C Wittrock. 1983. Learning science: A generative process. Science education 67, 4 (1983), 489--508.Google Scholar
- Miranda C Parker, Mark Guzdial, and Shelly Engleman. 2016. Replication, validation, and use of a language independent CS1 knowledge assessment. In Proceedings of the 2016 ACM conference on international computing education research. ACM, 93--101. Google ScholarDigital Library
- Wolfgang Paul and Jan Vahrenhold. 2013. Hunting high and low: instruments to detect misconceptions related to algorithms and data structures. In Proceeding of the 44th ACM technical symposium on Computer science education. ACM, 29--34. Google ScholarDigital Library
- Roy D Pea. 1986. Language-independent conceptual "bugs" in novice programming. Journal of Educational Computing Research 2, 1 (1986), 25--36.Google ScholarCross Ref
- David Perkins. 1999. The many faces of constructivism. Educational leadership 57, 3 (1999), 6--11.Google Scholar
- Peter Pirolli and Stuart Card. 1999. Information foraging. Psychological review 106, 4 (1999), 643.Google Scholar
- Anthony Robins, Janet Rountree, and Nathan Rountree. 2003. Learning and teaching programming: A review and discussion. Computer science education 13, 2 (2003), 137--172.Google Scholar
- Philip M Sadler, Gerhard Sonnert, Harold P Coyle, Nancy Cook-Smith, and Jaimie L Miller. 2013. The influence of teachers' knowledge on student learning in middle school physical science classrooms. American Educational Research Journal 50, 5 (2013), 1020--1049.Google ScholarCross Ref
- Kate Sanders and Robert McCartney. 2016. Threshold concepts in computing: past, present, and future. In Proceedings of the 16th Koli Calling International Conference on Computing Education Research. ACM, 91--100. Google ScholarDigital Library
- Andreas Schwill. 1994. Fundamental ideas of computer science. Bull. European Assoc. for Theoretical Computer Science 53 (1994).Google Scholar
- Lee Shulman. 1987. Knowledge and teaching: Foundations of the new reform. Harvard educational review 57, 1 (1987), 1--23.Google Scholar
- Teemu Sirkiä and Juha Sorva. 2012. Exploring programming misconceptions: an analysis of student mistakes in visual program simulation exercises. In Proceedings of the 12th Koli Calling International Conference on Computing Education Research. ACM, 19--28. Google ScholarDigital Library
- Elliot Soloway. 1986. Learning to program= learning to construct mechanisms and explanations. Commun. ACM 29, 9 (1986), 850--858. Google ScholarDigital Library
- Elliot Soloway, Jeffrey Bonar, and Kate Ehrlich. 1983. Cognitive strategies and looping constructs: An empirical study. Commun. ACM 26, 11 (1983), 853--860. Google ScholarDigital Library
- James C Spohrer, Elliot Soloway, and Edgar Pope. 1985. A goal/plan analysis of buggy Pascal programs. Human--Computer Interaction 1, 2 (1985), 163--207. Google ScholarDigital Library
- C. Taylor, D. Zingaro, L. Porter, K.C. Webb, C.B. Lee, and M. Clancy. 2014. Computer science concept inventories: past and future. Computer Science Education 24, 4 (2014), 253--276. arXiv:https://doi.org/10.1080/08993408.2014.970779Google ScholarCross Ref
- Allison Elliott Tew and Mark Guzdial. 2011. The FCS1: a language independent assessment of CS1 knowledge. In Proceedings of the 42nd ACM technical symposium on Computer science education. ACM, 111--116. Google ScholarDigital Library
- Lynda A Thomas, Jonas Boustedt, Anna Eckerdal, Robert McCartney, Jan Erik Moström, Kate Sanders, and Carol Zander. 2017. In the liminal space: software design as a threshold skill. Practice and Evidence of the Scholarship of Teaching and Learning in Higher Education 12, 2 (2017), 333--351.Google Scholar
- Evgenia Vagianou. 2006. Program working storage: a beginner's model. In Proceedings of the 6th Baltic Sea conference on Computing education research: Koli Calling 2006. ACM, 69--76. Google ScholarDigital Library
Index Terms
- What Are They Thinking?: Eliciting Student Reasoning About Troublesome Concepts in Introductory Computer Science
Recommendations
Computer Science Teaching Knowledge: A Framework and Assessment (Abstract Only)
SIGCSE '17: Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science EducationEducators, researchers, politicians, tech companies, and others continue to advocate for the importance of K-12 students learning computer science in our increasingly tech-driven society. One way school districts in the United States address this ...
Assessing the Development of Computer Science Pedagogical Content Knowledge in the TEALS Program (Abstract Only)
SIGCSE '16: Proceedings of the 47th ACM Technical Symposium on Computing Science EducationOne of the critical barriers to increasing pre-collegiate computer science course offerings in the U.S. is a lack of qualified computer science teachers. Programs such as TEALS, a teacher preparation program pairing high school teachers with computing ...
Computational thinking skills in Dutch secondary education
WiPSE '13: Proceedings of the 8th Workshop in Primary and Secondary Computing EducationComputational Thinking is regarded as a necessary analytical skill for young people in the present day information society. We report on an ongoing design research project on Computational Thinking (CT) skills in Dutch secondary computer science (CS) ...
Comments