skip to main content
10.1145/3197091.3197133acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Where exactly are the difficulties in reasoning logically about code? experimentation with an online system

Published:02 July 2018Publication History

ABSTRACT

CS students can typically reason about what a piece of code does on specific inputs. While this is a useful starting point, graduates must also be able to logically analyze, comprehend, and predict the behavior of their code in more general terms, no matter what the inputs are. Results of data collection and analysis from an online educational system show it can help to pinpoint the difficulties in doing this for individual students and groups, and to partition the groups in terms of their difficulties so that instructional interventions may be better targeted. Unlike traditional debugging, this online system helps reveal difficulties in reasoning in more general terms because it is equipped with a verification engine.

References

  1. V. Aleven, B. M. McLaren, and J. Sewall. 2009. Scaling Up Programming by Demonstration for Intelligent Tutoring Systems Development: An Open-Access Web Site for Middle School Mathematics Learning. IEEE Trans. on Learning Technologies 2, 64-78. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. B. S. Alqadi and J. I. Maletic. 2017. An Empirical Study of Debugging Patterns Among Novices Programmers. In Procs. SIGCSE ‘17, ACM, NY, USA, 15-20. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. R. Anderson, A. T. Corbett, K. R. Koedinger, and R. Pelletier. 1995. Cognitive Tutors: Lessons Learned, The Journal of the Learning Sciences 4, 167-207.Google ScholarGoogle ScholarCross RefCross Ref
  4. R. Azevedo and R. M. Bernard. 1995. A Meta-Analysis of the Effects of Feedback in Computer-Based Instruction. Journal of Educational Computing Research 13, 2, 111 – 127.Google ScholarGoogle ScholarCross RefCross Ref
  5. N. Brown and A. Altadmri. 2014. Investigating novice programming mistakes: educator beliefs vs. student data. In Procs. ICER '14. ACM, NY, USA, 43-50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Bhattacharya, L. Tao, B. W. Kai Qian, and E. K. Palmer. 2011. A Cloud-based Cyberlearning Environment for Introductory Computing Programming Education. In Procs. 11th ICALT, 12-13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. B. S. Bloom, et al. (Eds.) 1956. Taxonomy of Educational Objectives. The Classification of Educational Goals, Handbook I: Cognitive Domain. David McKay Company, Inc., NY, USA.Google ScholarGoogle Scholar
  8. M. P. Cook. 2006. Visual representations in science education: The influence of prior knowledge and cognitive load theory on instructional design principles. Science Education 90, 6, 1073-1091.Google ScholarGoogle ScholarCross RefCross Ref
  9. C. T. Cook, H. Harton, H. Smith, and M. Sitaraman. 2012. Specification Engineering and Modular Verification Using a Web-Integrated Verifying Compiler. Proc. 34th ICSE, IEEE/ACM, NY, USA, 1379-1382. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. C. T. Cook, S. Drachova, Y-S. Sun, M. Sitaraman, J. Carver, and J. E. Hollingsworth. 2013. Specification and Reasoning in SE Projects Using a Web-IDE. In Procs. 26th CSEE&T, IEEE, NY, USA.Google ScholarGoogle Scholar
  11. D. De Bock, J. Deprej, W. van Duren, M. Roelens, and L. Verschaffel. 2011. Abstract or Concrete Examples in Learning Mathematics? A Replication an Elaboration of Kaminsky, Stoutsky, and Heckler’s Study. Journal for Research in Mathematics Education 42, 2, 109-126.Google ScholarGoogle ScholarCross RefCross Ref
  12. S. V. Drachova, J. O. Hallstrom, J. E. Hollingsworth, J. Krone, R. Pak, and M. Sitaraman. 2015. Teaching Mathematical Reasoning Principles for Software Correctness and Its Assessment. ACM Trans. Comput. Education 15, 3, 1-22. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. K. A. Ericsson and H. A. Simon. 1998. How to study thinking in everyday life: Contrasting think-aloud protocols with descriptions and explanations of thinking. Mind, Culture, and Activity 5, 3, 178-186.Google ScholarGoogle ScholarCross RefCross Ref
  14. S. Fitzgerald, B. Simon, and L. Thomas. 2005. Strategies that students use to trace code: an analysis based in grounded theory. ICER '05 ACM, NY, 69-80. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. K. Goldman, et al. 2008. Identifying important and difficult concepts in introductory computing courses using a Delphi process,” In Procs. 39th SIGCSE ’08, ACM, 256-260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. O. Hallstrom, C. Hochrine, J. Sorber, and M. Sitaraman. 2014. An ACM 2013 exemplar course integrating fundamentals, languages, and software engineering. In Procs. 45th SIGCSE '14. ACM, NY, USA, 211-216. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. B. Henderson. 2003. Mathematical Reasoning in Software Engineering Education. Communications of the ACM 46, 9, 45-50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. C. D. Hundhausen, J. L. Brown, S. Farley, and D. Skarpas. 2006. A methodology for analyzing the temporal evolution of novice programs based on semantic components. In Procs. ICER '06. ACM, NY, USA, 59-71. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. T. Kohn. 2017. Variable Evaluation: An Exploration of Novice Programmers' Understanding and Common Misconceptions. In Procs. ACM SIGCSE '17, NY, USA, 345-350. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Y. B-D. Kolikant. 2005. Students' alternative standards for correctness. In Procs. First ICER '05. ACM, NY, USA, 37-43. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Kumar, C. P. Rose, Y. Wang, M. Joshi, and A. Robinson. 2007. Tutorial Dialog as Adaptive Collaborative Learning Support. In Procs. Conference on Artificial Intelligence in Education: Building Technology Rich Contexts That Work, IOS Press, 383-390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. C. M. Lewis. 2014. Exploring variation in students' correct traces of linear recursion. In Procs. ICER '14. ACM, NY, USA, 67-74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. C. Li, Z. Dong, R. Untch, Chasteen, and N. Reale. 2011. PeerSpace—An Online Collaborative Learning Environment for Computer Science Students. In Procs. 11th ICALT, 409-411. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. K. Martinez and M. Eisenhart. 2004. L.E.A.P. – Literature Review of Best Practices in College Physics and Best Practices for Women in College Physics, January 2004.Google ScholarGoogle Scholar
  25. R. Moreno. 2004. Decreasing Cognitive Load for Novice Students: Effects of Explanatory versus Corrective Feedback in Discovery-Based Multimedia. Instructional Science 32, 99-113.Google ScholarGoogle ScholarCross RefCross Ref
  26. T. Price, Y. Dong, and D. Lipovac. 2017. iSnap: Towards Intelligent Tutoring in Novice Programming Environments. SIGCSE '17, ACM, NY, 483-488. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. A. L. Santos. 2015. Collaborative course project for practicing componentbased software engineering, In Procs. 15th Koli Calling Conference on Computing Education Research, ACM, NY, 142-146. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. M. Sitaraman, et al. 2011. Building a Push-Button RESOLVE Verifier: Progress and Challenges. Springer Formal Aspects of Computing 23, 607-626. Google ScholarGoogle ScholarCross RefCross Ref
  29. J. C. Spohrer, and E. Soloway. 1986. Novice mistakes: are the folk wisdoms correct? Communications of the ACM 29, 7, 624-632. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. A. L. Strauss and J. Corbin. 1998. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage Publications, Thousand Oaks, CA.Google ScholarGoogle Scholar
  31. J. Sweller, P. Ayres, and S. Kalyuga, 2011. Cognitive load theory. Springer, NY,.Google ScholarGoogle Scholar
  32. A. E. Tew. 2010. Assessing fundamental introductory computing concept knowledge in a language independent manner, Ph.D. Dissertation, Georgia Institute of Technology, 146 pages. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Web-CAT is an advanced automated grading system that can grade students on how well they test their own code. http://web-cat.org/homeGoogle ScholarGoogle Scholar
  34. J. B. Wiggins, et al. 2015. JavaTutor: An Intelligent Tutoring System that Adapts to Cognitive and Affective States during Computer Programming. In Procs. SIGCSE ’15, ACM, NY, USA, 599-599. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. P. Wouters, F. Paas, and J. J. G. van Merriënboer. 2008. How to Optimize Learning from Animated Models: A Review of Guidelines Based on Cognitive Load. Review of Educational Research.Google ScholarGoogle Scholar

Index Terms

  1. Where exactly are the difficulties in reasoning logically about code? experimentation with an online system

        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 Conferences
          ITiCSE 2018: Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education
          July 2018
          394 pages
          ISBN:9781450357074
          DOI:10.1145/3197091

          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: 2 July 2018

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate552of1,613submissions,34%

          Upcoming Conference

          ITiCSE 2024

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader