For fun, I like to liven-up the "black box"/machine view of a function by putting a monkey into the box. (I got pretty good at chalkboard-sketching a monkey that looked a little bit like Curious George, but with a tail.)
Give the Function Monkey an input and he'll cheerfully give you an output. The Function Monkey is smart enough to read and follow rules, and make computations, but he's not qualified to make decisions: his rules must provide for exactly one output for a given input. (Never let a Monkey choose!)
You can continue the metaphor by discussing the monkey's "domain" as the inputs he understands (what he can control); giving him an input outside his domain just confuses and frightens him ... or, depending upon the nature of the audience, kills him. (What? You gave the Reciprocal Monkey a Zero? You killed the Function Monkey!) Of course, it's probably more appropriate to say that the Function Monkey simply ignores such inputs, but students seem to like the drama. (As warnings go, "Don't kill the Function Monkey!" gets more attention than "Don't bore the Function Monkey!")
The Function Monkey comes in handy later when you start graphing functions: imagine that the x-axis is covered with coconuts (one coconut per "x" value). The Function Monkey strolls along the axis, picks up a "x" coconut, computes the associated "y" value (because that's what he does), and then throws the coconut up (or down) the appropriate height above (or below) the axis, where it magically sticks (or hovers or whatever). So, if you ever want to plot a function, just "Be a Function Monkey and throw some coconuts around". (Warning: Students may insist that that's not a coconut the Monkey is throwing.)
Further on, you can make the case that we're smarter than monkeys (at least, we should strive to be): We don't always have to mindlessly plot points to know what the graph of an equation looks like; we can sometimes anticipate the outcome by studying the equation. This motivates manipulating an equation to tease out clues about the shape of its graph, explaining, for instance, our interest in the slope-intercept form of a line equation (and the almost-never-taught intercept-intercept form, which I personally like a lot), the special forms of conic section equations (which aren't all functions, of course), and all that stuff related to translations and scaling.
Parametric equations can be presented as a way to let the Function Monkey plot elaborate curves ... both in the plane and in space (and beyond).
All in all, I find that the Function Monkey can make the course material more engaging without dumbing it down; he provides a fun way to interpret the definitions and behaviors of functions, not a way to avoid them. Now, is the Function Monkey too cutesy for a College Algebra class? My high school students loved him, even at the Calculus level. One former student told me that he would often invoke the Function Monkey when tutoring his college peers. If it's clear to the students that the instructor isn't trying to patronize them, the Function Monkey may prove quite helpful.
We learn math with numbers early on. We learn how to apply operations to numbers to get new numbers. We learn rules, and consequences of those rules. All of that is pretty straightforward.
But, the real numbers are not the only things we might want to examine in detail. The properties of how elements interact under operations is a more general, abstract notion of what we do with numbers when we do algebra.
For instance, maybe we want to examine what a shape looks like if we rotate it around. Maybe you run a supply chain, and you need to build 4 widgets, but only some of those widgets need to be built in a certain order. Could you re-arrange things to make it more efficient? Maybe we want to explore structures that have a fundamental periodicity, like the time of day.
Over time, we have constructed concepts of structures that elements can belong to, and notions of operations on these structures. These structures -- groups, fields, rings, monoids, modules, vector spaces, etc. -- don't have a natural set of rules, per se. We make up those rules (aka axioms), but we have found that many natural concepts adhere to those rules.
This is all well and good but somewhat useless until you learn about isomorphism. Exploring what a group is or what a ring is is fine. But the richness of abstract algebra comes from the idea that you can use abstractions of a concept that are easy to understand to explain more complex behavior! Adding hours on a clock is like working in a cyclic group, for instance. Or manufacturing processes might be shown to be isomorphic to products of permutations of a finite group.
Abstract algebra is what happens when we want to explore consequences of rules and properties on collections of objects of any type -- hence the term "abstract!"
Best Answer
I think those first pages of the Princeton Companion to Mathematics are what you're looking for: