I am teaching a pre-calculus course (using the textbook by Michael Sullivan if it helps), and I realized that higher order functions seem to show up in with some frequency in pre-calculus and calculus. Since these students are particularly good (high school students taking college classes), I introduced this concept to them. Without being too rigorous, let me make some definitions.
A first order function will be a function of the form, $f:A\to B$ such that $A$, and $B$ are (nice enough) subsets of $\mathbb{R}$.
$\phantom{}$
An n-th order functions will be a function of the form, $f:A\to B$ such that either $A$ or $B$ are (perhaps sufficiently nice) sets of functions of order at most $n-1$.
$\phantom{}$
The plethora of all the $n$-th order functions will be collectively known as higher order functions.
The examples that they have seen are families of functions such as, $$a\mapsto (x\mapsto f(ax))$$ $$r\mapsto (x\mapsto x^r).$$ (in fact they have seen animations of these and others in mathematica in fact I used their experience with this program to help illustrate the concept). Some other examples that they have seen that are of the form $$PFun(\mathbb{R},\mathbb{R})\to PFun(\mathbb{R},\mathbb{R}),$$ where $PFun(\mathbb{R},\mathbb{R})$ is the set of partially defined functions on $\mathbb{R}$ (I made them partially defined so that I do not have to be too careful with the exact domain, as that can change from problem to problem), given by $$f\mapsto (x\mapsto f(x-a))\\f\mapsto (x\mapsto f(mx))\\f\mapsto (x\mapsto f(x)+b)\\f\mapsto (x\mapsto mf(x)),$$ as well as composites of these, so as to be able to talk about the affine transformations that we made to the graph. Another example of this is the difference quotient, $$(h,f)\mapsto \frac{f(x+h)-f(x)}{h},$$ and in calculus, they will also see the derivative. It seems that this notion is a fairly simple one, and one that will prove useful later in life as well as now. A student asked for a place to read about this, and I said that I did not know an appropriate place for this. I know that I can find some good treatments of this if I look up the lambda calculus or Cartesian closed categories, but I would not want them to learn the notions of category theory or the notation of the lambda calculus. I also know that this notion is described in books about programming languages like Haskell or LISP, but this seems like they would have to learn a certain amount of code to fully understand this. So my question:
Is there a treatment of higher order functions that is not a computer science book and is reasonably elementary (say at the level of elementary set theory)?