Monthly Archives: September 2012

First day of Geometry proofs - Refining my process

Last year, I figured out about a week or two after the first introduction to proofs in Geometry last year that I should have started with a more clear connection to the ideas we had been working on in the classes before. We did a progression of logical statements, conditional statements, working on biconditionals as definitions, and then the laws of detachment and syllogism. I realized then that I never made strong references to these concepts and how they all fit together - I just hoped that the students would see how the proofs were built out of these ideas without formally telling them as such.

This year I was much more explicit in how the ideas fit together, particularly by showing a paragraph proof as a series of conditional statements with true hypotheses. I was really happy with the results. I created two videos to use as part of the instruction:

Students watched the video and then worked on identifying the properties of equality and congruence being applied in a few different situations, and completing statements given that a particular property is being applied. This led to some great conversations about subtle differences between the transitive property of equality and the substitution property of equality. ('If a = 5 and b = 5, then a = b' is the latter, not the former. This assumes only one property is being applied at a time, of course.)

Once I was satisfied with their progress, I sent them on to watch this video:

Some students immediately took the equation, solved it, and said they were done. This led to more good discussions about the purpose of this lesson. We already knew how to solve equations - what was new this time was justifying each step using a property. It was an opportunity to push these students to then focus on what was happening in each step and not so much on the algebra that they did quickly. Once I was convinced that they did understand what was going on in each step of the video, I had them move to either some problems with the steps written out, missing only the justifications (for weaker students), and for others, full algebraic problems that they do from start to finish.

The thing I did differently here (and which was made easier by the magic of video) is emphasizing that the different steps in a proof are really all either conditional statements, statements of fact (the given information), and possibly steps of arithmetic simplification. Each line should be connected to the previous one in the form of a conditional statement. I have said it in the past, but never explicitly written it out each time so that the students think of it this way.

The whole point of doing things this way is so that students are not introduced to two concepts simultaneously: writing steps in a proof, and proving a statement deductively from scratch. Having a good sense of algebra, this lesson focused on introducing students to the process first. Next time we will move on to actually finding and proving theorems about line segments, with the idea that they already have a basic sense for how different thoughts can be linked together logically in a proof. I am hoping that being this deliberate will pay off - this was definitely the smoothest this lesson has ever gone for me.

Differentiation Rules - Making it Interactive

I always struggle during the days spent going over differentiation rules. The mathematician in me says the students need to see where the rules come from so that they aren't just a recipe. On the other hand, I see students glazing over a bit with notation and getting lost in the midst of the overall goal: how do we find shortcuts for finding derivative functions outside of using the limit definition every time?

I have also tried going through the derivations in class and having them just watch and see the progression on their own, without copying things down. Some compulsively copied despite my repeated requests not to do so - I think it was a situation of seeing copying notes down as an alternative to really digging in to what was actually going on. It's mindless to copy down notes, a great alternative to actually going through the steps of understanding.

Last year I made videos of the derivations and asked students to watch them outside of class in a one-off attempt at flipping. That didn't work - students said they watched but 'didn't get it', so my attempt to quiz them when they arrived in class was a bust.

This is my compromise this year: for finding the derivative of a constant, a constant times a function, and the power rule, students will be guided through what has essentially my lesson plan for previous lessons. Sums of functions, products, and quotients will be given first as applications of the limit rules, but the details of getting from the start to the finish will be kept as an exercise for later.

See my handout for today here:
03 - CW - Differentiation Rules

Thank you to Patrick Honner and Dan Anderson for their comments pushing me on this.

Mislabeling inquiry - a brief rant

I'm a big believer in the power of inquiry based learning. This is both of my roles teaching math and physics. As often as possible, I have my students make observations, ask questions, make a hypothesis or mental model to describe what is being observed, and then test that model against new situations to see how well the model describes them. It goes along with why kids like science in the early years - you get to play with stuff, cool stuff, and try to figure out how it works.

