skip to main content
10.1145/3377814.3381706acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Sidekicks and superheroes: a look into student reasoning about concurrency with threads versus actors

Published:18 September 2020Publication History

ABSTRACT

When computations consist of different processes or threads that may execute at the same time or in an interleaved manner, we say the computation is concurrent or that it exhibits concurrency. University students often struggle to reason about concurrency. Researchers have presented students with natural language descriptions of scenarios involving concurrency and have evaluated students' natural language responses to explore their prior knowledge and to determine characteristics of student reasoning about concurrency. However, natural language responses are necessarily abstract and pertain to the design stage of software development, while studies in which students are asked to implement solutions provide a more concrete view of student reasoning and reveal difficulties that arise when putting design into practice. In this work we build upon prior work and ask: What are common and problematic features in student approaches to solving concurrency-related problems? How do these features differ from the design phase to the implementation phase of the software development life cycle? In this study we asked students enrolled in a jointly offered upper division undergraduate / MS level course on "Programming with Concurrency" to implement a solution to the same problem (a sidekick/superhero version of the party matching problem) using two different approaches: Threads-based in Java, and Actors-based in Scala. We performed qualitative feature analysis of their implementations and their written reflections to better understand student reasoning when programming concurrent solutions. The feature of additional complexity was found in our earlier natural language study in which students described their designs. Additional complexity was also represented in student implementations in this study and adversely impacted student success as their programs became cumbersome and hard to trace. Student reflections provided insight into their resistance to modeling prior to implementation, and indicated that they found formal modeling techniques difficult. These findings suggest that lighter weight interventions that address student difficulties earlier in the development process may be more palatable to students and thus have substantial impact.

