ABSTRACT
Conversational programmers want to learn about code primarily to communicate with technical co-workers, not to develop software. However, existing instructional materials don’t meet the needs of conversational programmers because they prioritize syntax and semantics over concepts and applications. This mismatch results in feelings of failure and low self-efficacy. To motivate conversational programmers, we propose purpose-first programming, a new approach that focuses on learning a handful of domain-specific code patterns and assembling them to create authentic and useful programs. We report on the development of a purpose-first programming prototype that teaches five patterns in the domain of web scraping. We show that learning with purpose-first programming is motivating for conversational programmers because it engenders a feeling of success and aligns with these learners’ goals. Purpose-first programming learning enabled novice conversational programmers to complete scaffolded code writing, debugging, and explaining activities after only 30 minutes of instruction.
- Anthony Anderson, Christina L. Knussen, and Michael R. Kibby. 1993. Teaching teachers to use HyperCard: a minimal manual approach. British Journal of Educational Technology 24, 2 (1993), 92–101.Google ScholarCross Ref
- John B. Black, John M. Carroll, and Stuart M. McGuigan. 1986. What Kind of Minimal Instruction Manual is the Most Effective. In Proceedings of the SIGCHI/GI Conference on Human Factors in Computing Systems and Graphics Interface(Toronto, Ontario, Canada) (CHI ’87). Association for Computing Machinery, New York, NY, USA, 159–162. https://doi.org/10.1145/29933.275623Google ScholarDigital Library
- Kirsten Boehner, Janet Vertesi, Phoebe Sengers, and Paul Dourish. 2007. How HCI Interprets the Probes. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (San Jose, CA, USA) (CHI ’07). ACM, New York, NY, USA, 1077–1086. https://doi.org/10.1145/1240624.1240789Google ScholarDigital Library
- Karen Brennan and Mitchel Resnick. 2012. New frameworks for studying and assessing the development of computational thinking. In Proceedings of the 2012 annual meeting of the American Educational Research Association (Vancouver, Canada), Vol. 1. AERA, Washington D.C., USA, 25.Google Scholar
- Tracy Camp, W. Richards Adrion, Betsy Bizot, Susan Davidson, Mary Hall, Susanne Hambrusch, Ellen Walker, and Stuart Zweben. 2017. Generation CS: The Growth of Computer Science. ACM Inroads 8, 2 (May 2017), 44–50. https://doi.org/10.1145/3084362Google ScholarDigital Library
- John M. Carroll, Penny L. Smith-Kerker, James R. Ford, and Sandra A. Mazur-Rimetz. 1987. The Minimal Manual. Hum.-Comput. Interact. 3, 2 (June 1987), 123–153. https://doi.org/10.1207/s15327051hci0302_2Google ScholarDigital Library
- Sarah E. Chasins, Maria Mueller, and Rastislav Bodik. 2018. Rousillon: Scraping Distributed Hierarchical Web Data. In Proceedings of the 31st Annual ACM Symposium on User Interface Software and Technology (Berlin, Germany) (UIST ’18). ACM, New York, NY, USA, 963–975. https://doi.org/10.1145/3242587.3242661Google ScholarDigital Library
- Parmit K. Chilana, Celena Alcock, Shruti Dembla, Anson Ho, Ada Hurst, Brett Armstrong, and Philip J. Guo. 2015. Perceptions of Non-CS Majors in Intro Programming: The Rise of the Conversational Programmer. In 2015 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, New York, NY, USA, 251–259. https://doi.org/10.1109/VLHCC.2015.7357224Google ScholarCross Ref
- Parmit K. Chilana, Rishabh Singh, and Philip J. Guo. 2016. Understanding Conversational Programmers: A Perspective from the Software Industry. In Proceedings of the 2016 CHI Conference on Human Factors in Computing Systems (San Jose, CA, USA) (CHI ’16). ACM, New York, NY, USA, 1462–1472. https://doi.org/10.1145/2858036.2858323Google ScholarDigital Library
- Alan Cooper. 2004. The Inmates Are Running the Asylum: Why High-Tech Products Drive Us Crazy and How to Restore the Sanity(2 ed.). Sams, Indianapolis, IN, USA.Google Scholar
- Kathryn Cunningham, Rahul Agrawal Bejarano, Mark Guzdial, and Barbara Ericson. 2020. “I’m Not a Computer”: How Identity Informs Value and Expectancy During a Programming Activity. In ICLS 2020 Proceedings(The 14th International Conference of the Learning Sciences, Vol. 2). International Society of the Learning Sciences (ISLS), 705–708.Google Scholar
- Kathryn Cunningham, Shannon Ke, Mark Guzdial, and Barbara Ericson. 2019. Novice Rationales for Sketching and Tracing, and How They Try to Avoid It. In Proceedings of the 2019 ACM Conference on Innovation and Technology in Computer Science Education (Aberdeen, Scotland Uk) (ITiCSE ’19). ACM, New York, NY, USA, 37–43. https://doi.org/10.1145/3304221.3319788Google ScholarDigital Library
- Andrew Dillon. 2012. What It Means to Be an iSchool. Journal of Education for Library and Information Science 53, 4(2012), 267–273.Google Scholar
- Robert Dyer, Hoan Anh Nguyen, Hridesh Rajan, and Tien N. Nguyen. 2013. Boa: A Language and Infrastructure for Analyzing Ultra-Large-Scale Software Repositories. In Proceedings of the 2013 International Conference on Software Engineering (San Francisco, CA, USA) (ICSE ’13). IEEE Press, New York, NY, USA, 422–431.Google ScholarDigital Library
- Jacquelynne Eccles. 1983. Expectancies, Values and Academic Behaviors. In Achievement and Achievement Motives: Psychological and Sociological Approaches. Freeman, San Francisco, CA, USA, 75–146.Google Scholar
- Jacquelynne S. Eccles. 2005. Subjective Task Value and the Eccles et al. Model of Achievement-Related Choices. In Handbook of competence and motivation. Guilford Publications, New York, NY, USA, 105–121.Google Scholar
- Jacqueline S. Eccles. 2009. Who am I and what am I going to do with my life? Personal and collective identities as motivators of action. Educational Psychologist 44, 2 (2009), 78.Google ScholarCross Ref
- Barbara J. Ericson, Mark J. Guzdial, and Briana B. Morrison. 2015. Analysis of Interactive Features Designed to Enhance Learning in an Ebook. In Proceedings of the Eleventh Annual International Conference on International Computing Education Research (Omaha, Nebraska, USA) (ICER ’15). ACM, New York, NY, USA, 169–178. https://doi.org/10.1145/2787622.2787731Google ScholarDigital Library
- Barbara J. Ericson, Kantwon Rogers, Miranda Parker, Briana Morrison, and Mark Guzdial. 2016. Identifying Design Principles for CS Teacher Ebooks Through Design-Based Research. In Proceedings of the 2016 ACM Conference on International Computing Education Research(Melbourne, VIC, Australia) (ICER ’16). ACM, New York, NY, USA, 191–200. https://doi.org/10.1145/2960310.2960335Google ScholarDigital Library
- Kathi Fisler. 2014. The Recurring Rainfall Problem. In Proceedings of the Tenth Annual Conference on International Computing Education Research (Glasgow, Scotland, United Kingdom) (ICER ’14). Association for Computing Machinery, New York, NY, USA, 35–42. https://doi.org/10.1145/2632320.2632346Google ScholarDigital Library
- Kathi Fisler, Shriram Krishnamurthi, and Janet Siegmund. 2016. Modernizing Plan-Composition Studies. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (Memphis, Tennessee, USA) (SIGCSE ’16). ACM, New York, NY, USA, 211–216. https://doi.org/10.1145/2839509.2844556Google ScholarDigital Library
- Fernand Gobet, Peter CR Lane, Steve Croker, Peter CH Cheng, Gary Jones, Iain Oliver, and Julian M Pine. 2001. Chunking Mechanisms in Human Learning. Trends in cognitive sciences 5, 6 (2001), 236–243.Google Scholar
- Ira Greenberg. 2007. Processing: Creative Coding and Computational Art. Apress, Berkeley, CA, USA.Google Scholar
- Philip J. Guo. 2013. Online Python Tutor: Embeddable Web-Based Program Visualization for Cs Education. In Proceeding of the 44th ACM Technical Symposium on Computer Science Education (Denver, Colorado, USA) (SIGCSE ’13). ACM, New York, NY, USA, 579–584. https://doi.org/10.1145/2445196.2445368Google ScholarDigital Library
- Mark Guzdial. 1995. Software-realized scaffolding to facilitate programming for science learning. Interactive Learning Environments 4, 1 (1995), 1–44.Google ScholarCross Ref
- Mark Guzdial, Michael Konneman, Christopher Walton, Luke Hohmann, and Elliot Soloway. 1998. Layering scaffolding and CAD on an integrated workbench: An effective design approach for project-based learning support. Interactive Learning Environments 6, 1/2 (1998), 143–179.Google ScholarCross Ref
- Mark Guzdial and Allison Elliott Tew. 2006. Imagineering Inauthentic Legitimate Peripheral Participation: An Instructional Design Approach for Motivating Computing Education. In Proceedings of the Second International Workshop on Computing Education Research (Canterbury, United Kingdom) (ICER ’06). ACM, New York, NY, USA, 51–58. https://doi.org/10.1145/1151588.1151597Google ScholarDigital Library
- Kyle James Harms, Jason Chen, and Caitlin L. Kelleher. 2016. Distractors in Parsons Problems Decrease Learning Efficiency for Young Novice Programmers. In Proceedings of the 2016 ACM Conference on International Computing Education Research (Melbourne, VIC, Australia) (ICER ’16). ACM, New York, NY, USA, 241–250. https://doi.org/10.1145/2960310.2960314Google ScholarDigital Library
- Brian Harvey and Jens Mönig. 2010. Bringing “No Ceiling” to Scratch: Can One Language Serve Kids and Computer Scientists. In Proceedings of the 2010 Constructionism Conference (Paris, France). 1–10.Google Scholar
- Juha Helminen, Petri Ihantola, Ville Karavirta, and Lauri Malmi. 2012. How Do Students Solve Parsons Programming Problems? An Analysis of Interaction Traces. In Proceedings of the Ninth Annual International Conference on International Computing Education Research (Auckland, New Zealand) (ICER ’12). ACM, New York, NY, USA, 119–126. https://doi.org/10.1145/2361276.2361300Google ScholarDigital Library
- Cindy E. Hmelo and Mark Guzdial. 1996. Of Black and Glass Boxes: Scaffolding for Doing and Learning. In Proceedings of the 1996 International Conference on Learning Sciences (Evanston, Illinois) (ICLS ’96). International Society of the Learning Sciences (ISLS), 128–134.Google Scholar
- Luke Hohmann, Mark Guzdial, and Elliot Soloway. 1992. SODA: A Computer Aided Design Environment for the Doing and Learning of Software Design. In Proceedings of the 4th International Conference on Computer Assisted Learning(ICCAL ’92). Springer-Verlag, Berlin, Heidelberg, 307–319.Google ScholarCross Ref
- David Landy and Robert L. Goldstone. 2007. How Abstract Is Symbolic Thought?Journal of Experimental Psychology: Learning, Memory, and Cognition 33, 4(2007), 720.Google ScholarCross Ref
- Jean Lave and Etienne Wenger. 1991. Situated Learning: Legitimate Peripheral Participation. Cambridge University Press, Cambridge, UK.Google ScholarCross Ref
- Raymond Lister. 2011. Concrete and Other Neo-Piagetian Forms of Reasoning in the Novice Programmer. In Proceedings of the Thirteenth Australasian Computing Education Conference - Volume 114 (Perth, Australia) (ACE ’11). Australian Computer Society, Inc., AUS, 9–18.Google ScholarDigital Library
- 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). ACM, New York, NY, USA, 119–150. https://doi.org/10.1145/1044550.1041673Google ScholarDigital Library
- John Maloney, Mitchel Resnick, Natalie Rusk, Brian Silverman, and Evelyn Eastmond. 2010. The Scratch Programming Language and Environment. ACM Trans. Comput. Educ. 10, 4, Article 16 (Nov. 2010), 15 pages. https://doi.org/10.1145/1868358.1868363Google ScholarDigital Library
- John H. Maloney, Kylie Peppler, Yasmin Kafai, Mitchel Resnick, and Natalie Rusk. 2008. Programming by choice: urban youth learning programming with scratch. In SIGCSE ’08: Proceedings of the 39th SIGCSE technical symposium on Computer science education (Portland, OR, USA). ACM, New York, NY, USA, 367–371. https://doi.org/10.1145/1352135.1352260Google ScholarDigital Library
- Lauren Margulieux and Richard Catrambone. 2017. Using Learners’ Self-Explanations of Subgoals to Guide Initial Problem Solving in App Inventor. In Proceedings of the 2017 ACM Conference on International Computing Education Research (Tacoma, Washington, USA) (ICER ’17). Association for Computing Machinery, New York, NY, USA, 21–29. https://doi.org/10.1145/3105726.3106168Google ScholarDigital Library
- Lauren E. Margulieux, Richard Catrambone, and Mark Guzdial. 2013. Subgoal labeled worked examples improve K-12 teacher performance in computer programming training. In Cooperative Minds: Social Interaction and Group Dynamics Proceedings of the 35th Annual Conference of the Cognitive Science Society (Berlin, Germany), M. Knauff, M. Pauen, N. Sebanz, and I. Wachsmuth (Eds.). Cognitive Science Society, Austin, TX, USA, 978–983.Google Scholar
- Lauren E. Margulieux, Mark Guzdial, and Richard Catrambone. 2012. Subgoal-labeled Instructional Material Improves Performance and Transfer in Learning to Develop Mobile Applications. In Proceedings of the Ninth Annual International Conference on International Computing Education Research (Auckland, New Zealand) (ICER ’12). ACM, New York, NY, USA, 71–78. https://doi.org/10.1145/2361276.2361291Google ScholarDigital Library
- Marvin Minsky. 1974. A Framework for Representing Knowledge. Technical Report. Massachusetts Institute of Technology-AI Laboratory.Google Scholar
- Briana B. Morrison, Lauren E. Margulieux, Barbara Ericson, and Mark Guzdial. 2016. Subgoals Help Students Solve Parsons Problems. In Proceedings of the 47th ACM Technical Symposium on Computing Science Education (Memphis, Tennessee, USA) (SIGCSE ’16). ACM, New York, NY, USA, 42–47. https://doi.org/10.1145/2839509.2844617Google ScholarDigital Library
- Briana B. Morrison, Lauren E. Margulieux, and Mark Guzdial. 2015. Subgoals, Context, and Worked Examples in Learning Computing Problem Solving. In Proceedings of the Eleventh Annual International Conference on International Computing Education Research (Omaha, Nebraska, USA) (ICER ’15). ACM, New York, NY, USA, 21–29. https://doi.org/10.1145/2787622.2787733Google ScholarDigital Library
- Fred G. Paas. 1992. Training Strategies for Attaining Transfer of Problem-Solving Skill in Statistics: A Cognitive-Load Approach.Journal of Educational Psychology 84, 4 (1992), 429.Google ScholarCross Ref
- Dale Parsons and Patricia Haden. 2006. Parsons Programming Puzzles: A Fun and Effective Learning Tool for First Programming Courses. In Proceedings of the 8th Australasian Conference on Computing Education - Volume 52 (Hobart, Australia) (ACE ’06). Australian Computer Society, Inc., Darlinghurst, Australia, Australia, 157–163. http://dl.acm.org/citation.cfm?id=1151869.1151890Google Scholar
- Alan J. Perlis. 1982. Special Feature: Epigrams on Programming. ACM SIGPLAN Notices 17, 9 (1982), 7–13.Google ScholarDigital Library
- Leonard Richardson. 2020. Beautiful Soup Documentation. Beautiful Soup 4.9.0. Accessed: 2020-09-15.Google Scholar
- Robert S. Rist. 1989. Schema Creation in Programming. Cognitive Science 13, 3 (1989), 389–414.Google ScholarCross Ref
- Kelly Rivers, Erik Harpstead, and Ken Koedinger. 2016. Learning Curve Analysis for Programming: Which Concepts Do Students Struggle With?. In Proceedings of the 2016 ACM Conference on International Computing Education Research (Melbourne, VIC, Australia) (ICER ’16). ACM, New York, NY, USA, 143–151. https://doi.org/10.1145/2960310.2960333Google ScholarDigital Library
- Roger C. Schank and Robert P. Abelson. 1977. Scripts, Plans, Goals, and Understanding: An Inquiry into Human Knowledge Structures. Lawrence Erlbaum, Hillsdale, New Jersey, USA.Google Scholar
- Otto Seppälä, 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 (Koli, Finland) (Koli Calling ’15). Association for Computing Machinery, New York, NY, USA, 87–96. https://doi.org/10.1145/2828959.2828963Google ScholarDigital Library
- Elliot Soloway. 1985. From problems to programs via plans: The content and structure of knowledge for introductory LISP programming. Journal of Educational Computing Research 1, 2 (1985), 157–172.Google ScholarCross Ref
- Elliot Soloway. 1986. Learning to Program = Learning to Construct Mechanisms and Explanations. Commun. ACM 29, 9 (1986), 850–858.Google ScholarDigital Library
- Elliot Soloway, Jeffrey Bonar, and Kate Ehrlich. 1983. Cognitive strategies and looping constructs: An empirical study. Commun. ACM 26, 11 (1983), 853–860.Google ScholarDigital Library
- Elliot Soloway and Kate Ehrlich. 1984. Empirical Studies of Programming Knowledge. IEEE Transactions on Software Engineering SE-10, 5 (Sept. 1984), 595–609.Google ScholarDigital Library
- Elliot Soloway, Kate Ehrlich, Jeffrey Bonar, and J. Greenspan. 1982. What do novices know about programming?In Directions in Human-Computer Interaction, Andre Badre and Ben Schneiderman (Eds.). Ablex Publishing, Norwood, New Jersey, USA, 87–122.Google Scholar
- Elliot M. Soloway and Beverly Woolf. 1980. Problems, Plans, and Programs. In Proceedings of the Eleventh SIGCSE Technical Symposium on Computer Science Education (Kansas City, Missouri, USA) (SIGCSE ’80). ACM, New York, NY, USA, 16–24. https://doi.org/10.1145/800140.804605Google ScholarDigital Library
- Juha Sorva. 2013. Notional Machines and Introductory Programming Education. Transactions on Computing Education 13, 2, Article 8 (July 2013), 31 pages. https://doi.org/10.1145/2483710.2483713Google ScholarDigital Library
- Juha Sorva, Ville Karavirta, and Lauri Malmi. 2013. A Review of Generic Program Visualization Systems for Introductory Programming Education. ACM Transactions on Computing Education 13, 4 (2013), 15.1– 15.64. https://doi.org/10.1145/2490822Google ScholarDigital Library
- James Clinton Spohrer. 1989. MARCEL: A Generate-Test-and-Debug (GTD) Impasse/Repair Model of Student Programmers. Ablex Publishing, Norwood, New Jersey, USA.Google Scholar
- James C. Spohrer and Elliot Soloway. 1985. Putting it All Together is Hard for Novice Programmers. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics. Vol. March. IEEE, New York, New York, USA.Google Scholar
- James C. Spohrer and Elliot Soloway. 1986. Analyzing the high frequency bugs in novice programs. In Empirical Studies of Programmers Workshop, Elliot Soloway and S. Iyengar (Eds.). Ablex Publishing, Norwood, New Jersey, USA, 230–251.Google Scholar
- James C. Spohrer, Elliot Soloway, and Edgar Pope. 1985. A Goal/Plan Analysis of Buggy Pascal Programs. Human–Computer Interaction 1, 2 (June 1985), 163–207. https://doi.org/10.1207/s15327051hci0102_4Google ScholarDigital Library
- John Sweller. 1988. Cognitive load during problem solving: Effects on learning. Cognitive Science 12(1988), 257–285.Google ScholarCross Ref
- Anne Venables, Grace Tan, and Raymond Lister. 2009. A Closer Look at Tracing, Explaining and Code Writing Skills in the Novice Programmer. In Proceedings of the Fifth International Workshop on Computing Education Research Workshop (Berkeley, CA, USA) (ICER ’09). ACM, New York, NY, USA, 117–128. https://doi.org/10.1145/1584322.1584336Google ScholarDigital Library
- Lev S. Vygotsky. 1978. Socio-cultural theory. Harvard University Press, Cambridge, MA.Google Scholar
- April Y. Wang, Ryan Mitts, Philip J. Guo, and Parmit K. Chilana. 2018. Mismatch of Expectations: How Modern Learning Resources Fail Conversational Programmers. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (Montreal QC, Canada) (CHI ’18). ACM, New York, NY, USA, 1–13. https://doi.org/10.1145/3173574.3174085Google ScholarDigital Library
- David Weintrop and Uri Wilensky. 2015. To Block or Not to Block, That is the Question: Students’ Perceptions of Blocks-Based Programming. In Proceedings of the 14th International Conference on Interaction Design and Children (Boston, Massachusetts) (IDC ’15). ACM, New York, NY, USA, 199–208. https://doi.org/10.1145/2771839.2771860Google ScholarDigital Library
- David Wood, Jerome S Bruner, and Gail Ross. 1976. The Role of Tutoring in Problem Solving. Journal of child psychology and psychiatry 17, 2 (1976), 89–100.Google ScholarCross Ref
- Benjamin Xie, Dastyni Loksa, Greg L. Nelson, Matthew J. Davidson, Dongsheng Dong, Harrison Kwik, Alex Hui Tan, Leanne Hwa, Min Li, and Amy J Ko. 2019. A Theory of Instruction for Introductory Programming Skills. Computer Science Education 29, 2-3 (2019), 205–253.Google ScholarCross Ref
Index Terms
- Avoiding the Turing Tarpit: Learning Conversational Programming by Starting from Code’s Purpose
Recommendations
Purpose-first Programming: A Programming Learning Approach for Learners who Care Most About What Code Achieves
ICER '20: Proceedings of the 2020 ACM Conference on International Computing Education ResearchBecoming "a programmer" is associated with gaining a deep understanding of programming language semantics. However, as more people learn to program for more reasons than creating software, their learning needs differ. In particular, end-user programmers ...
Use of the Alice visual environment in teaching and learning object-oriented programming
SAICSIT '15: Proceedings of the 2015 Annual Research Conference on South African Institute of Computer Scientists and Information TechnologistsLearners at tertiary institutions struggle with writing object-oriented programs in complex object-oriented programming (OOP) languages. This paper describes a study that sought to improve learners' understanding of programming in the domain of OOP. ...
Time-constrained Code Recall Tasks for Monitoring the Development of Programming Plans
SIGCSE 2023: Proceedings of the 54th ACM Technical Symposium on Computer Science Education V. 1Programmers rely on the recognition and utilization of reoccurring code sequences to understand and create code. Knowledge of these sequences --programming plans -- has been shown to be a factor that differentiates novice programmers from experts. ...
Comments