NSF Awards: 1712231
The trend is clear: programming is the skill to learn, but too few students pass introductory programming courses. How introductory programming is taught needs to be improved if we wish to achieve the goals of Computer Science for All and offer CS to everyone. The goal of this project is to expand the use of subgoal labels throughout the introductory computing course and test its effectiveness on student learning.
In this project we incorporate instructional techniques identified in educational psychology to improve learning in the introductory programming course leading to higher retention of students. Given the evidence that using worked examples with subgoal labels improves student learning in other STEM fields, we developed worked examples that incorporate the use of subgoal labels for all of the main programming concepts within an imperative programming language taught in an introductory programming course.
In the upcoming final year of the project there will be a large-scale deployment of the materials to assess the effect of instructional materials on student learning at different types of institutions. By incorporating the use of learning programming with subgoal labels, we anticipate improved student learning and retention of students within the course. By providing students with the tools needed to overcome initial problem-solving challenges, it is anticipated that not only will students learn more, they will also have greater early success learning foundational programming concepts, leading to retention within the discipline and a more positive computing experience.
Briana Morrison
Assistant Professor
Thank you for watching our video about our subgoal label work in introductory programming courses. Our project is entering its pilot phase and will be deployed in several classrooms next academic year. Our team is particularly interested in finding out what materials you believe you would need to adopt this technique in your courses and what barriers you perceive that adoption.
Lisa Miller
Teacher
Thank you for sharing your video! Could you say more about the results from your pilot test with 300 students. Higher quiz grades and better retention in the CS class are mentioned in the video. Were the improvements significant? Were you able to measure other impacts? Also, what grade level are you primarily focused on?
Adrienne Decker
There were statistically significant differences in the groups and the results are being published in an ITiCSE 2019 paper in July (not available yet). In this stage of the project, we are not measuring other impacts other than academic knowledge. This work is being done with undergraduate students and were designed for that audience, but could likely be used as-is for upper level high school students in an introductory programming course.
Lisa Miller
Abby Funabiki
Associate Executive Director
Looking forward to hearing about the deployment of materials next year! Would these resources be used for any introductory computer science course? For example, in a general education course meant to recruit some of the underrepresented populations you mentioned. Or mostly for computer science students? What about high school students?
Jared O'Leary
Adrienne Decker
The materials are being designed for an introductory programming course and tested with courses for intended majors. However, the audience is not necessarily strictly that population (majors). The technique could be moved into another course for non-majors, provided that the concepts being taught were the same. While we are testing with undergraduate students at this time, we believe that the material could be used for upper-level high school students in introductory programming courses (like AP CSA).
Abby Funabiki
Abby Funabiki
Associate Executive Director
Have you looked at why students aren't passing introductory programming courses? What do they cite as their reasons?
Jared O'Leary
Adrienne Decker
Our work does not directly address this issue, but others have looked into this problem. It is a complicated problem and no one has yet found the ultimate cause. As a field, we have some ideas, which include varying levels of preparation for the course caused by many factors prior to college, general college factors, and potentially things about the course or material itself.
Abby Funabiki
Quinn Burke
Senior Research Scientist
Thanks Adrienne and Briana (and wider team) for this video -- with the remarkable growth of CS as an academic major, this type of pedagogical support is quite timely as too often departments appear to be using CS1 as a weed-out course and students with prior high school coursework fare much better than those who may not have had the opportunity to take any intro CS on the secondary level. I will keep an eye out for the ITiCSE 2019 paper - curious anecdotally whether there's been any pushback from CS faculty about developing these subgoals (or has there been general support)?
Adrienne Decker
We have not yet heard pushback. In fact, many who see the materials remark that they use similar language and technique when explaining the concept, even if they do not use this exact methodology. We have teachers who are willing to pilot and interest in getting more subgoals for different languages and more topics, so I would say general support.
Kalpathi Subramanian
One of your slides mentioned 67.7% failure rate in Intro CS, but you state we lose one third of students. This is a bit misleading. Do you mean as a result of the failure rate, one third drop out of the major?
-- krs
Adrienne Decker
Not exactly - we lose 1/3 from the course. This may lead to them dropping out of the major, but it is simply pointing that 1/3 of the students are not successfully completing the course.
Clark Scholten
I am very interested in this research and am so happy to see materials like this being developed! I have attempted to incorporate subgoal labeling as comments in code starter files that I use in code-along notes in my intro to programming class and have found this to be especially helpful for the English Language Learners in my class. If you are interested in piloting the Runestone class in a Title I high school with a high percentage of ELL and Free/Reduced Lunch, I would be more than happy to work with you during the Spring 2020 semester.
Adrienne Decker
At this point, we don't have plans to expand into high school yet, but we will keep you in mind as our conversations progress.
Jared O'Leary
I could see this as being a very useful tool for both novice and experience programmers as it provides a clear framework to follow. I'm curious how the subgoals as statements might compare to a group that used subgoals as questions (i.e., comparing guided learning with guided inquiry-based learning).
Lauren Margulieux
Assistant Professor
We have done some work prior to this particular project comparing telling students the subgoals to asking students to identify subgoals for themselves. In general, the more novice students do better if you tell them the subgoals and the more experienced students do better if you let them apply their knowledge to identifying the subgoals for themselves. For this project, we decided to design for the more novice students and tell them, but the subgoals that we created could also be used as feedback for students who are identifying the subgoals for themselves.
Jared O'Leary
Jared O'Leary
Thank you for the response! I like the idea of students generating their own subgoals as it would encourage them to think through the processes for decomposing a problem and solution; however, it makes sense to me that your prior work found novice students might struggle with such an approach. Thanks again!
Abby Funabiki
Further posting is closed as the showcase has ended.