I was looking at an online resource for teaching science that says it uses a step by step inquiry approach, and was naturally excited to see what was involved. This is the outline of what it includes for its lesson on heat transfer.

  1. It shows an interesting set of rock formations and explain how they were formed through the transfer of energy.
  2. It asks what happens when a glass of ice water is submerged in a tub of warmer water. Students can submit their open ended responses using a text box for (presumably) the teacher to read.
  3. It shows four clear explanations for what is going on, and asks students to choose one. The teacher can see which ones students pick overall.
  4. Students can explain their reasoning for picking an explanation, or perhaps explain why the others are not correct. It isn't clear whether these explanations go back to the teacher or not.
  5. Students then are given a set of some specific resources, mostly text, but including one video and an image to 'collect data' on their hypothesis.
  6. Students then take a quiz to assess their understanding based on reading the short explanations in the previous step.
  7. Students talk about what their hypotheses were, and how the information they found either supported or refuted each of the four statements.
  8. Students describe their new understanding of heat to a text box. Sadly, it does not talk back.
  9. In case it wasn't clear, the web page then tells the students what conclusion they should have made in the preceding activity. This is accessed through a convenient button that says 'Display Conclusion'.
  10. Students are asked one more multiple choice question, and are then told they can explore other things. It makes suggestions, and then gives the slightly hopeful statement that they can also choose something they want to explore.
  11. I apologize for getting slightly sarcastic at the end, but this really got under my skin. I have a real problem with educational solutions that help students learn science by looking at a screen with right answers on it. It perpetuates the idea that that is what science is: right answers, a whole slew of them, and you have to collect them all, or you are bad at science.

    I get that this is better than students sitting and listening to teachers telling them all the answers. I see that the students are made to be slightly more active and have to find the answers in the reference materials on the website. Of course, that is notably better than chalk and talk.

    I just found myself shuddering the whole time because at no point in the online lesson is the suggestion made to actually perform an experiment.

    The real power of inquiry is not just getting students to go out and find the answers themselves and then take a multiple choice exam to see what they learned. It is about getting to struggle with open-ended questions. Deciding what to measure, or minimally, making A measurement. I get that the goal of this is to create something that can scale to a classroom of thirty students and give them something better than lecture. I just have a problem with justifying it by saying it's better than the alternative.

Rethinking my linear function approach in Algebra 2

My treatment of linear functions in the past has been pretty traditional. Solve for y, y = mx + b, graphing using slope intercept, then move on to linear inequalities in two is just dull this way. Most students have seen it before in one form or another, and it wasn't exciting (or that novel) to them the first time they learned it. It doesn't have to be this way, and I committed myself this year to doing things differently.

My approach has been centered on two big ideas:

  1. Linear functions have a constant rate of change. All of the other qualities they have are related to this important fact.
  2. There is an amazing connection between graphs, tables of values, and the equations that generate linear functions. These are not three separate skills, they are three views of the same fundamental mathematical object. Corollary: Teaching them on three separate days or sticking to one view at a time creates an unnecessary pigeon-holing effect that sticks with students for as long as conditions in your class permit.

On day one, we did my Robot Tracking activity posted here at GeogebraTube. The video introduction was reviewed in class and students worked on it for much of the period. This emphasized a fundamental concept around linear functions of distance and time that was pretty intuitive to nearly all of the students that did this activity.

Predicting where something is located, assuming it continues moving at a constant rate is one of the most common applications of linearity. We do it all the time. Can we cross the street in front of the bus? Mental calculation. Where should I kick the soccer ball to get it right in front of the forward moving toward the goal? Mental calculation. I don't mean actually sitting down and calculating where it will be, but that the human brain is pretty good at noticing the velocity of objects, and making a pretty good guess of where it will be. They had a number of methods of coming to an answer that ranged from geometric (simply drawing a line) to counting grid squares, using the trace function, and proportional reasoning.

We ended the period looking at the Python script I posted here and trying to calculate speed from the information generated by the program. Part of the homework assignment for the next class was to try to answer the question posed by another Python program posted here. The table of values is randomly determined each time, and students could (and often did) try it multiple times to get it right.

The next lesson had a single instance of this program as a warm up for the whole class - everyone had to agree on what value of position I needed to enter for the given time value.. They were pretty good at checking each other and having good conversations about how to go about it. They answered correctly, but we had a good conversation about the different ways to get there. They all centered on using the fact that there was equal spacing between all of the points. Most students used some variation of finding the distance moved per second and whether it was positive or negative, and then counted off intervals. In most cases, it was a bit complicated and required a lot of accounting to get to their answer.

We went over the reason we could do this - the constant rate of change - and verified it using a few different pairs of points. I then threw in the idea of using the point (x,y) and using the constant rate of change with that point. We got to $latex frac{y - b}{x - a}=m $ and I asked them to write this using the slope we calculated and any point they liked from the table of data. Students seated next to each other I encouraged to use different points. I then asked them to answer the original question from the Python program using their equation. (Un)surprisingly enough, they all ended up with the correct (and same) answer as before.

