Programming is widespread in multiple domains and is being integrated into various discipline-specific university courses where, like students in a typical introductory computing course, students from other disciplines face challenges with learning to program. We offer a case study in which we study undergraduate students majoring in either chemistry or biochemistry as they learn programming in a physical chemistry course sequence. Using surveys and think-aloud sessions with students, we conducted a thematic content analysis to explain the challenges they face in this endeavor. We found that students struggled to transfer their programming knowledge to new representations and problems, and they did not have strategies in place for solving problems with programming. These facts combine to lower students' confidence in their programming abilities, making it less likely that they will reach for computing to help solve domain-specific problems. We recommend that students in end-user programming contexts be explicitly taught the skills of abstraction, decomposition, and metacognitive awareness as they pertain to programming.
Read full abstract