Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3300115.3309522acmconferencesArticle/Chapter ViewAbstractPublication PagescompedConference Proceedingsconference-collections
research-article

An Exploration of Cognitive Shifting in Writing Code

Published: 09 May 2019 Publication History
  • Get Citation Alerts
  • Abstract

    Programming is considered a demanding task that requires focusing on detail at code level. Students learning to program need to learn to think like a programmer, which involves coming up with plans needed to solve problems, and they need to learn to write the code that corresponds to the plans that they have thought of. The use of multiple files creates additional overhead to the process, as part of the code is not visible to the student. If a student does not remember the contents of a particular file, she needs to consciously move from writing code in one file to reading code in another file. This conscious transition of attention from one location to another is known as cognitive shifting. Using key-level data collected from a programming exam, we analyze students' movements within files and between files, and relate these movements with students' performance in the course. Our results indicate that frequently moving from one file to another may lead to worse performance than more focused actions, but no such effect exists when analyzing movements within an individual file.

    References

    [1]
    Rachel F Adler and Raquel Benbunan-Fich. 2012. Juggling on a high wire: Multitasking effects on performance. International Journal of Human-Computer Studies, Vol. 70, 2 (2012), 156--168.
    [2]
    Alireza Ahadi and Raymond Lister. 2013. Geek genes, prior knowledge, stumbling points and learning edge momentum: parts of the one elephant?. In Proceedings of the ninth annual international ACM conference on International computing education research. ACM, 123--128.
    [3]
    Erik M Altmann and J Gregory Trafton. 2002. Memory for goals: An activation-based model. Cognitive science, Vol. 26, 1 (2002), 39--83.
    [4]
    Carole Ames. 1992. Classrooms: Goals, structures, and student motivation. Journal of educational psychology, Vol. 84, 3 (1992), 261.
    [5]
    Eric M Anderman and Christopher A Wolters. 2006. Goals, Values, and Affect: Influences on Student Motivation. (2006).
    [6]
    James A Anderson, Janet Colvin, Nancy Tobler, and D Lindsay. 2003. Productivity and multi-screen displays. CIC Report No, Vol. 200351 (2003), 1--113.
    [7]
    Christoph Aschwanden and Martha Crosby. 2006. Code scanning patterns in program comprehension. In Proc. of the 39th Hawaii int. conf. on system sciences .
    [8]
    Russell Beale and William Edmondson. 2007. Multiple carets, multiple screens and multi-tasking: new behaviours with multiple computers. In Proceedings of the 21st British HCI Group Annual Conference on People and Computers: HCI... but not as we know it-Volume 1. British Computer Society, 55--64.
    [9]
    Paulo Blikstein. 2011. Using learning analytics to assess students' behavior in open-ended programming tasks. In Proceedings of the 1st international conference on learning analytics and knowledge. ACM, 110--116.
    [10]
    Stephanie R Boger-Mehall. 1996. Cognitive flexibility theory: Implications for teaching and teacher education. In Society for Information Technology & Teacher Education International Conference. Association for the Advancement of Computing in Education (AACE), 991--993.
    [11]
    Jelmer P Borst, Niels A Taatgen, and Hedderik van Rijn. 2015. What makes interruptions disruptive?: A process-model account of the effects of the problem state bottleneck on task interruption and resumption. In Proceedings of the 33rd annual ACM conference on human factors in computing systems. ACM, 2971--2980.
    [12]
    Teresa Busjahn, Roman Bednarik, Andrew Begel, Martha Crosby, James H Paterson, Carsten Schulte, Bonita Sharif, and Sascha Tamm. 2015. Eye movements in code reading: Relaxing the linear order. In Program Comprehension (ICPC), 2015 IEEE 23rd International Conference on. IEEE, 255--265.
    [13]
    Guillermo Campitelli and Fernand Gobet. 2011. Deliberate Practice: Necessary But Not Sufficient. Current Directions in Psych. Science, Vol. 20, 5 (2011), 280--285.
    [14]
    Simon P Davies. 1991. The role of notation and knowledge representation in the determination of programming strategy: a framework for integrating models of programming behavior. Cognitive Science, Vol. 15, 4 (1991), 547--572.
    [15]
    Kerry Allison Delbridge. 2002. Individual differences in multi-tasking ability: Exploring a nomological network. (2002).
    [16]
    Paul Denny, Andrew Luxton-Reilly, Michelle Craig, and Andrew Petersen. 2018. Improving Complex Task Performance Using a Sequence of Simple Practice Tasks. In Proceedings of the 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE 2018). ACM, 4--9.
    [17]
    Franccoise Détienne. 1995. Design Strategies and Knowledge in Object-oriented Programming: Effects of Experience. Hum.-Comput. Interact., Vol. 10, 2 (Sept. 1995), 129--169.
    [18]
    John Dunlosky, Katherine A Rawson, Elizabeth J Marsh, Mitchell J Nathan, and Daniel T Willingham. 2013. Improving students' learning with effective learning techniques: Promising directions from cognitive and educational psychology. Psychological Science in the Public Interest, Vol. 14, 1 (2013), 4--58.
    [19]
    K Anders Ericsson, Ralf T Krampe, and Clemens Tesch-Römer. 1993. The role of deliberate practice in the acquisition of expert performance. Psychological review, Vol. 100, 3 (1993), 363.
    [20]
    Kathi Fisler. 2014. The recurring rainfall problem. In Proceedings of the tenth annual conference on International computing education research. ACM, 35--42.
    [21]
    Ilenia Fronza, Alberto Sillitti, Giancarlo Succi, and Jelena Vlasenko. 2011. Understanding how novices are integrated in a team analysing their tool usage. In Proc. of the 2011 Int. Conference on Software and Systems Process. ACM, 204--207.
    [22]
    Vanessa E Ghosh and Asaf Gilboa. 2014. What is a memory schema? A historical perspective on current neuroscience literature. Neuropsych., Vol. 53 (2014), 104--114.
    [23]
    Petri Ihantola, Arto Vihavainen, Alireza Ahadi, Matthew Butler, Jürgen Börstler, Stephen H. Edwards, Essi Isohanni, Ari Korhonen, Andrew Petersen, Kelly Rivers, Miguel Ángel Rubio, Judy Sheard, Bronius Skupas, Jaime Spacco, Claudia Szabo, and Daniel Toll. 2015. Educational Data Mining and Learning Analytics in Programming: Literature Review and Case Studies. In Proc. of the 2015 ITiCSE on Working Group Reports (ITICSE-WGR '15). ACM, New York, NY, USA, 41--63.
    [24]
    Youn-ah Kang and John Stasko. 2008. Lightweight task/application performance using single versus multiple monitors: a comparative study. In Proceedings of Graphics Interface 2008. Canadian Information Processing Society, 17--24.
    [25]
    Katja Kevic, Braden M Walters, Timothy R Shaffer, Bonita Sharif, David C Shepherd, and Thomas Fritz. 2015. Tracing software developers' eyes and interactions for change tasks. In Proc. of the 2015 10th Joint Meeting on Foundations of Software Engineering. ACM, 202--213.
    [26]
    Andrew J Ko, Brad A Myers, Michael J Coblenz, and Htet Htet Aung. 2006. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Transactions on software engineering, Vol. 32, 12 (2006), 971--987.
    [27]
    M Leinikka, A Vihavainen, J Lukander, and S Pakarinen. 2014. Cognitive flexibility and programming performance. In Proc. of the Psychology of Programming Interest Group Annual Conference 2014. 1--11.
    [28]
    Juho Leinonen, Leo Leppanen, Petri Ihantola, and Arto Hellas. 2017. Comparison of time metrics in programming. In Proceedings of the 2017 ACM Conference on International Computing Education Research. ACM, 200--208.
    [29]
    Juho Leinonen, Krista Longi, Arto Klami, and Arto Vihavainen. 2016. Automatic Inference of Programming Performance and Experience from Typing Patterns. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (SIGCSE '16). ACM, 132--137.
    [30]
    Raymond Lister, Beth Simon, Errol Thompson, Jacqueline L Whalley, and Christine Prasad. 2006. Not seeing the forest for the trees: novice programmers and the SOLO taxonomy. ACM SIGCSE Bulletin, Vol. 38, 3 (2006), 118--122.
    [31]
    Andrew Luxton-Reilly, Brett A. Becker, Yingjun Cao, Roger McDermott, Claudio Mirolo, Andreas Mühling, Andrew Petersen, Kate Sanders, Simon, and Jacqueline Whalley. 2017. Developing Assessments to Determine Mastery of Programming Fundamentals. In Proceedings of the 2017 ITiCSE Conference on Working Group Reports (ITiCSE-WGR '17). ACM, New York, NY, USA, 47--69.
    [32]
    Russell Mosemann and Susan Wiedenbeck. 2001. Navigation and comprehension of programs by novice programmers. In Program Comprehension, 2001. IWPC 2001. Proceedings. 9th International Workshop on. IEEE, 79--88.
    [33]
    Donald A Norman. 2014. Some observations on mental models. In Mental models. Psychology Press, 15--22.
    [34]
    David N Perkins, Chris Hancock, Renee Hobbs, Fay Martin, and Rebecca Simmons. 1986. Conditions of learning in novice programmers. Journal of Educational Computing Research, Vol. 2, 1 (1986), 37--55.
    [35]
    Jean Piaget. 1971. Biology and knowledge: An essay on the relations between organic regulations and cognitive processes. (1971).
    [36]
    Vennila Ramalingam, Deborah LaBelle, and Susan Wiedenbeck. 2004. Self-efficacy and mental models in learning to program. In ACM SIGCSE Bulletin, Vol. 36. ACM, 171--175.
    [37]
    Robert S Rist. 1989. Schema creation in programming. Cognitive Science, Vol. 13, 3 (1989), 389--414.
    [38]
    Otto Seppala, Petri Ihantola, Essi Isohanni, Juha Sorva, and Arto Vihavainen. 2015. Do we know how difficult the rainfall problem is?. In Proceedings of the 15th Koli Calling Conference on Computing Education Research. ACM, 87--96.
    [39]
    Lee S Shulman et al. 1968. Studies of the Inquiry Process; Inquiry Patterns of Students in Teacher-Training Programs. Final Report. (1968).
    [40]
    Elliot Soloway. 1986. Learning to program= learning to construct mechanisms and explanations. Commun. ACM, Vol. 29, 9 (1986), 850--858.
    [41]
    John Sweller. 1988. Cognitive load during problem solving: Effects on learning. Cognitive science, Vol. 12, 2 (1988), 257--285.
    [42]
    John Sweller and Graham A Cooper. 1985. The use of worked examples as a substitute for problem solving in learning algebra. Cognition and instruction, Vol. 2, 1 (1985), 59--89.
    [43]
    Shelley E Taylor. 1981. Schematic bases of social information processing. Social cognition (1981), 89--134.
    [44]
    Alexey Tregubov, Barry Boehm, Natalia Rodchenko, and Jo Ann Lane. 2017. Impact of task switching and work interruptions on software development processes. In Proceedings of the 2017 International Conference on Software and System Process. ACM, 134--138.
    [45]
    Bogdan Vasilescu, Kelly Blincoe, Qi Xuan, Casey Casalnuovo, Daniela Damian, Premkumar Devanbu, and Vladimir Filkov. 2016. The sky is not the limit: multitasking across github projects. In Software Engineering (ICSE), 2016 IEEE/ACM 38th International Conference on. IEEE, 994--1005.
    [46]
    Arto Vihavainen, Jonne Airaksinen, and Christopher Watson. 2014. A systematic review of approaches for teaching introductory programming and their influence on success. In Proceedings of the tenth annual conference on International computing education research. ACM, 19--26.
    [47]
    Arto Vihavainen, Juha Helminen, and Petri Ihantola. 2014. How novices tackle their first lines of code in an ide: Analysis of programming session traces. In Proceedings of the 14th Koli Calling International Conference on Computing Education Research. ACM, 109--116.
    [48]
    Arto Vihavainen, Matti Luukkainen, and Jaakko Kurhila. 2012. Multi-faceted Support for MOOC in Programming. In Proc. of the 13th Annual Conf. on Information Technology Education (SIGITE '12). ACM, New York, NY, USA, 171--176.
    [49]
    Arto Vihavainen, Thomas Vikberg, Matti Luukkainen, and Martin Partel. 2013. Scaffolding Students' Learning Using Test My Code. In Proceedings of the 18th ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '13). ACM, New York, NY, USA, 117--122.
    [50]
    Leon E Winslow. 1996. Programming pedagogy - a psychological overview. ACM Sigcse Bulletin, Vol. 28, 3 (1996), 17--22.

    Cited By

    View all
    • (2022)Seeking flow from fine-grained log dataProceedings of the ACM/IEEE 44th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3510456.3514138(247-253)Online publication date: 21-May-2022
    • (2022)Seeking Flow from Fine-Grained Log Data2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)10.1109/ICSE-SEET55299.2022.9794177(247-253)Online publication date: May-2022

    Index Terms

    1. An Exploration of Cognitive Shifting in Writing Code

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      CompEd '19: Proceedings of the ACM Conference on Global Computing Education
      May 2019
      260 pages
      ISBN:9781450362597
      DOI:10.1145/3300115
      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]

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 09 May 2019

      Permissions

      Request permissions for this article.

      Check for updates

      Badges

      • Best Paper

      Author Tags

      1. cognitive shifting
      2. educational data mining
      3. learning analytics
      4. movement in source code
      5. programming process

      Qualifiers

      • Research-article

      Conference

      CompEd '19
      Sponsor:

      Acceptance Rates

      CompEd '19 Paper Acceptance Rate 33 of 100 submissions, 33%;
      Overall Acceptance Rate 33 of 100 submissions, 33%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)14
      • Downloads (Last 6 weeks)4

      Other Metrics

      Citations

      Cited By

      View all
      • (2022)Seeking flow from fine-grained log dataProceedings of the ACM/IEEE 44th International Conference on Software Engineering: Software Engineering Education and Training10.1145/3510456.3514138(247-253)Online publication date: 21-May-2022
      • (2022)Seeking Flow from Fine-Grained Log Data2022 IEEE/ACM 44th International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET)10.1109/ICSE-SEET55299.2022.9794177(247-253)Online publication date: May-2022

      View Options

      Get Access

      Login options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media