|CS Teaching Strategies -- I wish there |
was only one piece missing!
Subgoal Labeled Worked Examples - Research
I read a 2013 paper from Margulieux, Catrambone, and Guzdial and a 2016 paper by Margulieux and Catrambone from the site listed above. In both papers they used worked out examples as a means to teach concepts. I generally avoid this as I find my students simply try to cut and paste from the worked examples without getting the deeper understanding. However, they pointed out that the worked examples on their own were not enough and supported with with subgoal labeling -- essentially providing students with the step by step approach that will help them see the structure, organize the information, and be able to explain those steps to internally and to others.
I do something similar when I do a "code together" lecture where I introduce a new topic, write code to demonstrate it, and add comments to reinforce and explain what is happening in the code. This does seem to work well for students learning new concepts but it is very time consuming in my class and limits the amount of time that students have for labs with me.
The study showed that students were able to learn new concepts more quickly and were able to complete tasks using the new concepts with a higher success rate. The results were positive and promising for my classroom as well. I am left with the question wondering how much the improvements were related to having "good" tasks for the students to complete -- meaning the tasks were at a level that the students could accomplish with what they had learned and didn't have anything extra that they needed to know or research before completing the task. Coming up with good, related tasks that will challenge students without being trivial, be interesting to them, and not require some additional jump is difficult.
Subgoal Labeled Worked Examples - ApplicationMy intent with using subgoal labeled worked examples is to have a set of worked examples with comments in the code describing what is happening and then having students make a simple change to the code, followed by having them make an addition to the code where they need to apply the same concept. I will be doing this with applying the calling and creation of methods along with reinforcing the learning of math operations, precedence and the Math class.
The second part of the application that I plan to use is applying this strategy over a three unit time frame. We are going through a unit about every two weeks and this will give us six weeks of trying a method. The six week time period is similar to what I am accustomed to using with interventions for struggling students in math, to find the best intervention for that student.
I am looking forward to trying this out and seeing what the results are before mining the next gem from the University of Georgia research. Looking forward to this!