References

  1. Mordechai Ben-Ari and Yifat Ben-David Kolikant. 1999. Thinking parallel: the process of learning concurrency. In ACM SIGCSE Bulletin, Vol. 31. ACM, 13--16.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Yifat Ben-David Kolikant. 2001. Gardeners and cinema tickets: High school students' preconceptions of concurrency. Computer Science Education 11, 3 (2001), 221--245.Google ScholarGoogle ScholarCross RefCross Ref
  3. Yifat Ben-David Kolikant. 2004. Learning concurrency as an entry point to the community of computer science practitioners. Journal of Computers in Mathematics and Science Teaching 23, 1 (2004), 21--46.Google ScholarGoogle Scholar
  4. Yifat Ben-David Kolikant. 2004. Learning concurrency: evolution of students' understanding of synchronization. International Journal of Human-Computer Studies 60, 2 (2004), 243--268.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Claus Brabrand. 2008. Constructive alignment for teaching model-based design for concurrency. In Transactions on petri nets and other models of concurrency I. Springer, 1--18.Google ScholarGoogle Scholar
  6. Sheelagh Carpendale, Søren Knudsen, Alice Thudt, and Uta Hinrichs. 2017. Analyzing qualitative data. In Proceedings of the 2017 ACM International Conference on Interactive Surfaces and Spaces. 477--481.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Francisco Enrique Vicente Castro and Kathi Fisler. 2017. Designing a multi-faceted SOLO taxonomy to track program design skills through an entire course. In Proceedings of the 17th Koli Calling International Conference on Computing Education Research. ACM, 10--19.Google ScholarGoogle Scholar
  8. "National Research Council". 2000. How people learn: Brain, mind, experience, and school: Expanded edition. National Academies Press.Google ScholarGoogle Scholar
  9. National Research Council et al. 2011. The Future of Computing Performance: Game Over or Next Level? National Academies Press.Google ScholarGoogle Scholar
  10. Peter E Doolittle. 2014. Complex constructivism: A theoretical model of complexity and cognition. International Journal of teaching and learning in higher education 26, 3 (2014), 485--498.Google ScholarGoogle Scholar
  11. 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
  12. Mary L Gick and Keith J Holyoak. 1980. Analogical problem solving. Cognitive psychology 12, 3 (1980), 306--355.Google ScholarGoogle Scholar
  13. Joanna Goode and Jane Margolis. 2011. Exploring computer science: A case study of school reform. ACM Transactions on Computing Education (TOCE) 11, 2 (2011), 12.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Greg Guest, Arwen Bunce, and Laura Johnson. 2006. How many interviews are enough? An experiment with data saturation and variability. Field methods 18, 1 (2006), 59--82.Google ScholarGoogle Scholar
  15. 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
  16. Cazembe Kennedy and Eileen T Kraemer. 2018. What Are They Thinking?: Eliciting Student Reasoning About Troublesome Concepts in Introductory Computer Science. In Proceedings of the 18th Koli Calling International Conference on Computing Education Research. ACM, 7.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Cazembe Kennedy and Eileen T. Kraemer. 2019. Qualitative Observations of Student Reasoning: Coding in the Wild. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (ITiCSE '19). Association for Computing Machinery, New York, NY, USA, 224--230. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. John R Latham. 2013. A framework for leading the transformation to performance excellence part I: CEO perspectives on forces, facilitators, and strategic leadership systems. Quality Management Journal 20, 2 (2013), 12--33.Google ScholarGoogle ScholarCross RefCross Ref
  19. Aubrey Lawson, Eileen T Kraemer, S Megan Che, and Cazembe Kennedy. 2019. A Multi-Level Study of Undergraduate Computer Science Reasoning about Concurrency. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education. ACM, 210--216.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Gary Lewandowski, Dennis J Bouvier, Robert McCartney, Kate Sanders, and Beth Simon. 2007. Commonsense computing (episode 3): concurrency and concert tickets. In Proceedings of the third international workshop on Computing education research. ACM, 133--144.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Jan Lönnberg and Anders Berglund. 2007. Students' Understandings of Concurrent Programming. In Proceedings of the Seventh Baltic Sea Conference on Computing Education Research - Volume 88 (Koli Calling '07). Australian Computer Society, Inc., AUS, 77--86.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jan Lönnberg, Anders Berglund, and Lauri Malmi. 2009. How Students Develop Concurrent Programs. In Proceedings of the Eleventh Australasian Conference on Computing Education - Volume 95 (ACE '09). Australian Computer Society, Inc., AUS, 129--138.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Mitchel Resnick. 1990. MultiLogo: A study of children and concurrent programming. Interactive learning environments 1, 3 (1990), 153--170.Google ScholarGoogle Scholar
  24. 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
  25. Johnny Saldaña. 2015. The coding manual for qualitative researchers. Sage.Google ScholarGoogle Scholar
  26. Stephan Salinger, Laura Plonka, and Lutz Prechelt. 2008. A coding scheme development methodology using grounded theory for qualitative analysis of pair programming. Human Technology: An Interdisciplinary Journal on Humans in ICT Environments (2008).Google ScholarGoogle Scholar
  27. Lee S Shulman. 1986. Those who understand: Knowledge growth in teaching. Educational researcher 15, 2 (1986), 4--14.Google ScholarGoogle Scholar
  28. John P Smith III, Andrea A DiSessa, and Jeremy Roschelle. 1994. Misconceptions reconceived: A constructivist analysis of knowledge in transition. The journal of the learning sciences 3, 2 (1994), 115--163.Google ScholarGoogle Scholar
  29. Anselm Strauss and Juliet Corbin. 1990. Basics of qualitative research. Sage publications.Google ScholarGoogle Scholar
  30. Heather Verkade, Jason M Lodge, Kristine Elliott, TD Mulhern, AA Espinosa, SJ Cropper, and BIP Rubinstein. 2017. Exploring misconceptions as a trigger for enhancing student learning. (2017).Google ScholarGoogle Scholar
  31. Aman Yadav, Marc Berges, Phil Sands, and Jon Good. 2016. Measuring computer science pedagogical content knowledge: An exploratory analysis of teaching vignettes to measure teacher knowledge. In Proceedings of the 11th Workshop in Primary and Secondary Computing Education. ACM, 92--95.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Sidekicks and superheroes: a look into student reasoning about concurrency with threads versus actors

        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
          ICSE-SEET '20: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and Training
          June 2020
          209 pages
          ISBN:9781450371247
          DOI:10.1145/3377814

          Copyright © 2020 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: 18 September 2020

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Upcoming Conference

          ICSE 2025

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader