(Here’s part 1.)
The objective
Students will demonstrate their understanding of the concept of variables by correctly answering questions about what variables and assignment statements mean, and discussing the answers with one another.
Here’s how I thought about it.
I know from experience that when the average person tries to learn programming, the biggest obstacle to that learning is a series of basic conceptual confusions. In a traditional course, one in which I lecture in the classroom, I have learned to structure my early lectures and assignments around correcting these misconceptions. Later on this becomes less important, but I still return to the same pattern whenever I introduce something conceptually new.
Here’s what I mean by conceptual confusions: when students first learn about programming, they don’t start from a blank slate. They start with a definite view of the world, and an approach to problem-solving, one that affects how they interpret what they learn. Whatever I teach them, they relate to what they already think they know.
Imagine that you have a big storeroom full of neatly labeled shelves. On each of the shelves there are neatly labeled half-full boxes of all shapes and sizes. Now someone gives you a strange object new object called a gizmo to add to your storeroom. What will you do if you have no box labeled “gizmos”? You’ll notice that it looks a little like a widget, and put it in the box labeled “widgets”.
That’s what students do when I teach them how to program. Every time I show them something new, they find a conceptual category that is familiar to them and put the new piece of information in that category.The problem comes when they need a new category. What they ought to do is purchase a new box, label it “gizmos”, find it a space on the shelves, and start collecting things for it. What they do instead is to squeeze what they’ve got into what they already know.
What I’ve got to do when I lecture is to push them to think in new categories. The problem is, the whole thing takes place on a largely subconscious level. Perhaps students comfortable with abstraction are good at deliberately overhauling their conceptual frameworks and expanding them, but most people just don’t think at that level most of the time.
In my experience, that’s OK. As long as I know what I’m doing, I don’t have to tell students: form a new concept. As a matter of fact, it would frequently be a mistake to do so. If I say something like that, it just confuses most of them. Instead, I approach the problem indirectly. I tell them to think using certain pictures; I insist that they use terms accurately; I carefully expose them to the questions that I know will push them to change their view in the most productive ways. They don’t know all of this is designed to change their conceptual map of the world, but it is.
So here is question number 1: in educational theory, one of the points of having clear objectives is to be as transparent as possible with students about what they are learning. So if I were to tell the students what my real objectives were, they would be this:
Students will habitually think about variables as boxes with names attached to them and values in them, rather than as unknowns. (call this private objective 1)
and this:
Students will habitually think of the assignment statement as putting a value into a box, instead of as a statement of equality. (call this private objective 2)
Instead, I said this:
Students will demonstrate their understanding of the concept of variables by correctly answering questions about what variables and assignment statements mean, and discussing the answers with one another. (call this the public objective)
The public objective is much more helpful for the student. It doesn’t confuse them, and it tells them how they will be assessed. Also, it is really an objective of mine as well, albeit a secondary one. Because it is public and aimed at students I am more careful to be sure it is measurable and follows the “rules” for objectives than I was in stating my private ones.
It’s not what I think about when I plan my instructional strategy, though. What I think about is my private objectives 1 and 2. I design my instructional activities and assessments to teach and test private objectives 1 and 2. Then I examine the public objective to see if it is aligned with my instructional activities and assessments. If it isn’t, I change it until it is.
So, the questions are:
1) Does this commit some cardinal sin of objectives-based instruction?
2) What should my objective have been? The private ones, the public one, or something in between?
I welcome responses from i3 instructors and general readers.
Part 3 reflects on the instructional activities I built.