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

Exploring Design Choices to Support Novices' Example Use During Creative Open-Ended Programming

Published: 22 February 2022 Publication History

Abstract

Open-ended programming engages students by connecting computing with their real-world experience and personal interest. However, such open-ended programming tasks can be challenging, as they require students to implement features that they may be unfamiliar with. Code examples help students to generate ideas and implement program features, but students also encounter many learning barriers when using them. We explore how to design code examples to support novices' effective example use by presenting our experience of building and deploying Example Helper, a system that supports students with a gallery of code examples during open-ended programming. We deployed Example Helper in an undergraduate CS0 classroom to investigate students' example usage experience, finding that students used different strategies to browse, understand, experiment with, and integrate code examples, and that students who make more sophisticated plans also used more examples in their projects.

Supplementary Material

MOV File (SIGCSE22-V1fp434v.mov)
Presentation video

References

[1]
and Blackwell(2016)]bergstrom2016practicesIlias Bergström and Alan F Blackwell. The practices of programming. In 2016 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 190--198. IEEE, 2016.
[2]
Joel Brandt, Philip J Guo, Joel Lewenstein, Mira Dontcheva, and Scott R Klemmer. Two studies of opportunistic programming: interleaving web foraging, learning, and writing code. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pages 1589--1598, 2009.
[3]
Ruth Butler. Determinants of help seeking: Relations between perceived reasons for classroom help-avoidance and help-seeking behaviors in an experimental context. Journal of Educational Psychology, 90 (4): 630, 1998.
[4]
Gao Gao, Finn Voichick, Michelle Ichinco, and Caitlin Kelleher. Exploring programmers' API learning processes: Collecting web resources as external memory. In Michael Homer, Felienne Hermans, Steven L. Tanimoto, and Craig Anslow, editors, IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2020, Dunedin, New Zealand, August 10--14, 2020, pages 1--10. IEEE, 2020. 10.1109/VL/HCC50065.2020.9127274. URL https://doi.org/10.1109/VL/HCC50065.2020.9127274.
[5]
Dan Garcia, Brian Harvey, and Tiffany Barnes. The Beauty and Joy of Computing. ACM Inroads, 6 (4): 71--79, 2015.
[6]
Sebastian Gross, Bassam Mokbel, Benjamin Paassen, Barbara Hammer, and Niels Pinkwart. Example-based feedback provision using structured solution spaces. International Journal of Learning Technology 10, 9 (3): 248--280, 2014.
[7]
Shuchi Grover, Satabdi Basu, and Patricia Schank. What we can learn about student learning from open-ended programming projects in middle school computer science. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education, SIGCSE '18, page 999--1004, New York, NY, USA, 2018. Association for Computing Machinery. ISBN 9781450351034. 10.1145/3159450.3159522. URL https://doi.org/10.1145/3159450.3159522.
[8]
Mark Guzdial. Learner-centered design of computing education: Research on computing for everyone. Synthesis Lectures on Human-Centered Informatics, 8 (6): 1--165, 2015.
[9]
Mark Guzdial and Andrea Forte. Design process for a non-majors computing course. ACM SIGCSE Bulletin, 37 (1): 361--365, 2005.
[10]
Yousef Haik, Sangarappillai Sivaloganathan, and Tamer Shahin. Engineering design process. Nelson Education, 2018.
[11]
Björn Hartmann, Loren Yu, Abel Allison, Yeonsoo Yang, and Scott R Klemmer. Design as exploration: creating interface alternatives through parallel authoring and runtime tuning. In Proceedings of the 21st annual ACM symposium on User interface software and technology, pages 91--100, 2008.
[12]
Carol Hulls, Chris Rennick, Sanjeev Bedi, Mary Robinson, and William Melek. The use of an open-ended project to improve the student experience in first year programming. Proceedings of the Canadian Engineering Education Association (CEEA), 2015.
[13]
Michelle Ichinco and Caitlin Kelleher. Exploring novice programmer example use. In 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 63--71. IEEE, 2015.
[14]
Michelle Ichinco, Wint Yee Hnin, and Caitlin L Kelleher. Suggesting api usage to novice programmers with the example guru. In Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems, pages 1105--1117, 2017.
[15]
Mary Beth Kery and Brad A Myers. Exploring exploratory programming. In 2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC), pages 25--29. IEEE, 2017.
[16]
Mary Beth Kery, Amber Horvath, and Brad A Myers. Variolite: Supporting exploratory programming by data scientists. In CHI, volume 10, pages 3025453--3025626, 2017.
[17]
Sanders, Sepp"al"a, et al.]lister2004multiRaymond Lister, Elizabeth S Adams, Sue Fitzgerald, William Fone, John Hamer, Morten Lindholm, Robert McCartney, Jan Erik Moström, Kate Sanders, Otto Sepp"al"a, et al. A multi-national study of reading and tracing skills in novice programmers. ACM SIGCSE Bulletin, 36 (4): 119--150, 2004.
[18]
Steven McGee, Randi McGee-Tekula, Jennifer Duck, Catherine McGee, Lucia Dettori, Ronald I. Greenberg, Eric Snow, Daisy Rutstein, Dale Reed, Brenda Wilkerson, Don Yanek, Andrew M. Rasmussen, and Dennis Brylow. Equal outcomes 4 all: A study of student learning in ecs. In Proceedings of the 49th ACM Technical Symposium on Computer Science Education, SIGCSE '18, page 50--55, New York, NY, USA, 2018. Association for Computing Machinery. ISBN 9781450351034. 10.1145/3159450.3159529. URL https://doi.org/10.1145/3159450.3159529.
[19]
Martin, Gomes, Dong, Harred, Isvik, Barnes, Price, and Martens]milliken2021planitAlexandra Milliken, Wengran Wang, Veronica Cateté, Sarah Martin, Neeloy Gomes, Yihuan Dong, Rachel Harred, Amy Isvik, Tiffany Barnes, Thomas Price, and Chris Martens. Planit! a new integrated tool to help novices design for open-ended projects. In Proceedings of the 52nd ACM Technical Symposium on Computer Science Education, SIGCSE '21, page 232--238, New York, NY, USA, 2021. Association for Computing Machinery. ISBN 9781450380621. 10.1145/3408877.3432552. URL https://doi.org/10.1145/3408877.3432552.
[20]
J Moenig and B Harvey. Byob build your own blocks (a/k/a snap!). URL: http://byob. berkeley. edu/, accessed Aug, 2012.
[21]
Seymour Papert. Mindstorms: Computers, children, and powerful ideas. NY: Basic Books, page 255, 1980.
[22]
Chris Parnin and Christoph Treude. Measuring api documentation on the web. In Proceedings of the 2nd international workshop on Web 2.0 for software engineering, pages 25--30, 2011.
[23]
Kylie A Peppler and Yasmin B Kafai. From supergoo to scratch: Exploring creative digital media production in informal learning. Learning, media and technology, 32 (2): 149--166, 2007.
[24]
and Barnes]price2017factorsThomas W Price, Zhongxiu Liu, Veronica Cateté, and Tiffany Barnes. Factors influencing students' help-seeking behavior while programming with human and computer tutors. In Proceedings of the 2017 ACM Conference on International Computing Education Research, pages 127--135. ACM, 2017.
[25]
Martin P Robillard. What makes apis hard to learn? answers from developers. IEEE software, 26 (6): 27--34, 2009.
[26]
Martin P Robillard, Eric Bodden, David Kawrykow, Mira Mezini, and Tristan Ratchford. Automated api property inference techniques. IEEE Transactions on Software Engineering, 39 (5): 613--637, 2012.
[27]
Mary Beth Rosson and John M Carroll. Active programming strategies in reuse. In European Conference on Object-Oriented Programming, pages 4--20. Springer, 1993.
[28]
Kyle Thayer, Sarah E Chasins, and Amy J Ko. A theory of robust api knowledge. ACM Transactions on Computing Education (TOCE), 21 (1): 1--32, 2021.
[29]
Wang, Rao, Shi, Milliken, Martens, Barnes, and Price]wang2020comparingWengran Wang, Yudong Rao, Yang Shi, Alexandra Milliken, Chris Martens, Tiffany Barnes, and Thomas W. Price. Comparing feature engineering approaches to predict complex programming behaviors. Educational Data Mining in Computer Science Education (CSEDM) Workshop @ EDM'20, 2020 a .
[30]
Wang, Rao, Zhi, Marwan, Gao, and Price]wang2020stepWengran Wang, Yudong Rao, Rui Zhi, Samiha Marwan, Ge Gao, and Thomas Price. The step tutor: Supporting students through step-by-step example-based feedback. ITiCSE'20 - Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education, To be published, pages 391--397, 2020 b .
[31]
Wengran Wang, Archit Kwatra, James Skripchuk, Neeloy Gomes, Alexandra Milliken, Chris Martens, Tiffany Barnes, and Thomas Price. Novices' learning barriers when using code examples in open-ended programming. In Proceedings of the 26th ACM Conference on Innovation and Technology in Computer Science Education V. 1, ITiCSE '21, pages 394--400, New York, NY, USA, 2021. Association for Computing Machinery. ISBN 9781450382144. 10.1145/3430665.3456370. URL https://doi.org/10.1145/3430665.3456370.
[32]
Rui Zhi, Thomas W Price, Samiha Marwan, Alexandra Milliken, Tiffany Barnes, and Min Chi. Exploring the impact of worked examples in a novice programming environment. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education, pages 98--104. ACM, 2019.

