Students often have difficulty connecting the Cartesian graph of a function to the actual motion of the variables. This leads to misconceptions (and missing conceptions) about the role and significance of *slope, intercept,* and the *vertical line test,* and to an inability to visualize and describe the relative motion of the independent and dependent variables. For instance, students may think that the distinguishing feature of a linear function is the shape of its graph, or the formula *y* = *mx* + *b*, without being able to express the more fundamental definition of a linear function: when *x* moves steadily, the speed of *y* never changes.

We call this definition “more fundamental” because it describes the way the variables behave, and thus underlies the graphical and symbolic representations without depending on them. We intentionally express it using informal rather than mathematically precise language to correspond more closely to the way students will construct the variables, vary them, and describe their relative motion.

Students’ difficulties envisioning covariation (the way *y* varies as *x* varies steadily) is a problem, not just with linear functions, but with students’ understanding of function families in general: function families are distinguished by the nature of their covariation. A function whose growth rate steadily increases or decreases is a quadratic function, and a function whose relative rate of change is proportional to the value of *y* is an exponential function.

The predominant visual representation of functions that students encounter is the Cartesian graph. As powerful as this representation is, it is a static image in which the independent and dependent variables are usually implied rather than shown. Not surprisingly, students tend to focus on the shape of the graph rather than the motion of the variables, without attending to the way in which that shape is a consequence of the relative motion of the variables.

At our recent session at the NCTM Baltimore Regional, Scott Steketee and I provided experiences for students that will change the way they visualize Cartesian graphs, so that they see the shape of a graph as an artifact created by the variables as *x* moves from left to right along its axis. Viewed in this way, the graph is a shape to be read from left to right, a shape that reveals the motion of an imagined *y* on the vertical axis as the student’s left-to-right eye movement follows an imagined *x* varying along the horizontal axis.

To address the difficulties described earlier, and to promote students’ ability to visualize a function as a rule that connects two moving variables, we focused on a particular representation known as a *dynagraph*. A dynagraph has two horizontal axes with the independent variable on the top axis and the dependent variable on the bottom axis. The parallel axes make it easy for students to compare the relative motion of the two variables. (The term *dynagraph* was coined by Paul Goldenberg, Philip Lewis, and James O’Keefe in their study “Dynamic Representation and the Development of a Process Understanding of Functions” published by Education Development Center, Inc., and supported in part by a grant from the National Science Foundation.)

The dynagraph models that follow emphasize the relative motion of the independent and dependent variables. Importantly, these functions are introduced without calling them *linear functions,* because the emphasis is on the relative motion of the independent and dependent variables.

In the first dynagraph model below (and here), drag *x* and pay attention to its effect on *f(x)*. Experiment with different values of *m* and *b*. There are 4 variations of the dynagraph, and you can view these by using the page control in the lower-right corner.

In the dynagraph game below (and here), adjust the *m* and *b* sliders to match the function description. Then press *Check* to earn 10 points and move to the next challenge. If you’re wrong, you get a second chance (worth 5 points). In level 2 of the game (on page 2), you can’t drag *x,* but you can press *Vary x* to get a hint (at a cost of 2 points). In level 3, *mx* is hiding, so you have to image where it is. In level 4, *all* the variables are hiding. Press *Vary x* to show the traces, but now it costs 3 points. Finally, in level 5, it’s all or nothing: the variables are hiding, and you only get one chance to adjust *m* and *b*.

Here are a few questions to think about as you solve the challenges: Which of the function descriptions have multiple solutions? What does *slope* mean on a dynagraph? How is this different from a Cartesian graph, and how is it similar? And what does *intercept* mean on a dynagraph? How is this different from a Cartesian graph, and how is it similar?

The dynagraph game below (and here) is similar to the previous one, but now, there is a mystery function (named “??”) that relates independent variable *x* to the dependent variable labeled ??(*x*). Your job is to discover the mystery function by adjusting the *m* and *b* sliders so that dependent variable* f(x)* matches ??(*x*). There are two pages of games. To switch levels, first press *Reset.*