Some of them started distributing and writing in slope intercept form. THe thing I was kind of excited about was that they didn't feel the equation had to be written that way, they just felt like seeing what happened. Many discovered the fact that their answers were the same after doing so, even though they started with different points. We did a couple examples of solving more basic 'Write an equation for a line that..." questions, but did so without making a huge deal out of slope-intercept form or point-slope form and why one might be better than the other in different situations.

Today was the third day going through this concept - the warm up activity had three levels to it:

The goal here was to constantly push the students to go back and forth between the equation and numerical representations of these functions. There were lots of good things students figured out from these. We then made the jump to looking at how the graph is connected to the table and equation - just one more way of looking at the same mathematical function, and it shares the meaning that comes with the other two representations: a constant rate of change. The new idea introduced as part of this was that of an intercept. What does it mean on the graph? What does it mean for the table? We didn't talk explicitly about the intercept's meaning of the equation (again, trying to avoid the "that's just y = mx + b, I know this already...TUNED OUT") , but it came out in the process of identifying it algebraically, from tables, and then graphing.

By the end of the period, we were graphing linear functions. Students were asking excellent questions about when the intercepts alone can be used to graph the line, when they can't ($latex 2x+3y=6$ versus $latex 2x+3y=7$) but they again stuck to the idea of finding a point they know is on the graph, and then using the constant rate of change to find others. Instead of spending a boring lesson explicitly telling them what my expectations are for graphing lines (labeled and scaled axes, line going all the way across the extent of the axes, arrows on axes and lines) I was able to gently nudge students to do this while they worked.

We'll see how things go as we continue to move forward. The big thing I like about this progression so far is that modeling real phenomena will be a natural extension of what we've already done - not a lesson at the end of contrived examples with clean numbers. My goal originally was to get this group comfortable with messy data and being comfortable with using different tools to make sense of it.

I've kept my students hermetically sealed from this messiness in the past - integer coefficients, integer values, and explicit step-by-step ways of graphing, generating tables, and writing equations. As I mentioned before, it was, well, boring and predictable, and perpetuated the idea that these skills are all separated from each other. It also continued the pattern that there would be a day in each unit where the numbers are messy, the real world word problems day, but that the pain associated with it would last a day and would be over soon enough.

I'm hoping to reduce this effect by changing my approach. That by seeing the different aspects of linear functions, it will seem natural to use a graph to figure out something that might not make sense algebraically, or use numerical values to solve an algebraic problem. I especially like this because exploring the three views of functions really is, in my opinion, the primary learning goal of the Algebra 2 course. If I can establish this as an expectation early on, I think the latter parts of the course will work much more smoothly.

Using Geogebra to develop Newton's 2nd Law

I have been following as closely as possible the Modeling Physics approach with my regular physics students this year. My schedule during the summer has kept me from attending a workshop, so much of what I am doing is just an approximation of the real thing, as close to what I understand from the notes on the Modeling instruction website as I can get. We just finished the constant velocity unit last week, and were ready to look at some dynamics of objects. I am starting by looking just at the balanced force particle model before going to the constant acceleration model.

I started the particle force model unit by giving students a chance to play with a cart on an air track with some fans either turned on, or turned off. I had them make observations of what they saw. When they made assertions of constant velocity, I asked them to measure and verify their assertions. They asked to use the ultrasonic detector - I was more than willing to oblige their request. They collected some data, made some graphs, and talked about constant velocity, but they had trouble getting the detector to detect the cart without getting noise in their data. They were pretty sure that they could look past the noise in the ultrasonic detector data and create a constant velocity model. We also thought about taking a video and using Tracker, but given the odd interactions I've seen with Tracker and Mac OSX Lion, I opted not to endorse that without looking more into the problems that arose (Xuggle just not installing in one case, two computers becoming unbootable in another, and my own laptop suddenly getting its setting wiped and wireless obliterated until a rest of the system configuration. I digress - a discussion for another day.)

We then talked about drawing system schema and the ideas of forces as interactions between objects before heading off for the day. I knew we needed something to play with to help develop the connection between net force and constant velocity for the next class. My old standby, Geogebra, was there to help.

I created the Geogebra applet above at and had my students go through the steps of making the object appear to travel at constant velocity by adjusting the magnitudes of the forces.

The steps:
• Adjust the sizes of the forces so that the object appears to move at constant velocity.
• Turn on the position versus time graph using the check box to confirm that it is actually traveling at
constant velocity. What should you be looking for?
• Create three different situations of constant velocity by changing the magnitudes of forces AND the initial velocity. Write down the settings you used for F1, F2, m, and v0 so we can compile them in one place when you are done.