Cited By

View all
  • (2024)Training AI Model that Suggests Python Code from Student Requests in Natural LanguageJournal of Information Processing10.2197/ipsjjip.32.6932(69-76)Online publication date: 2024
  • (2023)How Novices Use LLM-based Code Generators to Solve CS1 Coding Tasks in a Self-Paced Learning EnvironmentProceedings of the 23rd Koli Calling International Conference on Computing Education Research10.1145/3631802.3631806(1-12)Online publication date: 13-Nov-2023
  • (2023)Investigating the Impact of On-Demand Code Examples on Novices' Open-Ended Programming ExperienceProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600141(464-475)Online publication date: 7-Aug-2023
  • Show More Cited By

Index Terms

  1. Exploring Design Choices to Support Novices' Example Use During Creative Open-Ended Programming

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image ACM Conferences
      SIGCSE 2022: Proceedings of the 53rd ACM Technical Symposium on Computer Science Education - Volume 1
      February 2022
      1049 pages
      ISBN:9781450390705
      DOI:10.1145/3478431
      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 the author(s) 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: 22 February 2022

      Permissions

      Request permissions for this article.

      Check for updates

      Badges

      • Best Paper

      Author Tags

      1. code examples
      2. novice programming
      3. open-ended programming

      Qualifiers

      • Research-article

      Funding Sources

      Conference

      SIGCSE 2022
      Sponsor:

      Acceptance Rates

      Overall Acceptance Rate 1,595 of 4,542 submissions, 35%

      Upcoming Conference

      SIGCSE TS 2025
      The 56th ACM Technical Symposium on Computer Science Education
      February 26 - March 1, 2025
      Pittsburgh , PA , USA

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)190
      • Downloads (Last 6 weeks)17
      Reflects downloads up to 25 Dec 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Training AI Model that Suggests Python Code from Student Requests in Natural LanguageJournal of Information Processing10.2197/ipsjjip.32.6932(69-76)Online publication date: 2024
      • (2023)How Novices Use LLM-based Code Generators to Solve CS1 Coding Tasks in a Self-Paced Learning EnvironmentProceedings of the 23rd Koli Calling International Conference on Computing Education Research10.1145/3631802.3631806(1-12)Online publication date: 13-Nov-2023
      • (2023)Investigating the Impact of On-Demand Code Examples on Novices' Open-Ended Programming ExperienceProceedings of the 2023 ACM Conference on International Computing Education Research - Volume 110.1145/3568813.3600141(464-475)Online publication date: 7-Aug-2023
      • (2023)A Worked Example Model for Teaching Dynamic ProgrammingProceedings of the 54th ACM Technical Symposium on Computer Science Education V. 210.1145/3545947.3576232(1286-1286)Online publication date: 1-Mar-2023
      • (2022)Pinpoint: A Record, Replay, and Extract System to Support Code Comprehension and Reuse2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC53370.2022.9833105(1-10)Online publication date: 12-Sep-2022

      View Options

      View options

      PDF

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media