Several years ago, I taught PreCalculus from the COMAP PreCalculus: Modeling Our World (1st edition), which was a textbook that I really appreciated. It was very focused on good applied problems, on building conceptual understanding, and on avoiding lots of drill and kill style problems so prevalent in so many textbooks. I still use some of its problems as sources in my classes, but I did find that its lack of clear structure to its units, as well as minimal specific “vocabulary/theorems/algorithms to learn/memorize” was quite unpopular with students.
One of my favorite parts of the text was that it developed the idea of functions as a set of tools for modeling data. Based on the data that you are given, you determine which tool may be your best option. This led to a natural desire to transform or combine functions to make more sophisticated models. Suddenly, we could look at a polynomial in two different ways – is it a product of linear equations, or is it a sum of power functions? Depending on the situation being modeled, maybe one approach makes more sense than the second. And what happens if we want to divide one function by another? Suddenly, we can end up with a rational function, which can drastically change our end behavior and get us talking about a limit. What if we want to sum up different sinusoidal functions to approximate graphs that we see on an oscilloscope? And voila, we are exploring Fourier series!
The great part of thinking about a toolkit of parent functions and the various compositions, operations, and transformations on those functions, is that it allows a student to generalize what happens for any function, be it a direct variation, a sine function, a log function, or other. Playing around with Desmos makes these connections so much easier to see!