Thursday, February 14, 2013

Beware the Scaffold That Becomes a Crutch

This year I am experimenting with scaffolding to help students get started with imageprojects. For example I started one group with a project to calculate BMI (Body Mass Index). The students were given a project with the code that calculated the BMI and asked to add code to display a message based on that value. Not a lot of code and having the project that far along meant that they could spend all of their time on the if statements that were the topic of the current discussion. It worked out pretty well I thought.
The students got some good practice and there was no wasting of time building the GUI or making the BMI calculation work. I was pleased. But there is a down side to too much scaffolding and I want to make sure I avoid that as much as possible.
The downside is that students can become too dependent of too much scaffolding and too simple an add-on that they don’t learn how to create new code on their own. The Gas Station Without Pumps blog had a discussion about this problem recently at Descaffolding.
I think there is a good balance that can be reached. I am not a fan at all of exercises that give step by step instructions where the key is being able to read and follow a recipe. I know classes (and textbooks) like that and I worry that they not only remove creativity but hinder learning. I’ve driven to places where people sitting next to me have been there to direct me turn by turn. (And done this with a GPS of course). While this gets me there it often fails to teach me the way. The step by step directions become a crutch that removes the need to pay attention and learn the way myself. It means that if I want to learn how to get there on my own without the navigator (human or otherwise) that I have to pay extra attention and work deliberately to learn the way. I think it is like this for students with too detailed step by step instructions or too much scaffolding.
As a teacher I feel I need to find the balance between enough help that the frustration level is not too high but not so much help that they student doesn’t have to think about what they are doing. There has to be room for error. A lot of great learning comes from error. Going back to my driving analogy, I seem to be able to get to places better and easier if I have gotten lost (or a might confused) on my way there in the past. Such a problem forces attention and remembrance that a failure free trip does not.
I’m working at this balance. I want students to create unique projects and are theirs rather than fill in the blank or rote copies of code I have written for them. Students need to see how to get to a new solution on their own and not be dependent on every problem looking exactly like something they have already done.


Garth said...

Every book and tutorial I have seen follows the recipe scheme. If you can read (or listen) and type you can do the project. Since I do not have the time, initiative or brains to write my own book I try to write my own assignments. My assignments use the concepts the book is trying to present but require the kids to build from scratch. It is amazing what happens with these assignments. I knew exactly what I meant to say; too bad the kids did not read it that way. It is a series of refinements.

Alfred Thompson said...

I have increasingly become disenchanted with computer science textbooks. I've written several of them and the first one I wrote which was based directly on my own teaching was the one I liked best but going forward I find myself using them less and less.

Philly1776 said...

What do you think about remixing? After learning some basic blocks of code they can go back and tinker with specific snippets. Have you tried less teacher directed models?

Alfred Thompson said...

I like the idea of remixing. I may try some of that this year. Still getting back into the swing of teaching after some years away.