skip to main content
10.1145/3279720.3279728acmotherconferencesArticle/Chapter ViewAbstractPublication Pageskoli-callingConference Proceedingsconference-collections
research-article

What Are They Thinking?: Eliciting Student Reasoning About Troublesome Concepts in Introductory Computer Science

Published:22 November 2018Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. Michael Clancy. 2004. Misconceptions and attitudes that interfere with learning to program. Computer science education research (2004), 85--100.Google ScholarGoogle Scholar
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarCross RefCross Ref
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle Scholar
  12. Svetlana V Drachova-Strang. 2013. Teaching and assessment of mathematical principles for software correctness using a reasoning concept inventory. Clemson University.Google ScholarGoogle Scholar
  13. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarCross RefCross Ref
  15. Michael Flanagan and Janice Smith. 2009. From playing to understanding: the transformative potential of discourse versus syntax in learning to program. Sense Publishers.Google ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarCross RefCross Ref
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Mark Guzdial. 2011. From science to engineering. Commun. ACM 54, 2 (2011), 37--39. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarCross RefCross Ref
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. Md Hossain et al. 2012. How to motivate US students to pursue STEM (science, technology, engineering and mathematics) careers. Online Submission (2012).Google ScholarGoogle Scholar
  22. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarCross RefCross Ref
  27. Sacit Köse. 2008. Diagnosing student misconceptions: Using drawings as a research method. World Applied Sciences Journal 3, 2 (2008), 283--293.Google ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. Stanley Letovsky. 1987. Cognitive processes in program comprehension. Journal of Systems and software 7, 4 (1987), 325--339. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 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 ScholarGoogle Scholar
  34. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. Roger J Osborne and Merlin C Wittrock. 1983. Learning science: A generative process. Science education 67, 4 (1983), 489--508.Google ScholarGoogle Scholar
  37. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  38. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  39. Roy D Pea. 1986. Language-independent conceptual "bugs" in novice programming. Journal of Educational Computing Research 2, 1 (1986), 25--36.Google ScholarGoogle ScholarCross RefCross Ref
  40. David Perkins. 1999. The many faces of constructivism. Educational leadership 57, 3 (1999), 6--11.Google ScholarGoogle Scholar
  41. Peter Pirolli and Stuart Card. 1999. Information foraging. Psychological review 106, 4 (1999), 643.Google ScholarGoogle Scholar
  42. 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 ScholarGoogle Scholar
  43. 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 ScholarGoogle ScholarCross RefCross Ref
  44. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  45. Andreas Schwill. 1994. Fundamental ideas of computer science. Bull. European Assoc. for Theoretical Computer Science 53 (1994).Google ScholarGoogle Scholar
  46. Lee Shulman. 1987. Knowledge and teaching: Foundations of the new reform. Harvard educational review 57, 1 (1987), 1--23.Google ScholarGoogle Scholar
  47. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  48. Elliot Soloway. 1986. Learning to program= learning to construct mechanisms and explanations. Commun. ACM 29, 9 (1986), 850--858. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Elliot Soloway, Jeffrey Bonar, and Kate Ehrlich. 1983. Cognitive strategies and looping constructs: An empirical study. Commun. ACM 26, 11 (1983), 853--860. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 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 ScholarGoogle ScholarCross RefCross Ref
  52. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  53. 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 ScholarGoogle Scholar
  54. 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 ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. What Are They Thinking?: Eliciting Student Reasoning About Troublesome Concepts in Introductory Computer Science

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Other conferences
      Koli Calling '18: Proceedings of the 18th Koli Calling International Conference on Computing Education Research
      November 2018
      207 pages
      ISBN:9781450365352
      DOI:10.1145/3279720
      • Conference Chairs:
      • Mike Joy,
      • Petri Ihantola

      Copyright © 2018 ACM

      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: 22 November 2018

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate80of182submissions,44%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader