How I want to teach horizontal function transformations

Horizontal function transformations are tough to teach.  Sure, you can just tell students how they work (“everything is backwards inside the parentheses, so minus makes you go to the right”), but that just seems arbitrary and pointless to students.  Slightly better would be to let students discover by a process of induction that directionality is reversed inside the parentheses, and then get into the big discussion of Why?  My sense is that this is Dan Meyer’s preferred approach, based on his comment in this post by Kate Nowak, who is struggling with teaching this concept in the quadratic function family.  And I have nothing against Dan’s approach–letting the induction come first is fine, but it’s really the Why? that’s tough about this idea.

First of all, it’s not just the directionality that’s reversed–it’s also the order of operations.  So in sin(2x + pi), everything is shifted left by pi first, and then contracted by a factor of 1/2.  The “+ pi” is dealt with before the “2*”.  How are students supposed to discover that fact by induction, and even if they do discover it, how will that set them up to make meaning out of it?  I am not a fan of induction just for the sake of having students discover things when that discovery does not build connections or make meaning.  I mean, you could theoretically have students “discover” the rules for integer operations by letting them play around with a calculator and look for patterns, but that would still be an awfully shallow learning experience.

To return to the question of horizontal transformations, here’s an idea I’ve been cooking for a few years: teach the concept in the context of encryption.  We all know the idea of encoding by letting 1=A, 2=B, etc.  But as Julius Caesar found, it’s better to introduce a shift into your code, e.g., 1=Y, 2=Z, 3=A, 4=B, …  This shift works in the same way as a horizontal translation.  Pow!  A real-world, intuitive example (I hope) of an otherwise difficult concept.  The example even generalizes pretty easily to show why order of operations is backwards as well.  Here’s how I’d use this hook in class:

  • First, give students an encoded version of a sentence (with no shift applied), and ask them what they think it says.  I’d say something like, “Ender’s Game is Better than the Hunger Games”.  So “Ender’s” would be encoded as “5  14  4  5  18 ‘ 19”  Shouldn’t take long before someone cracks the code.
  • Then discuss why a shift would be nice–both you and the message recipient would have to agree on the shift in advance, but it would be more secure.  Maybe I’d show the video linked above about Caesar and his cipher.
  • The class would agree on a small shift, say -3.  Now, to read a message, you subtract 3 from each number, and then decode.
  • I’d ask each student to write a message and encode it so it can be decoded with a shift of -3.  They’d check their work by decoding their own message before exchanging with other people and decoding each others’.
  • Here’s the point: to encode when the shift is -3, you have to start by adding 3 to each number, since the recipient will then subtract 3.  So far, this should all be fun–little complaining about “when are we ever going to use this.”
  • Then I can introduce a graphical representation of the code.  It might look something like this:

D

x

C

x

B

x

A

x

1

2

3

4

That’s the graph of the original code.  I’d ask students for the graph of the new code, with the shift.  The shape would be shifted to the right by 3.

  • Of course, this concept would work with any original code–it wouldn’t have to be 1=A, 2=B,… to start.  It could be 1=Z, 2=Y, … or any one-to-one function to start.  This lets us talk about functions versus relations in an intuitive and meaningful way in the same lesson.
  • I developed the connection to inverse order of operations a little bit in my first attempt at this lesson last year.  Here it is on dropbox.  It was a success in the sense that students finally understood that between reversing direction and order of operations with horizontal transformations is just an application of “undoing” an expression to solve an equation.  But I thought the lesson design and delivery were a little clunky.  I plan to revise it for future use.  But if someone else likes the idea and revises it first, and then shares it with the rest of us, well, I won’t object…

That’s it!  So, what do you think?

UPDATE: the formatting seems all messed up in my dropbox .docx link, so here’s a pdf version

FURTHER UPDATE: Oops, in my original post, I had the grid showing the “graph” of the original code transposed.  That is now fixed.

From the comments:

Dan Meyer: Great to see you blogging on the regular, Kevin. We seem to be on the same page here that discovery without building connections between the discoveries and axioms is kind of useless. But using a real-world context here seems risky also. Is it possible that the cryptography connection will obscures mathematical meaning? How do you help students make the leap from Caesar Augustus to periods and amplitudes?

(My response to Dan’s question is in the comments below).

4 thoughts on “How I want to teach horizontal function transformations”

  1. Really nice! Thank you for writing it up. I could not agree more with your statement, “I am not a fan of induction just for the sake of having students discover things when that discovery does not build connections or make meaning.”

  2. Great to see you blogging on the regular, Kevin. We seem to be on the same page here that discovery without building connections between the discoveries and axioms is kind of useless. But using a real-world context here seems risky also. Is it possible that the cryptography connection will obscures mathematical meaning? How do you help students make the leap from Caesar Augustus to periods and amplitudes?

    1. @Dan My intention is to use the encryption context not just as a motivational hook, but also to help students make sense of horizontal transformations. I didn’t flesh it out completely in the post, but here’s how the connection gets made:

      Let’s say Alice and Bob are communicating in code. They call the code f(x), and it’s the code used to decrypt (rather than encrypt) the message. Here’s a very simple version of f(x).

      1 –> A
      2 –> B, etc.

      So if the Alice wanted to send the message “ABC”, she would send “1 2 3”. But then they decide to introduce a transformation, turning f(x) into f(2x + 3). Now, when Bob receives a string of numbers, he must first substitute each number into 2x + 3, and then use the output of that expression as the input for f(x). For example, if Alice’s message to Bob says “10”, Bob evaluates 2(10)+3=23. Bob looks up the letter that corresponds to 23 and finds that it’s W, so Alice’s message was “W”.

      In my lesson, students would be asked to encode a single word and send it to a friend using the code f(2x + 3). For simplicity, let’s use the message “Hi” here. How do you encode “H”? Since 8 –> H, students may be tempted to substitute 8 into 2x + 3, and this is the central misconception of horizontal transformations. The correct approach is to ask, “What does x need to be so that 2x + 3 equals 8, since 8 maps to H?” This means the student needs to solve 2x + 3 = 8. The same approach applies to encoding “i”. So to encode the message “Hi”, the sender must first solve these 2 equations:

      2x+3=8 (to encode H)
      2x+3=9 (to encode i)

      In both cases, the first step is to subtract 3 from both sides. For “H”, this means you won’t be working with 8; you’ll be working with 5. For “i”, you won’t be working with 9; you’ll be working with 6. The pattern is that you’re now working with numbers that are 3 units to the left of the numbers you started with. The next step is to divide both sides by 2. For “H”, this means you’ll end up with 2.5. For “i”, you’ll end up with 3. The pattern here is that you will have contracted each input value by a factor of 1/2. This corresponds to the effect that the transformation f(2x+3) has on the graph of any function f(x)–it shifts the graph to the left by 3 first, and contracts it by a factor of 0.5. Notice that the order of operations of the transformations is backwards–you shift left 3 first, and then contract by 1/2.

      How can you use this to teach amplitude and period? Well, amplitude is a completely different beast, because it’s a vertical transformation, so this reasoning does not apply. But for period and phase shift, the connection is fairly straightforward (I hope, and this is something I’m asking for feedback on). Let’s consider cos(2x + pi). You know you start a cycle of the parent function, cos(x) at (0,1). That point will be shifted left by pi, putting it at -pi, and then contracted toward the origin by 1/2, so it will end up at -pi/2. That’s the first point on your cycle when you draw your graph. now, instead of having a period of 2pi, this graph will have a period of pi, because we know it’s been contracted by a factor of 1/2. So you know the cycle ends at +pi/2.

      That approach uses just the period and ignores the phase shift. But you can use the logic to work phase shift in as well. For cos(2x + pi), if you choose to factor out a 2, you get cos[2(x + pi/2)]. Doing the order of operations backwards (because you’re implicitly solving an equation), you would contract them all toward the origin by a factor of 1/2, and then shift all points to the left by pi/2 first. You get the same graph, but now you see the connection between the approach using 2x + pi and the one using 2(x + pi/2). [Note: I messed this order up the first time I wrote this comment. This correction was made a couple hours later].

      What do you all think?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s