Turning on the position vs. time graph, the students could then check and see if it was constant velocity using their knowledge from the last unit. I was really pleased that getting students to see the graph and figure out how to make adjustments took no prompting. The time we spent on constant velocity paid off, as they did a great job of then matching the graph to their observations and adjusting the forces as needed.

Before long, they had started talking themselves about how the object travels at constant velocity when the forces are equal. They asked if they could just take screenshots of the situations of constant velocity rather than just writing down their values for force, mass, and initial velocity. This made it easy to go one by one through their configurations and see what they had in common. We developed together the definition of net force, and then they adapted it to what they had figured out to come up with the static version of Newton's 2nd.

I was especially impressed when I had them work individually to answer the following questions - their explanations came more naturally than ever before as non-chalant statements of fact, and without the "yeah, but..." moments that have shown up every other time I introduce the idea of net force.

The questions:

I am a big believer in having real objects in front of the students to manipulate and observe. I also like when the equipment works well enough to make it easy to make the measurements and observations students want/need to take. I thought this was a nice compromise between having an ideal, noise free (virtual) environment and giving enough flexibility for the students to play around themselves with the different parameters for the problem.

Why SBG is blowing my mind right now.

I am buzzing right now about my decision to move to Standards Based Grading for this year. The first unit of Calculus was spent doing a quick review of linear functions and characteristics of other functions, and then explored the ideas of limits, instantaneous rate of change, and the area under curves - some of the big ideas in Calculus. One of my standards reads "I can find the limit of a function in indeterminate form at a point using graphical or numerical methods."

A student had been marked proficient on BlueHarvest on four out of the five, but the limit one held her back. After some conversations in class and a couple assessments on the idea, she still hadn't really shown that she understood the process of figuring out a limit this way. She had shown that she understood that the function was undefined on the quiz, but wasn't sure how to go about finding the value.

We have since moved on in class to evaluating limits algebraically using limit rules, and something must have clicked. This is what she sent me this morning:

Getting things like this that have a clear explanation of ideas (on top of production value) is amazing - it's the students choosing a way to demonstrate that they understand something! I love it - I have given students opportunities to show me that they understand things in the past through quiz retakes and one-on-one interviews about concepts, but it never quite took off until this year when their grade is actually assessed through standards, not Quiz 1, Exam 1.

I also asked a student about their proficiency on this standard:

I can determine the perimeter and area of complex figures made up of rectangles/ triangles/ circles/ and sections of circles.

I received this:
...followed by an explanation of how to find the area of the figure. Where did she get this problem? She made it up.

I am in the process right now of grading unit exams that students took earlier in the week, and found that the philosophy of these exams under SBG has changed substantially. I no longer have to worry about putting on a problem that is difficult and penalizing students for not making progress on it - as long as the problem assesses the standards in some way, any other work or insight I get into their understanding in what they try is a bonus. I don't have to worry about partial credit - I can give students feedback in words and comments, not points.

One last anecdote - a student had pretty much shown me she was proficient on all of the Algebra 2 standards, and we had a pretty extensive conversation through BlueHarvest discussing the details and her demonstrating her algebraic skills. I was waiting until the exam to mark her proficient since I wanted to see how student performance on the exam was different from performance beforehand. I called time on the exam, and she started tearing up.

I told her this exam wasn't worth the tears - she wanted to do well, and was worried that she hadn't shown what she was capable of doing. I told her this was just another opportunity to show me that she was proficient - a longer opportunity than others - but another one nonetheless. If she messed up a concept on the test from stress, she could demonstrate it again later. She calmed down and left with a smile on her face.

Oh, and I should add that her test is looking fantastic.

I still have students that are struggling. I still have students that haven't gone above and beyond to demonstrate proficiency, and that I have to bug in order to figure out what they know. The fact that SBG has allowed some students to really shine and use their talents, relaxed others in the face of assessment anxiety, and has kept other things constant, convinces me that this is a really good thing, well worth the investment of time. I know I'm just preaching to the SBG crowd as I say this, but it feels good to see the payback coming so quickly after the beginning of the year.

A sample of my direct instruction videos.

As I have previously mentioned, I am really excited to be creating Udacity style videos as resources for students in my classes. With my VideoPress upgrade in effect, I have included some of the two minute videos I put together for Calculus class tomorrow introducing limits. We have already spent some time exploring the concept of limits by graphing and evaluating numerically, but these videos are the start of a more formal treatment of evaluating limits algebraically.

