Monthly Archives: September 2013

Intermediate Value Theorem & Elevators

I've used the elevator analogy with the intermediate value theorem before, but only after talking students through the intermediate value theorem first. This time, I took them through the following thought experiment first:

Step 1:

You enter the elevator on floor 2. You close your eyes and keep them closed until you arrive at floor 12, twenty seconds later.

Questions for discussion:

  • At approximately what time was the elevator located at floor 7? How do you know? What assumptions are you making?
  • Was there a time when the elevator was at floor 3? Floor 8? How do you know?
  • Were you ever at floor 13? How do you know? Are you really sure?

Step 2:

Another day, you again enter the elevator on floor 2. You again keep your eyes closed, but another person gets on from some floor other than floor 2. You keep your eyes closed. The other person leaves the elevator at some point. After 60 seconds, you are on floor 12, and you open your eyes.


  • Was there a time at which the elevator was at floor 7? How do you know?
  • Was there a time at which the elevator was at floor 13? How do you know?
  • What was the highest floor at which you can guarantee the elevator was located during the minute long trip? The lowest floor?

Step 3

On yet another day, you are once again entering the elevator at floor 2 to go to floor 12. You close your eyes, same story as before. Another person gets on the elevator and leaves. This time, however, you open your eyes just long enough to see that the person leaves the elevator at floor 15. As before, the entire trip takes 60 seconds.


  • Was there a time at which the elevator was at floor 7?
  • Was there a time at which the elevator was at floor 13? How do you know?
  • Make a list of all of the floors that you can guarantee that the elevator could have stopped at during the 60 second trip.
  • Can you guarantee that the elevator was never located at floor 17?

We then visited the driving principle to why we can do this thought experiment: why can we come to these conclusions without opening our eyes in the elevator? What is it about our experiences in elevators that makes this possible?

My students were primed to bring up continuity given that they worked through the concepts during the previous class. That said, there were quite a few lights that went on when I asked what it would be like to ride in a discontinuous elevator. Skipping floors, feeling the elevator move upwards and then arriving at a floor lower than where we started, or arriving at different floors just from closing or opening the doors.

Once we were comfortable with this, I threw the standard vocabulary of the intermediate value theorem:

Suppose f(x) has a maximum value M and a minimum value L over an interval [a,b]. There exists a value c in [a,b] such that L≤f(c)≤M as long as...

...and I left it there, hanging in the air until a student filled the silence with the condition of continuity over [a,b]. This was also a great time to introduce the idea of an existence theorem - it tells you that a mathematical object exists, and might give you some information on where to find it, but won't definitively tell you exactly where it is located. Fun stuff.

We then talked about other examples of functions that are or are not continuous. Students brought up crashing into a wall after moving at a non-zero velocity. I also have this group of students the following period for physics, so I brought up what the velocity versus time graph actually looks at when you zoom in to the time of impact. (I like that this wasn't a cognitive stretch for them given their experience zooming in on data on their calculators and graphs from Logger Pro.) The student that brought this up quickly argued himself back from saying that this was truly discontinuous.

This was a fun activity, and I'm glad I went through it. The concept of IVT is fairly intuitive, but we often present it in a way that doesn't emphasize why it is special. In previous years, I started with the graph of a polynomial function bouncing up and down, asked students for the max/minimum value, and then asked them to identify whether they could do this for any value in the range between the maximum and minimum. They could, but never really saw the point of why that was special. Forcing them to imagine closing their eyes, limiting the information available to them, and then seeing how far they could take that limited knowledge made a difference in how this felt on the teaching end. I've seen some pretty good responses on my assessments of this concept as well, so it seems to have done some good for the students as well. (Phew!)

Math Caching and Immediately Useful Teaching Data

Last July, I posted a video in which I showed how to create a local, customized version of the Math Caching activity that can be found here.

I was inspired to revisit the idea last weekend reading Dan Meyer's post about teacher dashboards. The part that got me thinking, and that stoked the fire that has been going in my head for a while, is identifying the information that is most useful to teachers. There are common errors that an experienced teacher knows to expect, but a new teacher may not recognize is common until it is too late. Getting a measure of wrong answers, and more importantly, the origin of those wrong answers, is where we ideally should be making the most of the technology in our (and the students') hands. Anything that streamlines the process of getting a teacher to see the details of what students are doing incorrectly (and not just that they are getting something wrong) is valuable. The only way I get this information is by looking at student work. I need to get my hands on student responses as quickly as I can to make sense of what they are thinking.

As we were closing in on the end of an algebra review unit with the ninth graders this week, I realized that the math cache concept was good and fun and at a minimum was a remastering of the review sheet for a one-to-one laptop classroom. I came up with a number of questions and loaded it into the Python program. When one of my Calculus students stopped in to chat, and I showed her what I had put together, I told her that I was thinking of adding a step where students had to upload a screenshot of their written work in addition to entering their answer into the location box. She stared at me and said blankly: 'You absolutely have to do that. They'll cheat otherwise.'

Screen Shot 2013-09-20 at 11.23.26 PM

While I was a bit more optimistic, I'm glad that I took the extra time to add an upload button on the page. I configured the program so that each image that was uploaded was also labeled with the answer that the student entered into the box. This way, given that I knew what the correct answers were, I knew which images I might want to look at to know what students were getting wrong.

This was pure gold.

Screen Shot 2013-09-20 at 11.30.23 PM

Material like this was quickly filling up the image directory, and I watched it happening. I immediately knew which students I needed to have a conversation with. The answers ranged from 'no solution' to 'identity' to 'x = 0' and I instantly had material to start a conversation with the class. Furthermore, I didn't need to throw out the tragically predictable 'who wants to share their work' to a class of students that don't tend to want to share for all sorts of valid reasons. I didn't have to cold call a student to reluctantly show what he or she did for the problem. I had their work and could hand pick what I wanted to share with the class while maintaining their anonymity. We could quickly look at multiple students' work and talk about the positive aspects of each one, while highlighting ways to make it even better.

In this problem, we had a fantastic discussion about communicating both reasoning and process:

Screen Shot 2013-09-20 at 11.43.02 PM

The next step that I'd like to make is to have this process of seeing all of the responses be even more transparent. I'd like to see student work popping up in a gallery that I can browse and choose certain responses to share with the class. Another option to pursue is to get students seeing the responses of their peers and offer advice.

