Functions are hard for students.

Students seem to master various families of functions – linear, polynomial, exponential, trigonometric, and so forth. They can graph them, evaluate them, transform them, and answer a variety of questions about them. But ask even our better students a question that’s out of the ordinary and we’re likely to be taken aback by the result.

Does there exist a function all of whose values are equal to each other? (If so, give an example; if not, explain why.)

When Marilyn Carlson asked this question of college students, only 7% of a group that completed college algebra with grades of high A (95 and above) were able to give correct examples, and 25% of a group that received A’s in second-semester college calculus gave the incorrect example of *y* = *x*. Other questions in this study gave similarly disturbing results. Shockingly, many of our best math students lack fundamental understandings of functions. [CBMS Issues in Mathematics Education, Volume 7, 1998, published by the American Mathematical Society]

There are undoubtedly many causes for students’ inability to reason about and make sense of functions. Students may lose sight of the big picture (of how one quantity depends on another) as they concentrate on mechanical exercises that emphasize fine details. They may see functions only as mathematical equations, without also recognizing functional relationships that take other forms.

Though there are no simple answers, the more students notice dependencies in the world around them and think of these dependencies as functions, the more inclined they’ll be to understand a mathematical function as a description of how one mathematical object depends on another. A bulletin board slogan would be appropriate:

Which brings me to Sketchpad. Though I’ve worked on quite a few Sketchpad activities related to algebraic functions, there’s a deeper and largely neglected connection between Sketchpad and function concepts: The essence of a construction lies in functions that connect objects to each other.

Imagine a student constructing the midpoint *C* of segment *AB,* dragging point *A,* and observing the behavior of the midpoint. The midpoint’s position depends on point *A’*s position in a systematic way; Sketchpad uses a function to determine the position of the dependent variable (the midpoint) from the position of the independent variable (point *A*).

(Short aside: There are pretty interesting dependencies here, and lots more to be said. The midpoint depends directly on the segment, which in turn depends on both *A* and *B.* Already this is a more complex situation than *y* = 2*x* + 3. We have a multivariate function that describes how the segment depends on its two independent variables *A* and *B,* and a second function, composed with the first, that describes how the midpoint depends on the segment.)

I wouldn’t use this construction to introduce function composition and multivariate functions prematurely. But it is an example in which, to build something in Sketchpad, students use construction tools and menu commands to create a rich set of functions that collectively determine the behavior of the sketch. And whether students have created a sketch or are working with a prepared sketch, they have ready access to these functions through the **Information** tool or through the Properties dialog box. A student can select any object, choose **Edit | Properties,** and immediately view a description of the function, a list of exactly what parent(s) the selected object depends upon, and another list of exactly what children depend on it. In a Sketchpad construction, Parents and Children identify the functional dependencies that make the construction work, and understanding these relationships can help students realize how functions are behind everything Sketchpad does.

Here are two function families that correspond particularly closely to the numeric functions to which we traditionally limit our instruction:

* Locus Family:* A student selects two points and chooses

**Construct | Locus.**One point (the independent variable) must be a point on a path, and the other (the dependent variable) must depend on the first point. The path of the independent variable is the function’s domain, and the locus being constructed is the range.

** Transformation Families:** A student selects an independent point and uses the Transform menu to reflect or translate it. The student specifies the function and the command produces the corresponding dependent point. The student can merge the independent point to a path (domain) and construct the locus (range) of the dependent point.

The geometric dependencies (Parent/Child relationships) at the heart of Sketchpad provide an opportunity for students to think of functions in a more organic way, in a context that illuminates the fundamental idea of how one quantity depends upon another. But how can we best take advantage of this opportunity?

In my next post I’ll propose some answers: some ways we can use Parent/Child relationships in a more intentional way to illuminate and clarify ideas like domain, range, function notation, and function families. In the meantime, for more information and free activities from our Dynamic Number NSF project, go here and here.

(Short plug: If you’re coming to NCTM, I encourage you to attend my session on how to use these ideas to help students understand composition of functions: Session 398,* Composition Without Confusion*, is Friday at 9:30 am. I also encourage you to attend our Technology User Group meeting on Thursday evening, where we’ll feature stimulating conversation, demonstrations, presentations, beverages, and appetizers.)

That’s brilliant! Thanks, Scott. I need to figure out how to incorporate this idea into my classes!