I am very interested in feedback, so let me know what you think in the comments.

Progress on Python-Powered randomized quiz generator

One of the projects floating around in my head since the end of last year is creating an easy to use tool that will automatically generate questions for students to test their skills either on their own or while in class. My first attempt at this was during a unit in Geometry on translations, my first attempt at implementing standards based grading. I was taking a Udacity course on web applications and realized that if I could write a quiz generator online, it would be the easiest way to give students a sense of how they were doing without needing me to be part of the process.

As most people doing reassessments tend to be, I was a bit overwhelmed with the paperwork side of things, especially because many of the students just wanted to know if they were right or not. I had made some Python programs to generate quiz questions one by one and decided to try to adapt it to the web application so students could input their answers to questions that had different numbers every time. I had tried to use other options such as PollEverywhere, Socrative to at least collect the data and check it as right/wrong (which would have been good enough for a start in terms of collecting data, but left out the randomization part). The problem with these is that I believe they are hosted in the US and are incredibly slow without a VPN. I needed a solution that was fast, and if I could add the randomization, that would be even better. I decided to try to adapt my quiz generator to a Google App Engine hosted web application.

Needless to say (at least for me) this was not an easy task. I had a loose understanding of how to manage GET and POST requests and use cookies to store random values used. The biggest challenge came from checking answers on the server side. For someone figuring out Python concept as he goes, it involved a lot of fists on the keyboard at the time. My attempt is posted here. There were tons of bugs (and still are) but I at least got up the nerve to try it in class. The morning I was excited to premiere it, I also found out another interestingly infuriating nugget of info: Google App Engine is blocked in China.

I gave up at the time, as it was almost summer. I was interested in helping out with the development of the Physics Problem Database project during the summer, but opportunities for sitting down and coding while on a whirlwind tour of the US seeing friends and family weren't that numerous. It's amazing to see how John, Andy, and others have gotten the database site together and doing functionally cool things in a short amount of time. I spent some time over the summer learning PHP and MYSQL, but was pulled back into Python when I saw the capabilities of webpy and web2py to do applications. I see a lot of features and possibility there, but fitting my ideas to that framework is beyond what I know how to do and what I have been able to figure out during my time prepping and starting school. That will come later.

I keep coming back to the fact that randomization needs to be built into the program interface from the beginning. I want students that need to practice to be able to do so with different problems each time, because that frees them from needing me to be there to either generate them myself or prevent them from creating impossible problems. I want the reassessment process to be as simple as possible, and for the lowest level skills, they don't necessarily need me to be testing them in person. That's what in person interviews and conversations (including those through BlueHarvest) are all about. I won't rely on a tool like this to check proficiency, but it's a start for giving students a tool that will get them thinking along those lines.

I've had the structure for how to do this in my head for a while, and I started sketching out what it would be in a new Python program last week. This morning, after learning a bit more about the newer string formatting options in Python that offer more options than basic string substitution, I hunkered down and put together what is at least a workable version of what I want to do.

Please visit here to see the code, and here to give it a shot on

The basic structure is that every question can use either random integers, an irrational decimal value, or signed integers in its text. With all of the messiness of methods to generate and replace the random numbers inside the Question class, it is fairly easy to generate questions with random values and answers. I admit that the formatting stinks, but the structure is there. I could theoretically make some questions for students this way that could be used on Monday, but I probably won't just yet. I think a nap is in order.

Next steps:

  • I need to work on the answer checking algorithm. At the moment it just compares an entered decimal answer to being within a certain tolerance of the calculated answer. My plan is to expand the Question definition to include another input variable for question type. Single numerical answers are one question type, Coordinates are another, and symbolic equations or expressions are yet another one I'd like to include. Based on the question type, the answer method in the Question class can be adjusted.
  • As an extension to this, I'd like to include sympy as part of this for making both question generation and answer checking. It has the ability to show that two symbolic expressions are equal to each other, among many other really nice capabilities. This will let me generate all sorts of nice Calculus and algebraic manipulation questions without too much difficulty.
  • I'd like to be able to format things nicely for algebraic questions, and possibly generate graphical questions as well.
  • The ultimate goal is to then get this nicely embedded as a web application. As I mentioned before, there is too much going on in the web2py framework for me to really get how to do this, but I think this is something I can do with a bit of help from the right sources.

I'm having a ball learning all of this, and to know that it will eventually make for a nice learning tool that students will benefit from using is a nice incentive for doing it.