Skilling is for making and running skills courses. Problem solving is an important part of such courses. So, Skilling should include tools that help authors and instructors help students learn problem solving.
Problem solving is a mix of two basic psychological processes.
- Schema-based: recognizing situations that have been encountered, fetching appropriate schemas, and instantiating them.
- Means-ends reasoning: understand the desired end, and working out what to do to get there.
The latter process is what is usually meant by problem solving. It's effortful, uncertain, "figuring out what to do when you don't know what to do" kind of work.
Both processes together, of course. Means-ends reasoning identifies useful schemas, that are then used to create solutions.
Skilling is already strong on schemas. It helps authors represent schemas explicitly, embed them in content, and create separate schema descriptions, that students can find in a schema catalog. Authors can use reflect tags to encourage abstraction, like this:
You can read more about schemas in Skilling.
However, Skilling isn't as strong in means-ends analysis. Recently, I've been reading more about that aspect of problem solving. In particular, I've been looking at scaffolding.
There's lots of good research out there, like Xun Ge's dissertation on questions as scaffolding, questions like "What are you trying to do here?" In lab work backed by protocol analyses, Dr Ge showed that asking such questions improved students' problem solving performance.
(Dr Ge published her dissertation in 2001. Since then, she's gone on to do Great Stuff.)
Questions have various functions, not all of which have to do with problem solving. Elaborative interrogation is a strategy where students are asked "why" and "how" questions when they are first learning a concept. These questions enhance memory, but not problem solving, at least, not directly.
Questions that help problem solving come later, during problem solving itself. Questions can, for example, activate prior knowledge, as in "Is there anything you learned last week that might help here?"
can be particularly important in scaffolding problem solving. Questions like:
- Do I understand the goal?
- Do I know the attributes of a good solution?
- Is the work I have done so far leading me to a solution, or should I switch strategies?
These questions are often difficult for students. They're unstructured, without clear answers in most cases. The details of the answers are context-specific; teasing answers from context can be difficult for novices.
Also notice that the questions are less about the solution, than about the student herself. "Do I understand the goal?" Whether someone else understands isn't the issue (although other people can be a resource). For the student to do the work, it's her understanding that matters.
So, questions are an important form of scaffolding for problem solving. Other methods include:
- Working with other students, although if everyone is a novice, progress will be slow.
- Aside: students asking questions of each other is probably a mechanism behind the effects of teams. Ge's results suggested this, as does other research (check the third paragraph of the show notes).
- Explaining a problem to someone else, or to baby Groot (a story from Saundra Yancy McGuire; you gotta check out her work).
- Watching demonstrations of problem solving, essentially worked examples with a problem-solving focus.
- Demonstrations could be annotated to point out problem-solving moves, like thinking about whether progress is being made.
- Adding questions for students as they read/watch demonstrations, like "Why did she do that?" Ideally, students should stop, and write something down, before they continue.
- Asking students to compare their thinking with that of experts. There's interesting research on that in a medical context.
- Using visuals, like flowcharts. Visuals can be about the solution ("here's a flowchart for this code"), or the solution process ("here's a flowchart of how Sarah has been working on the project.")
- Graphic organizers.
Skilling already helps with most of these, like annotations and reflections. However, there are some things that could be added.
First, Skilling could support organizers. Here's an organizer to help students use the input-processing-output schema for programming. The organizer emphasizes decomposition, asking students to list the variables that link the program sections together.
So what would students actually do to use that?
Maybe an exercise would have a link to a list of organizers, with the one selected. Students could click a button that clones the organizer, giving them their own copy. Then they could edit it, filling in the fields.
Want to use the same organizer for another exercise? Clone it again.
Authors would need an easy way to create organizers, right?
Yes. I'm not sure how that would work. I've got some ideas, but need to think about it some more.
See what I did there? The characters and I are modeling working on a problem. Mind blown!
Characters are a standard part of Skilling.
Second, students have to be able to draw, like making flowcharts, or concept maps. Text alone won't do it. There are no interactive drawing tools in Skilling right now. I think I've found one that will work well, but am not sure how to Drupalize it. I'll have to do some problem solving.
Third, some writers suggest giving hints to students. Maybe there'd be a button that says something like "Click me for hints," that, when clicked, showed... well, hints.
But you want students to struggle, deal with frustration. That's part of learning to solve problems. If they just click and get hints, they won't experience the struggle.
Hmm, good point, Adela. Maybe the button would show a warning before showing hints, like "Are you sure you want a hint? You should try it yourself for a while."
Maybe keep track of whether students use hints, and show that on their records. Try to create a social norm that not using hints is better, and they should only use them if they're really, really stuck.
Yes, that might work! Thanks, Georgina.
There's still something missing. Skilling might have all these tools, but would authors know how to use them to help students learn problem solving?
Great point! You beat me to it.
That's the fourth and last improvement. Authors would need learning patterns for teaching problem solving.
Let's take an example. Programming courses have lessons on debugging, or at least they should. Authors want students to learn problem solving process schemas, like using a binary split to find a bug. The binary split schema goes like this:
You can insert a debugger break point half way through the program. If the problem shows up before that breakpoint, set another breakpoint about 25% of the way through the program. If the error doesn't show up at that breakpoint, put another one at 37.5% of the way through the program. Each step narrows down the bug's location.
Here's how authors might proceed. First, they create a lesson on this process schema. The lesson might:
- Explain the method conceptually.
- Show it in action, with a couple of annotated worked examples.
- Give some exercises where students have to find the line number a bug is on.
That one lesson isn't enough, of course. The next few lessons might start with quizzes that reactivate the binary split debugging schema. Future debugging lessons would refer to the schema.
That's still not enough. Students have direct and juxtapositional cues suggesting that they should use binary split. That scaffolding should vanish. For example, end-of-module exercises, and exercises later in the course, would include situations where binary split helps, but not actually tell students that. They have to figure it out for themselves, without external cues.
OK, I see what a lesson on problem solving might look like. But that's just the cognitive side.
There's a lot missing, that we want students to experience. What about frustration, persistence, and motivation?
That would have to be there, too. Maybe interviews with students, who talk about their frustration when solving problems, and what they did. Advice could be repeated throughout the course. Not just in lessons on problem solving, but whenever students encounter difficult content.
I don't have all the answers, but that's OK. Skilling supports continuous improvement. We don't need to get everything right the first time. It's getting better and better than counts.
- Problem solving involves schema use, and means-ends analysis.
- Skilling has schemas covered already.
- Skilling mostly has means-ends covered, too, but a few things need to be added.
- One thing is a good explanation for authors on how to use Skilling's tools to write lessons on problem solving.
Onward! Victory, or Sovngarde!
Thanks to Mark Isken for reminding me of the importance of struggle.