[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3304221.3325531acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
abstract

Program Comprehension: Identifying Learning Trajectories for Novice Programmers

Published: 02 July 2019 Publication History

Abstract

This working group asserts that Program Comprehension (PC) plays a critical part in the writing process. For example, this abstract is written from a basic draft that we have edited and revised until it clearly presents our idea. Similarly, a program is written in an incremental manner, with each step being tested, debugged and extended until the program achieves its goal. Novice programmers should develop their program comprehension as they learn to code, so that they are able to read and reason about code while they are writing it. To foster such competencies our group has identified two main goals: (1) to collect and define learning activities that explicitly cover key components of program comprehension and (2) to define possible learning trajectories that will guide teachers using those learning activities in their CS0/CS1 or K-12 courses.
We plan to achieve these goals as follows: Step 1 Review the current state of research and development by analyzing literature on classroom activities that improve program comprehension. Step 2 Concurrently, survey lecturers at various institutions on their use of workshop activities to foster PC. Step 3 Use the outputs from both activities to define and conceptualize what is meant by PC in the context of novice programmers. Step 4 Catalog learning activities with regard to their prerequisites, intended learning outcomes and additional special characteristics. Step 5 Catalog learning activities with regard to their prerequisites, intended learning outcomes and additional special characteristics. Step 6 Develop a map of learning activities and thereby also models of probable learning trajectories.

References

[1]
Teresa Busjahn and Carsten Schulte. 2013. The Use of Code Reading in Teaching Programming. Proceedings of the 13th Koli Calling International Conference on Computing Education Research (Koli Calling '13). ACM, New York, NY, USA, 3--11.
[2]
Benedict du Boulay. 1986. Some Difficulties of Learning to Program. J. of Educational Comput. Research, Vol. 2, 1 (1986), 57--73.
[3]
Cruz Izu, Claudio Mirolo, and Amali Weerasinghe. 2018. Novice Programmers' Reasoning About Reversing Conditional Statements. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education (SIGCSE '18). ACM, New York, USA, 646--651.
[4]
Joanne Lobato and C David Walters. 2017. A Taxonomy of Approaches to Learning Trajectories and Progressions .NC™, 74--101.
[5]
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.
[6]
Laurie Murphy, Renée McCauley, and Sue Fitzgerald. 2012. `Explain in Plain English' Questions: Implications for Teaching. In Proceedings of the 43rd ACM Technical Symposium on Computer Science Education (SIGCSE '12). ACM, New York, USA, 385--390.
[7]
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 (ICER '17). ACM, New York, NY, USA, 2--11.
[8]
Nancy Pennington. 1987. Comprehension Strategies in Programming. Empirical Studies of Programmers: Second Workshop, Gary M. Olson, Sylvia Sheppard, and Elliot Soloway (Eds.). Ablex Publishing Corp., Norwood, NJ, USA, 100--113.
[9]
Kathryn M. Rich, Carla Strickland, T. Andrew Binkowski, Cheryl Moran, and Diana Franklin. 2017. K-8 Learning Trajectories Derived from Research Literature: Sequence, Repetition, Conditionals. In Proceedings of the 2017 ACM Conference on International Computing Education Research (ICER '17). ACM, New York, NY, USA, 182--190.
[10]
Kate Sanders, Marzieh Ahmadzadeh, Tony Clear, Stephen H. Edwards, Mikey Goldweber, Chris Johnson, Raymond Lister, Robert McCartney, Elizabeth Patitsas, and Jaime Spacco. 2013. The Canterbury QuestionBank: Building a Repository of Multiple-choice CS1 and CS2 Questions. In Proceedings of the ITiCSE Working Group Reports Conference on Innovation and Technology in Computer Science Education-working Group Reports (ITiCSE -WGR '13). ACM, New York, NY, USA, 33--52.
[11]
Carsten Schulte, Tony Clear, Ahmad Taherkhani, Teresa Busjahn, and James H. Paterson. 2010. An Introduction to Program Comprehension for Computer Science Educators. In Proceedings of the 2010 ITiCSE Working Group Reports (ITiCSE-WGR '10). ACM, New York, NY, USA, 65--86.
[12]
A. Shargabi, S. A. Aljunid, M. Annamalai, S. M. Shuhidan, and A. M. Zin. 2015. Tasks that can improve novices' program comprehension. In 2015 IEEE Conference on e-Learning, e-Management and e-Services (IC3e). 32--37.
[13]
E. Soloway. 1986. Learning to Program = Learning to Construct Mechanisms and Explanations. Commun. ACM, Vol. 29, 9 (Sept. 1986), 850--858.
[14]
Leigh Ann Sudol-DeLyser, Mark Stehlik, and Sharon Carver. 2012. Code Comprehension Problems As Learning Events. In Proceedings of the 17th ACM Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE '12). ACM, New York, NY, USA, 81--86.
[15]
Donna Teague and Raymond Lister. 2014. Programming: Reading, Writing and Reversing. In Proceedings of the 2014 Conference on Innovation and Technology in Computer Science Education (ITiCSE '14). ACM, New York, USA, 285--290.
[16]
Susan Wiedenbeck and Vennila Ramaligan. 1999. Novice comprehension of small programs written in the procedural and object-oriented styles. International Journal of Human-Computer Studies, Vol. 51, 1 (1999), 71 -- 87.

Cited By

View all
  • (2023)Examples of Unsuccessful Use of Code Comprehension Strategies: A Resource for Developing Code Comprehension PedagogyProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600116(15-28)Online publication date: 7-Aug-2023
  • (2022)Supporting Readability by Comprehending the Hierarchical Abstraction of a Software Project15th Innovations in Software Engineering Conference10.1145/3511430.3511441(1-10)Online publication date: 24-Feb-2022
  • (2021)Rules of Program BehaviorACM Transactions on Computing Education10.1145/346912821:4(1-37)Online publication date: 17-Nov-2021
  • Show More Cited By

Index Terms

  1. Program Comprehension: Identifying Learning Trajectories for Novice Programmers

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      ITiCSE '19: Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education
      July 2019
      583 pages
      ISBN:9781450368957
      DOI:10.1145/3304221
      Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Sponsors

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      Published: 02 July 2019

      Check for updates

      Author Tags

      1. cs1
      2. learning trajectories
      3. program comprehension

      Qualifiers

      • Abstract

      Conference

      ITiCSE '19
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 552 of 1,613 submissions, 34%

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)24
      • Downloads (Last 6 weeks)3
      Reflects downloads up to 11 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2023)Examples of Unsuccessful Use of Code Comprehension Strategies: A Resource for Developing Code Comprehension PedagogyProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600116(15-28)Online publication date: 7-Aug-2023
      • (2022)Supporting Readability by Comprehending the Hierarchical Abstraction of a Software Project15th Innovations in Software Engineering Conference10.1145/3511430.3511441(1-10)Online publication date: 24-Feb-2022
      • (2021)Rules of Program BehaviorACM Transactions on Computing Education10.1145/346912821:4(1-37)Online publication date: 17-Nov-2021
      • (2021)Using Competency Mapping for Skills Assessment in an Introductory Cybersecurity CourseEducating Engineers for Future Industrial Revolutions10.1007/978-3-030-68201-9_56(572-583)Online publication date: 14-Mar-2021
      • (2019)An Exploratory Study of Brain Computer Interfaces in Computer Science EducationIEEE Revista Iberoamericana de Tecnologias del Aprendizaje10.1109/RITA.2019.295227314:4(152-161)Online publication date: Nov-2019

      View Options

      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