Using Subgoal Labels to Better Support Student Learning in Introductory Programming Courses

Author(s):
Adrienne Decker
Associate Professor
University at Buffalo

Need:With this rise in demand for coding skills, there has also been a rise in the desire to learn to code, with millions using online sites such as code.org, codecademy.org, and khanacademy.org, and tens of thousands enrolling in coding boot camps and formal computer science programs. Countries around the world are even beginning to require coding classes in K-12 curricula, causing teachers to search for both learning technologies that teach coding and techniques for teaching with them effectively. Although the availability of opportunities to learn to code is growing, evidence suggests that these opportunities need improvement. Students continue to drop out of introductory programming (CS1) courses at rates of 30–50%, often because they find the material too difficult. Guiding Questions:We are expanding our previous work through three pillars:1.New populations – Expand use of our existing work by recruiting and training additional instructors (Java), 2.Expand instruction – Develop additional instructional materials that will cover additional programming topics such as inheritance, polymorphism, and recursion (Java)3.New programming language – Adapt our existing subgoals into a new programming language which is common in CS1 courses – PythonBy expanding the content, introducing a new programming language and expanding usage the main research questions to be explored are:●How does learning CS1 in a subgoal framework affect learning and persistence?●How do subgoal labels affect students with prior programming experience?Outcomes:Subgoal labels have been shown to be effective at reducing the cognitive load during problem solving in both mathematics and science and have been used in programming education and have shown improved learning and retention in students learning Java in their first course. This poster will present subgoal labels and the materials that have been developed for this project including practice exercises and an ebook.Broader Impacts:We anticipate the largest impact of this project to be to students’ learning outcomes associated with introductory programming. Improving student learning will lead to greater student success and retention. With the increasing demand for knowledge about programming to students from various backgrounds, supporting the learning of this diverse population will become even more pressing than it is now. Because the curricular materials are freely available, all instructors will be able to use the materials to improve the learning gains of their students. The other broader impact of this proposal will be on other STEM disciplines. By repeating our initial process in another programming language, we can determine the ease or difficulty of transferring existing subgoals to a new domain. This project will establish a proof of concept which can then be adopted by other STEM disciplines, such as engineering or physics. Other disciplines that involve problem solving and may struggle to retain students can learn from this proposed research on how to improve learning gains of their students. Subgoal labels can be adapted and incorporated into other disciplines to improve learning and retention as well.

Coauthors

Briana Morrison, University of Virginia, Charlottesville, VA