"Just a darn minute! Yesterday you said x equals two!"
I can think of three different ways to interpret variables so far, and so I'm trying to provide situations that promote comprehension of variables in each context.
1. A variable can be used to generalize, in this case it is a representation of any and all numbers. For this situation we did number tricks:
Pick a number. Add 6. Multiply by two. Subtract 4. Divide by two. Subtract your original number.
Students quickly realize that they keep getting 4, but in order to know it always works, they need something to hold the place of their original number. I talk about using a variable instead of spending the rest of your life checking numbers since you can put any number in the place of the variable and it will still work.
(Side note: this is a great way to introduce proof in Geometry since they actually see why they would want to prove something- it seems clear but they don't know why it works.)
2. A variable can be a number that changes. It could be something that varies over time, or that is different for different people. I came across this example rather circuitously. I found a worksheet translating verbal expressions into algebraic ones, but I also wanted students to substitute and evaluate the expressions. Problem was, the original author did a really awesome job of choosing different letters, so much so I didn't feel like writing in values for every variable. Then it dawned on me, there's an easy way to assign a number to each letter- a cipher! My non-math major friends in college all took cryptology which meant that I got to learn along with them and I've been surprised how often I've used ideas from that class in new situations. Using a cipher to decide the numbers to substitute did a few things- first it was a cool mini history lesson on codes, second it allowed me to easily change the values and show that we could make the same expression simplify to different things depending on the "key of the day."
**Edit- read the awesome comments below, I'm leaving #3 in its original form so you know what the comments are in reference to, but I'm no longer counting this as a valid category.
3. A variable can represent a specific number that we don't know. This is the case for most equations that we have students solve. We know the value of the variable, their goal is to find it. To introduce this concept we started by solving really simple word problems (Chris has 5 apples, Josh has 3, how many do they have together?) by writing an expression equal to a variable (5+3=A). The word problems have increased in difficulty but the idea is the same, that letter represents some specific value we are trying to determine.
I have no idea if this is a standard way of dividing up the roles variables can play, it's definitely something I'm still trying to figure out. But my goal is for students to see many different ways to approach solving problems using variables. And then, somehow, we need to merge all of these ideas into one concept of symbol represents number(s).
Finally, I'm hoping they will understand that all of these methods apply in any situation. Just because you have a number to substitute for your variable doesn't mean that substituting is the best first step. Frequently simplifying and solving before substituting can show structure (just like delayed evaluation when you only have numbers). Conversely, even if a variable is representing a particular number you need to find, guessing random numbers isn't a bad way to start out. For students who have no idea how to approach a problem having them try their favorite number will usually give some insight on the steps to solve a problem (which they can eventually generalize to an equation using a variable).
What misconceptions do you see when students are using variables? What other situations can I introduce that use variables in a different way?