Automatic grading certainly makes the job of answering the right/wrong question much easier. Sometimes a student does need to know whether an answer is correct or not. Given all the ways that a student could game the system (some students did discuss using Wolfram Alpha during the activity) the informative part on the teaching and assessment end is seeing the work itself. This is also an easy source of material for discussion with other teachers about student work (such as with Michael Pershan's Math Mistakes).

I was blown away with how my crude hack to add this feature this morning made the class period a much richer opportunity to get students sharing and talking about their work. Now I'm excited to work on the next iteration of this idea.

Computational Thinking and Algebraic Expressions

I am still reviewing algebra concepts in my Math 9 course with students. The whole unit is all about algebraic operations, but my students have seen this material at least once, in some cases two years running.

Not long ago, I made the assertion that the most harmful part of introducing students to the world of real-world algebra looks like this:

Let x = the number of ________

Why is this so harmful?

For practiced mathematicians, math teachers, and students that have endured school math for long enough, there are a couple steps that actually happen internally before this step of defining variables. Establishing a context for the numbers and the operations that link them together are the most important part of producing a correct mathematical model for a given situation. A level of intuition and experience is necessary if one is going to successfully skip straight to this step, and most students don't have this intuition or experience.

We have to start with the concrete because most people (including our students) start their thinking in concrete terms. This is the reason I have raved previously about the CME Project and the effectiveness of using their guess-check-generalize concept in introducing word problems to students. It forms an effective bridge between the numbers that students understand and the abstract concept of a variable. It encourages experimentation and analysis of whether a given answer matches the constraints of a problem.

This method, however, screams for computers to take care of the arithmetic so that students can focus on manipulating the variables involved. Almost all of the Common Core Standards for Mathematical Practice point toward this being an important focus for our work with students. I haven't had a great point in my curriculum since I really started getting into computational thinking to try out my ideas from the beginning, but today gave me a chance to do just that.

Here's how I introduced students to what I wanted them to do:

I then had them open up this spreadsheet and actually complete the missing elements of the spreadsheet on their own. Some students had learned to do similar tasks in a technology class, but some had not.
02 - SPR - Translating Algebraic Expressions

Screen Shot 2013-09-06 at 3.59.38 PM

The students that needed to have conversations about tricky concepts like three less than a number had them with me and with other students when they came up. Students that didn't quickly moved through the first set. I'd go and throw some different numbers for 'a number' and see that they were all changing as expected. Then we moved to a more abstract task:

It's great to see that you know how to use different operations on the number in that cell. Now let's generalize. Pick a variable you like - x, or N, or W - it doesn't matter. What would each of these cells become then? Write those results together with the words in your notebook and show me when you're done.

The ease with which students moved to this next task was much greater than it has ever been for me in past lessons. We also had some really great conversations about x*2 compared with 2x, and the fact that both are correct from an arithmetic standpoint, but one is more 'traditional' than the other.

Once students got to this point, I pushed them toward a slightly higher level task that still began concrete. This is the second sheet from the spreadsheet above:
Screen Shot 2013-09-06 at 4.06.07 PM

Here we had multiple variables going at once, but this was not a stretch for most students. The key that I needed to emphasize here for some students was that the red text was all calculated. I wanted to put information in the black boxes with black text only, and have the spreadsheet calculate the red values. This required students to identify what the relationship between the variables needed to be to obtain the answer they knew in their head had to be true. This is CCSS MP2, almost verbatim.

This is all solidifying into a coherent framework of using spreadsheet and programming tools to reinforce algebra instruction from the start. There's still plenty to figure out, but this is a start. I'll share what I come up with along the way.

Algebra and Programming - A Peek Ahead

I'm starting a new unit reviewing algebraic skills tomorrow. My students have most certainly moved through evaluating algebraic expressions, solving linear equations, and combining like terms before. Much of tomorrow's class will involve me drifting between students working on this to get an idea of their skill level - certainly not a developmental lesson on these ideas unless I really see the need.

My question is on making these concepts new. The thing that comes to mind most immediately is using this as an opportunity to get students started on concepts of computational thinking. Students have seen the concepts of variables, substitution, and evaluation, but I think (and hope) that the ideas of using a computer to do these things is new enough to whet their appetites to potentially learn more.

What does the computer do well? (Compute).

What must we do to get it to do so? (Communicate to the computer correctly what we want to compute.)

After having my students do some algebraic evaluation on their own, I'm having them watch this short video:
M9 U2D1.1 - Web Browser & Math Hacking

Side Note:

Now that I see I can increase the font size in Chrome for the console, or zoom in using Camtasia, I can make the code much more visible than it is now. Work for the morning.

I can't see an easier way to get students into a programming environment than this. Everyone has a web browser, and Safari and Chrome both give access to a Javascript console without too much work. There are websites like Code Academy that have a similar environment on their front page, but this method barely even requires accessing a web page.

I've had students install Python on their computers before, and it works well enough as long as there aren't any operating system related hiccups. (IDLE does not run so well on OSX 10.5). I just like that this Javascript environment is hiding on student computers without having to do anything.

Other thoughts:

  • We have to tell the computer explicitly that 2x is 2*x. This is a fact that often gets glossed over when students haven't seen it for a while.
  • Javascript doesn't have an easy to access exponent symbol like Python or other languages do. To enter x3, you have to either type x*x*x (reinforcing the idea of the exponent for the win) or Math.pow(x,3) which is too abstract to even consider using with students.
  • Selling programming as a fast and easily accessible calculator isn't a compelling pitch - I completely get that. At this point though, I'm not trying to sell the computer as the way to do things. My students all have computers with them in their classes. If making them unafraid to do something that feels a bit 'under the hood' might lead them to know what else is possible (which is a pitch that is coming really soon), I'm happy with this.