Avoiding the turing tarpit: Learning conversational programming by starting from code's purpose

Kathryn Cunningham, Barbara Ericson, Rahul Agrawal Bejarano, Mark Guzdial

Research output: Chapter in Book/Report/Conference proceedingConference contribution


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-efcacy. To motivate conversational programmers, we propose purpose-frst programming, a new approach that focuses on learning a handful of domain-specifc code patterns and assembling them to create authentic and useful programs. We report on the development of a purpose-frst programming prototype that teaches fve patterns in the domain of web scraping. We show that learning with purpose-frst programming is motivating for conversational programmers because it engenders a feeling of success and aligns with these learners' goals. Purpose-frst programming learning enabled novice conversational programmers to complete scafolded code writing, debugging, and explaining activities after only 30 minutes of instruction.

Original languageEnglish (US)
Title of host publicationCHI 2021 - Proceedings of the 2021 CHI Conference on Human Factors in Computing Systems
Subtitle of host publicationMaking Waves, Combining Strengths
PublisherAssociation for Computing Machinery
ISBN (Electronic)9781450380966
StatePublished - May 6 2021
Externally publishedYes
Event2021 CHI Conference on Human Factors in Computing Systems: Making Waves, Combining Strengths, CHI 2021 - Virtual, Online, Japan
Duration: May 8 2021May 13 2021

Publication series

NameConference on Human Factors in Computing Systems - Proceedings


Conference2021 CHI Conference on Human Factors in Computing Systems: Making Waves, Combining Strengths, CHI 2021
CityVirtual, Online


  • Computer-supported instruction
  • Conversational programmers
  • Motivation
  • Programming plans
  • Scafolding

ASJC Scopus subject areas

  • Human-Computer Interaction
  • Computer Graphics and Computer-Aided Design
  • Software

Cite this