I'm bragging here, and these ideas are not all mine, but I did an introductory lesson on functions for an Algebra 2 class today and it rocked. My students are average juniors in high school and we've just finished our first unit on Sequences and Series. We're about to dive into an intense study of polynomial, exponential, logarithmic, rational, and radical functions. I wanted to set the stage with a solid foundation of how functions behave  including transformations, compositions, and inverses. Here's what today looked like.
The students walked into class and there was a large number line taped to the floor of the classroom. I asked for volunteers.

discovering additive identity and translations through number line movement 
Now they know what to do. So they go back 'home' and then they subtract 3, rest, and then add three. Ah. The inverse is born:

introducing function inverses through number line movement 
What comes next turns out to be mind blowing, and even I didn't expect it. We return 'home' and then multiply by 2:
It seemed so odd to everyone that a simple operation like 'multiply by 2' would result in such seemingly UNuniform motion... which made it all the more amazing to 'discover' the constant rate of change in the distances between neighbors.
Now seemed like a good place to introduce some traditional algebra:
We followed these ideas with a wonderful exploration of our tables and graphs generated from our movement activities. Thank you Desmos, for a wonderful tool. We were able to easily see both our data points and our generalized lines, and the symmetry of inverses was so obvious and yet so cool nevertheless. You can check out our exploration here:
https://www.desmos.com/calculator/ecfpw2h4tp
The last item of the day was to define some function terminology:
In the end, we had a good start to to a definition of function:
A function is a relationship between two variable quantities that follows a rule to map inputs to outputs.
It needs work, but they don't know that yet. Tomorrow we'll get into function notation and simple compositions and inverses that use only the traditional operations as they were presented today. Then, we'll return to the number line and explore some other function rules: opposites, reciprocals, absolute value, exponents, roots, etc. When we run into trouble (I PLAN on it!) we'll adjust accordingly.
(Thank you to
Max Ray and
Michael Pershan for the inspiration from their
Teaching Complex Numbers workshop at NCTM 2015. I'll be going back to these ideas when I get to complex numbers, for sure.)