Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3576123.3576128acmotherconferencesArticle/Chapter ViewAbstractPublication Pagesaus-ceConference Proceedingsconference-collections
research-article
Open access

The Progression of Students’ Ability to Work With Scope, Parameter Passing and Aliasing

Published: 30 January 2023 Publication History

Abstract

Students need the ability to reason about the behavior of programs when working with advanced concepts like concurrency and abstraction. To achieve this, students require core programming skills that allow them to trace and predict the outcome of a program. While previous research indicates that teachers cannot expect students to acquire all core programming skills after their introductory CS course, less is known of students’ progression in later years. In this study, we investigate 397 students’ ability to predict the outcome of short computer programs. The participants are from different programs and progressions in their studies. We find that students, regardless of program and year, struggle with predicting the outcome of short programs that require an accurate mental model of some less readily apparent concepts, such as references. Further, we discover that there is no significant improvement in the first three years. Finally, we propose further avenues of research to improve these learning outcomes.

References

[1]
Russ Abbott and Chengyu Sun. 2008. Abstraction Abstracted. In Proceedings of the 2nd International Workshop on The Role of Abstraction in Software Engineering (Leipzig, Germany) (ROA ’08). Association for Computing Machinery, New York, NY, USA, 23–30. https://doi.org/10.1145/1370164.1370171
[2]
Piraye Bayman and Richard E. Mayer. 1983. A Diagnosis of Beginning Programmers’ Misconceptions of BASIC Programming Statements. Commun. ACM 26, 9 (sep 1983), 677–679. https://doi.org/10.1145/358172.358408
[3]
Benedict Du Boulay. 1986. Some Difficulties of Learning to Program. Journal of Educational Computing Research 2, 1 (1986), 57–73. https://doi.org/10.2190/3LFX-9RRF-67T8-UVK9 arXiv:https://doi.org/10.2190/3LFX-9RRF-67T8-UVK9
[4]
Naomi R. Boyer, Sara Langevin, and Alessio Gaspar. 2008. Self Direction & Constructivism in Programming Education. In Proceedings of the 9th ACM SIGITE Conference on Information Technology Education (Cincinnati, OH, USA) (SIGITE ’08). ACM, New York, NY, USA, 89–94. https://doi.org/10.1145/1414558.1414585
[5]
A. T. Chamillard and Kim A. Braun. 2000. Evaluating Programming Ability in an Introductory Computer Science Course. In Proceedings of the Thirty-First SIGCSE Technical Symposium on Computer Science Education(Austin, Texas, USA) (SIGCSE ’00). Association for Computing Machinery, New York, NY, USA, 212–216. https://doi.org/10.1145/330908.331857
[6]
Sally Fincher, Johan Jeuring, Craig S. Miller, Peter Donaldson, Benedict du Boulay, Matthias Hauswirth, Arto Hellas, Felienne Hermans, Colleen Lewis, Andreas Mühling, Janice L. Pearce, and Andrew Petersen. 2020. Notional Machines in Computing Education: The Education of Attention. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (Trondheim, Norway) (ITiCSE-WGR ’20). Association for Computing Machinery, New York, NY, USA, 21–50. https://doi.org/10.1145/3437800.3439202
[7]
Kathi Fisler, Shriram Krishnamurthi, and Preston Tunnell Wilson. 2017. Assessing and Teaching Scope, Mutation, and Aliasing in Upper-Level Undergraduates. In Proceedings of the 2017 ACM SIGCSE Technical Symposium on Computer Science Education (Seattle, Washington, USA) (SIGCSE ’17). Association for Computing Machinery, New York, NY, USA, 213–218. https://doi.org/10.1145/3017680.3017777
[8]
Pontus Haglund, Filip Strömbäck, and Linda Mannila. 2021. Understanding Students’ Failure to use Functions as a Tool for Abstraction – An Analysis of Questionnaire Responses and Lab Assignments in a CS1 Python Course. Informatics in Education 20, 4 (2021), 583–614. https://doi.org/10.15388/infedu.2021.26
[9]
Orit Hazzan. 2008. Reflections on Teaching Abstraction and Other Soft Ideas. SIGCSE Bull. 40, 2 (June 2008), 40–43. https://doi.org/10.1145/1383602.1383631
[10]
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. https://www.learntechlib.org/p/12871
[11]
Herman Koppelman and Betsy van Dijk. 2010. Teaching Abstraction in Introductory Courses. In Proceedings of the Fifteenth Annual Conference on Innovation and Technology in Computer Science Education (Bilkent, Ankara, Turkey) (ITiCSE ’10). Association for Computing Machinery, New York, NY, USA, 174–178. https://doi.org/10.1145/1822090.1822140
[12]
Barbara Liskov and John Guttag. 2000. Program Development in Java: Abstraction, Specification, and Object-Oriented Design (1st ed.). Addison-Wesley Longman Publishing Co., Inc., USA.
[13]
Raymond Lister, Elizabeth S. Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Seppälä, Beth Simon, and Lynda Thomas. 2004. A Multi-National Study of Reading and Tracing Skills in Novice Programmers. In Working Group Reports from ITiCSE on Innovation and Technology in Computer Science Education (Leeds, United Kingdom) (ITiCSE-WGR ’04). Association for Computing Machinery, New York, NY, USA, 119–150. https://doi.org/10.1145/1044550.1041673
[14]
Linxiao Ma, John Ferguson, Marc Roper, and Murray Wood. 2007. Investigating the Viability of Mental Models Held by Novice Programmers. In Proceedings of the 38th SIGCSE Technical Symposium on Computer Science Education (Covington, Kentucky, USA) (SIGCSE ’07). ACM, New York, NY, USA, 499–503. https://doi.org/10.1145/1227310.1227481
[15]
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 (Canterbury, UK) (ITiCSE-WGR ’01). Association for Computing Machinery, New York, NY, USA, 125–180. https://doi.org/10.1145/572133.572137
[16]
J. A. Nelder and R. W. M. Wedderburn. 1972. Generalized Linear Models. Journal of the Royal Statistical Society. Series A (General) 135, 3(1972), 370–384. https://doi.org/10.2307/2344614
[17]
Greg L. Nelson, Filip Strömbäck, Ari Korhonen, Marjahan Begum, Ben Blamey, Karen H. Jin, Violetta Lonati, Bonnie MacKellar, and Mattia Monga. 2020. Differentiated Assessments for Advanced Courses That Reveal Issues with Prerequisite Skills: A Design Investigation. In Proceedings of the Working Group Reports on Innovation and Technology in Computer Science Education (Trondheim, Norway) (ITiCSE-WGR ’20). Association for Computing Machinery, New York, NY, USA, 75–129. https://doi.org/10.1145/3437800.3439204
[18]
Jacob Perrenet and Eric Kaasenbrood. 2006. Levels of Abstraction in Students’ Understanding of the Concept of Algorithm: The Qualitative Perspective. In Proceedings of the 11th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education (Bologna, Italy) (ITICSE ’06). Association for Computing Machinery, New York, NY, USA, 270–274. https://doi.org/10.1145/1140124.1140196
[19]
Yizhou Qian and James Lehman. 2017. Students’ Misconceptions and Other Difficulties in Introductory Programming: A Literature Review. ACM Trans. Comput. Educ. 18, 1, Article 1 (oct 2017), 24 pages. https://doi.org/10.1145/3077618
[20]
Yolanda J. Reimer, Michael Coe, Lisa M. Blank, and Jeffrey Braun. 2018. Effects of Professional Development on Programming Knowledge and Self-Efficacy. In 2018 IEEE Frontiers in Education Conference (FIE). 1–8. https://doi.org/10.1109/FIE.2018.8659041
[21]
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 (Koli, Finland) (Koli Calling ’12). Association for Computing Machinery, New York, NY, USA, 19–28. https://doi.org/10.1145/2401796.2401799
[22]
David Statter and Michal Armoni. 2020. Teaching Abstraction in Computer Science to 7th Grade Students. ACM Trans. Comput. Educ. 20, 1, Article 8 (jan 2020), 37 pages. https://doi.org/10.1145/3372143
[23]
Filip Strömbäck, Linda Mannila, Mikael Asplund, and Mariam Kamkar. 2019. A Student’s View of Concurrency - A Study of Common Mistakes in Introductory Courses on Concurrency. In Proceedings of the 2019 ACM Conference on International Computing Education Research (Toronto ON, Canada) (ICER ’19). Association for Computing Machinery, New York, NY, USA, 229–237. https://doi.org/10.1145/3291279.3339415
[24]
Filip Strömbäck, Linda Mannila, and Mariam Kamkar. 2021. The Non-Deterministic Path to Concurrency – Exploring how Students Understand the Abstractions of Concurrency. Informatics in Education 20, 4 (2021), 683–715. https://doi.org/10.15388/infedu.2021.29

Cited By

View all
  • (2024)Identifying and Correcting Programming Language Behavior MisconceptionsProceedings of the ACM on Programming Languages10.1145/36498238:OOPSLA1(334-361)Online publication date: 29-Apr-2024
  • (2024)Grasping the Unseen: TA Insights into Teaching Subtle Concepts in Computer ScienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653601(157-163)Online publication date: 3-Jul-2024

Index Terms

  1. The Progression of Students’ Ability to Work With Scope, Parameter Passing and Aliasing

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Other conferences
      ACE '23: Proceedings of the 25th Australasian Computing Education Conference
      January 2023
      139 pages
      ISBN:9781450399418
      DOI:10.1145/3576123
      This work is licensed under a Creative Commons Attribution International 4.0 License.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 30 January 2023

      Check for updates

      Author Tags

      1. CS1
      2. computer science education
      3. mental model
      4. tracing

      Qualifiers

      • Research-article
      • Research
      • Refereed limited

      Conference

      ACE '23
      ACE '23: Australasian Computing Education Conference
      January 30 - February 3, 2023
      VIC, Melbourne, Australia

      Acceptance Rates

      Overall Acceptance Rate 161 of 359 submissions, 45%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)157
      • Downloads (Last 6 weeks)22
      Reflects downloads up to 13 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Identifying and Correcting Programming Language Behavior MisconceptionsProceedings of the ACM on Programming Languages10.1145/36498238:OOPSLA1(334-361)Online publication date: 29-Apr-2024
      • (2024)Grasping the Unseen: TA Insights into Teaching Subtle Concepts in Computer ScienceProceedings of the 2024 on Innovation and Technology in Computer Science Education V. 110.1145/3649217.3653601(157-163)Online publication date: 3-Jul-2024

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      HTML Format

      View this article in HTML Format.

      HTML Format

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media