The Nature of Variables for Students vs. Programmers

Dan Meyer has provoked us again with this post questioning the meaning of variables in programming compared with how they exist in the minds of our students.

I previously wrote about something I tried at the beginning of last year with my students that probed this question a bit. My contention then was that writing expressions is something that occurs with students only in math class world, and that it is an inherently non-interactive process. The spirit of what variables do is something with which students have familiarity. It’s the abstraction of the mathematical representation that pushes that familiarity away from them.

I’m going to use a different expression problem since the one in Dan’s post doesn’t do it for me.

Dan estimates that around 3/4 of any group of people drink soda.

I’d start with this activity that students would be able to answer:
Screen Shot 2014-07-24 at 7.01.57 PM

Students could each click on the people go through the process of figuring out how many in each group drink soda according to Dan’s estimate, and would record the number in each group. The third group serves to construct a bit of controversy for discussion purposes. In doing this four times, students are presumably going through a similar process each time.

Mathematics serves to create structure for this repetition, but on its own, is not necessarily in the realm of what our students would do to manage this repetition. Programming provides a way to bridge this gap using the same idea of variables that exists in the mathematical realm, and here is where the value sits for this discussion.

In the post I mentioned previously, I said that I briefly showed students how to type expressions into a spreadsheet and play around with inputs and outputs so that they match concrete values. In a non 1:1 laptop classroom, I might start with this:

Screen Shot 2014-07-24 at 7.22.34 PM

A calculation links the outputs to the inputs in each of these tables. Students have concrete values sitting in front of them, so they will notice that each of these tables must be making the wrong calculations, even though they each have one correct value. Here, we have the computer making the same calculation each time, but these calculations do not work in each case. This is the wrong model to match our data. The computer is doing exactly what we are telling it to do, but the model is wrong.

How do we fix this, class? Obviously we use a different computational model. I might have students decide in a group what calculation I need to do to correctly reproduce the values from the exercise, and elicit those suggestions from them.

Once we establish this correct model, this calculation we are making is common to every set of data. We can show that this calculation makes an interesting prediction of 7.5 people liking soda in the group of 10. We can use this calculation to predict how many people in a group of 28 drink soda (and in a 1:1 classroom, I’d have them go through this entire programming process themselves.)

I might now generate a table hundreds of entries long and ask whether there is a better way to represent the set of all possible answers to this question. The table will work, but it is tedious. We need a better way. How do we do this? Here is where variables come in.

Programmers use variables because they want to build a program that produces a correct output for every possible input that might be used to solve a given problem or design. Mathematicians also want to have the same level of universality, and have a syntax and structure that allows for efficient communication of that universality. Computers are really good at calculating. The human brain is really good at managing the abstraction of designing those calculations. This, ultimately, is what we want students to be able to do, but they often get lost in both the design stage and the calculation stage, especially because these get divorced from the actual problem students are trying to solve.

If we can have students spend more time in the design stage and get feedback on whether their calculations are correct, that’s the sweet spot for making the jump to using mathematical variables.

Volumes of Revolution – Using This Stuff.

As an activity before our spring break, the Calculus class put its knowledge of finding volumes of revolution to, well, find volumes of things. It was easy to find different containers to use for this – a sample:
DSC_0164

IMG_0573

We used Geogebra to place points and model the profile of the containers using polynomials. There were many rich discussions about wise placement of points and which polynomials make more sense to use. One involved the subtle differences between these two profiles and what they meant for the resulting volume through calculus methods:

Screen Shot 2013-04-08 at 4.19.33 PM

The task was to predict the volume and then use flasks and graduated cylinders to accurately measure the volume. Lowest error wins. I was happy though that by the end, nobody really cared about ‘winning’. They were motivated themselves to theorize why their calculated answer was above or below, and then adjust their model to test their theories and see how their answer changes.

As usual, I have editorial reflections:

  • If I had students calculating the volume by hand by integration every time, they would have been much more reluctant to adjust their answers and figure out why the discrepancies existed. Integration within Geogebra was key to this being successful. Technology greases the rails of mathematical experimentation in a way that nothing else does.
  • There were a few many lessons that needed to happen along the way as the students worked. They figured out that the images had to be scaled to match the dimensions in Geogebra to the actual dimensions of the object. They figured out that measurements were necessary to make this work. The task demanded that the mathematical tools be developed, so I showed them what they needed to do as needed. It would have been a lot more boring and algorithmic if I had done all of the presentation work up front, and then they just followed steps.
  • There were many opportunities for reinforcing the fundamentals of the Calculus concepts through the activity. This is a tangible example of application – the actual volume is either close to the calculated volume or not – there’s a great deal more meaning built up here that solidifies the abstraction of volume of revolution. There were several ‘aha’ moments and I saw them happen. That felt great.

The post where I remind myself that written instructions for computer tasks stink.

It’s not so much that I can’t follow written instructions. I’m human and I miss steps occasionally, but with everything written down, it’s easy to retrace steps and figure out where I went wrong if I did miss something. The big issue is that written instructions are not the best way to show someone how to do something. Text is good for some specific things, but defining steps for completing a task on a computer is not one of them.

Today I showed my students the following video at the start of class.
GEO-U6D2.1-Constructing Parallelogram in Geogebra

I also gave them this image on the handout, which I wrote last year, but students only marginally followed:
Screen Shot 2013-02-27 at 5.53.31 PM

It was remarkable how this simple change to delivery made the whole class really fun to manage today.

  • Students saw exactly what I wanted them to produce, and how to produce it.
  • The arrows in the video identified one of the vocabulary words from previous lessons as it appeared on screen.
  • My ESOL students were keeping up (if not outpacing) the rest of the class.
  • The black boxes introduced both the ideas of what I wanted them to investigate using Geogebra, and simultaneously teased them to make their own guesses about what was hidden. They had theories immediately, and they knew that I wanted them to figure out what was hidden through the activity described in the video. Compare this to the awkwardness of doing so through text, where they have to guess both what I am looking for, and what it might look like. You could easily argue this is on the wrong side of abstraction.
  • I spent the class going around monitoring progress and having conversations. Not a word of whole-class direct instruction for the fifty minutes of class that followed showing the video. Some students I directed to algebraic exercises to apply their observations. Others I encouraged to start proofs of their theorems. Easy differentiation for the different levels of students in the room.

Considering how long I sometimes spend writing unambiguous instructions for an exploration, and then the heartbreak involved when I inevitably leave out a crucial element, I could easily be convinced not to try anymore.

One student on a survey last year critiqued my use of Geogebra explorations saying that it wasn’t always clear what the goal was, even when I wrote it on the paper. These exploratory tasks are different enough and more demanding than sitting and watching example problems, and require a bit more selling for students to buy into them being productive and useful. These tasks need to quickly define themselves, and as Dan Meyer suggests, get out of the way so that discovery and learning happens as soon as possible.

Today was a perfect example of how much I have repeatedly shot myself in the foot during previous lessons trying to establish a valid context for these tasks through written instructions. The gimmick of hiding information from students is not the point – yes there was some novelty factor here that may have led to them getting straight to work as they did today. This was all about clear communication of objectives and process, and that was the real power of what transpired today.

Cell phone tracking, Processing, and computational thinking

I gave a survey to my students recently. My lowest score on any of the questions was ‘What I learn in this class will help me in real life.’ I’ve given this question before, and am used to getting less than optimal responses. I even think I probably had a higher score on this question than I have received previously, but it still bothers me that we are having this discussion. Despite my efforts to include more problem solving, modeling, and focusing on conceptual understanding related tasks over boring algorithmic lessons, the fact that I am still getting lower scores on this question compared to others convinces me that I have a long way to go.

I came up with this activity in response. It combines some of the ideas I learned in my Udacity course on robotic cars with the fact that nearly all my students carry cell phones. While I know many cell phones have GPS, it is my understanding that phones have used cell towers for a while to help with the process of locating phones. It always amazes me, for example, how my cell service immediately switches to roaming immediately when driving across the US-Canada border, even when I had a non-GPS capable phone.

My students know how to find distance using the distance formula and sets of coordinates, but they were intrigued by the idea of going backwards – if you know your distance from known locations, can you figure out your own location? The idea of figuring this out isn’t complicated. It can most easily be done by identifying intersections of circles as shown below:

One of my students recalled this method of solving the problem from what he saw in the movie Taken 2 , and was quickly able to solve the problem this way graphically in Geogebra. Most students didn’t follow this method though – the general trend was to take a guess and adjust the guess to reduce the overall error until the distances were as close to the given distances as possible.

I got them to also look at other situations – if only two measurements to known locations are known, where could the cell phone be located? They played around to find that there were two locations in this case. I again pointed out that they were following an algorithm that could easily be taught to a computer.

I then showed them a Processing sketch that went through this process. It is not a true particle filter that goes through resampling to improve the guessed location over time, but it does use the idea of making a number of guesses and highlighting the ones with the lowest error. The idea of making 300,000 random guesses and choosing the ones that are closest to the set of distances is something that computers are clearly better at than humans are. There are analytical ways of solving this problem, but this is a good way of using the computational power of the computer to make a brute force calculation to get an approximate answer to the question.

You can look at the activity we did in class here:
Using Cell Phones to Track Location

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:
[wpvideo 4LLQ8TEa]

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:
[wpvideo EY4lUecB]

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.

Geometric Optics – hitting complexity first

I started what may end up being the last unit in physics with the idea that I would do things differently compared to my usual approach. I taught optics as part of Physics B for a few years, and as many things end to be in that rushed curriculum, it was fairly traditional. Plane mirrors, ray diagrams, equations. Snell’s law, lenses, ray tracing, equations. This was followed by a summary lesson shamefully titled “Mirrors and lenses are both similar and different” , a tribute to the unfortunate starter sentence for many students’ answers to compare and contrast questions that always got my blood boiling.

This time, given the absence of any time pressure, there has been plenty more space to play. We played with the question of how big a plane mirror must be to see one’s whole body with diagrams and debate. We messed with a quick reflection diagram of a circular mirror I threw together in Geogebra to show that light seems to be brought to a point under certain conditions. Granted, I did make suggestions on the three rays that could be used in a ray diagram to locate an image – that was a bit of direct instruction – but today when the warm up involved just drawing some diagrams, they had an entry point to start from.

After drawing diagrams for some convex and concave mirrors, I put a set of mirrors in front of them and asked them to set up the situation described by their diagrams. They made the connection to the terms convex and concave by the labels printed on the flimsy paper envelopes they were shipped in – no big introduction of the vocabulary first was needed, and it would have broken the natural flow of their work. They observed images getting magnified and minefied, and forming inverted or upright. They gasped when I told them to hold a blank sheet of paper above a concave mirror pointed at one of the overhead lights and saw the clear edges of the fluorescent tubes projected on the paper surface. They poked and stared, mystified, while moving their faces forward and backward at the focal point to find the exact location where their face shifted upside down.

After a while with this, I took out some lenses. Each got two to play with. They instantly started holding them up to their eyes and moving them away and noticing the connections to their observations with the mirrors. One immediately noticed that one lens flipped the room when held at arms length but didn’t when it was close, and that another always made everything smaller like the convex mirror did. I asked them to use the terms virtual and real, and they were right on. They were again amazed when the view outside was clearly projected through the convex lens was held in front of a student’s notebook.

I hope I never take for granted how great this small group of students is – I appreciate their willingness to explore and humor me when I am clearly not telling them everything that they need to know to analyze a situation. That said, there is really something to the backwards model of presenting complexity up front, and using that complexity to motivate students to want to understand the basics that will help them explain what they observe. Now that my students see that the lenses are somehow acting like mirrors, it is so much easier to call upon their curiosity to motivate exploring why that is. Now there is a reason for Snell’s law to be in our classroom.

Without planting a hint of why anyone aside from over excited physics teachers would give a flying fish about normals and indices of refraction, it becomes yet one more fact to remember. There’s no mystery. To demand that students go through the entire process of developing physics from basic principles betrays the reality that reverse engineering a finished product can be just as enlightening. I would wager that few people read an instruction manual anymore. Even the design of help in software has changed from a linear list of features in one menu after another to a web of wiki-style tidbits of information on how to do things. Our students are used to managing complexity to do things that are not school related, things that are a lot more real world to them. There is no reason school world has to be different from real world in how we explore and approach learning new things.

EARCOS 2012 Presentation – Using Geogebra for Skill Development

After a late night getting into Bangkok and a couple hours of sleep (though I suppose few good stories start “I had a good long night of sleep when I first arrived in Thailand) I made it to the start of the EARCOS 2012 Teachers’ conference yesterday morning. I’ll have more to say about the details of the conference later on, but I wanted to post briefly about the presentation I gave on Geogebra in the afternoon.

The room was packed with teachers and coaches armed with laptops and interested in seeing how the program works. My focus was on giving feedback, with Geogebra as the medium for that feedback. I did not intend it to be a beginner’s tutorial on Geogebra for a few reasons:

  • There is so much fantastic material out there already that shows how to use the software.
  • I wanted to specifically focus on the philosophy of using software to provide instant feedback to students on mathematical tasks.
  • Nick Jankiw from Geometers Sketchpad was doing a series of workshops on GSP and I didn’t want to engage in the Geometers Sketchpad vs. Geogebra debate. I see them both as excellent pieces of software. I choose to use Geogebra for a number of reasons that I mentioned in my presentation. The truth is that Geometers Sketchpad defined the field of dynamic geometry, and I do think it’s important to acknowledge that fact.
That said, anyone that wants help getting started with Geogebra should feel free to ask me for help. Thanks to a great suggestion from John Burk (@occam98) and Andy Rundquist (@arundquist) I had some screencasts demonstrating more advanced sketches of my own playing on the screen while waiting for the program to download and while figuring out the basics.
I thought the workshop went well  – I wish I had not felt the need to talk so much and had given more time for people to interact with each other. That said, I think there were many that came and left with much more knowledge than when they entered. A few told me that they already plan to use it next week in their classes.

My slides and accompanying notes can be found here: EARCOS presentation – notes pages

The video is below – unfortunately there wasn’t a great place to put the camera to be able to get me and the slides, and the contrast is not great to be able to see what I am doing in the program. I’ll find some time to post some screencasts of the demonstrations I did with the software later on.

[youtube http://www.youtube.com/watch?v=eW4-OxkqbfM&w=560&h=315]

Turning random facts into logistics curves – ODE per day series continued.

I previously wrote about making sure that every class during our unit on differential equations starts with some differential equation they can see or feel in a concrete way.

During the last class, we investigated a draining tank using the video posted by Dan Meyer at his blog.

Today we did something different. I told them that I was doing an experiment with a simple task. They all needed to find the answers to some  questions as quickly as possible:

When they found the answers, I wanted them to quickly throw a hand in the air to let me know. I told them to be honest – they didn’t know what I was doing with the information yet, so there really wasn’t a chance to skew it.

I then showed them the slide with the questions:

I also simultaneously started the following Python program. (UPDATE: Code is posted here.) This let me easily record any time a student raised his/her hand.

I then pasted the data directly into a Geogebra spreadsheet and graphed the data…

…and then fit a logistics curve to the data:

They had seen and heard the concept of learning/performance curves before, but it was really great to be able to develop one on the spot with the class. I was impressed with how good the data turned out. It was then neat to be able to show the differential equation that describes this type of phenomenon and solve it to get this type of function.

As is probably obvious, I only have ten students in this group. It would be really cool to try something like this with a bigger group and see if the data fits as nicely.

My tutor’s name is Geogebra CAS.

When I first started teaching, I learned that the best thing to have students do after factoring a trinomial was to have the students check by multiplying out the binomials. At the time, it naively made total sense – students don’t even need me to be there to practice! They can do this on their own while sitting on the subway or waiting for the bus – whatever dead time they have. The students that need to practice factoring can do as much of this as they need until they can factor with some degree of automaticity.

Some (not all) students took my advice. Of those that did, I often saw stuff like this:

x² – 4 = (x – 2)(x – 2)
= x² – 2x + x(2) + 4 = x² – 4

This was a worse situation than how we started – not only were they factoring incorrectly, but their inability to multiply binomials was giving them the false idea that they were doing a good job of factoring! This frustrated me to no end – even if I did give students time during class to practice and develop these skills, what could I tell them to do to improve outside of class? One colleague considered stopping giving homework because he saw it repeatedly reinforcing student errors. I didn’t go that far, but I did start grading homework to try to find mistakes.

The missing piece for these students is the lack of useful and correct feedback. Most of them learned the procedures, but made arithmetic or careless errors such as leaving out terms when simplifying. Without any correct data to make decisions on, these students were just going through a procedure and generating incorrect results, and using the incorrect results to validate an incorrect procedure. If they had a way to generate correct feedback, this experience would stop being worthless and instead become a useful method for developing student skills!

This is where CAS systems come in – Wolfram Alpha is nice, but Geogebra CAS is even better because of speed. I worked with a student that needed practice both in simplifying polynomial expressions and factoring polynomials completely. This is what I had him do while he sat with me:

  • Make up a pair of binomials of the form (x – 5)(4x – 5), multiply them, and then find the quadratic and linear coefficients. When you are ready, use the Simplify[] command to check your answer.
  • Make up a product of polynomials of the form 4x^2(x+5)(2x-5) . Multiply it out all the way on paper, and then check your result using the Simplify[] command.

After this step, we talked about how he could do this on his own and check his work. While we were sitting there, he made mistakes, but was able to catch them himself. He was the source of the problems, and was able to check and see if his final answers were correct. We then moved on to factoring practice:

  • Write out 15 products of binomials (3x-1)(x+5). For some of them, add a monomial factor. Include a couple sum and difference polynomials as well. Multiply any three of them out manually and check using Simplify[].
  • Use Geogebra to multiply any ten of the the rest of them and write down the resulting polynomials on a separate sheet of paper.
  • Eat dinner, watch TV, or something that has nothing to do with factoring.
  • Return to the paper and factor the ten polynomials you wrote down completely. Use Factor[] to check and make sure your final answers match what Geogebra produces – if there are differences, check to see if you have actually factored completely or not. Make a note of any repeat mistakes.

There is a whole lot of extra busy work involved in this process, but part of that is because it’s easy to factor a polynomial that you just generated moments before if you still remember the factors. For some students, this won’t matter, but it helps ensure that the exercises generates are actually useful. This student was on fire during class today, even though we were looking at a different topic entirely. I should have asked him directly whether this is the case, but perhaps the boost of confidence going through this process gave him is part of the reason. I also really like that this method allows the student to simultaneously work on multiplying polynomials and factoring them. My method beforehand would have been to stick to multiplying, then factoring, and then mix them up – there’s no reason to do this.

Computer algebra has been around for a while. The reason I think it’s now to the point where it can be transformational is that it’s easily accessible, easy to use, and almost instant. This idea of using technology (and particularly Geogebra) to help students develop their pencil and paper skills is one that really excites me. I’m excited to see if it works with the students that came in a bit behind but are willing to put in the time to catch up. I don’t want my class time to be spent learning algorithms – that defeats my strong belief that we should focus on teaching mathematical thinking, modeling, and problem formulation instead of algorithms. That said, students do need to be able to develop their skills, and this offers a personalized way to help them do so on their own.

 

Geogebra for Triangle Congruence Postulates

It has been busy-ville in gealgerobophysicsulus-town, so I have barely had time to catch my breath over the last few days of music performances, school events, and preparations for the end of the semester.

My efforts over the  past couple days in Geometry have focused on getting in a bit of understanding of congruent triangles. We have used some Geogebra sketches I designed to have them build a triangle with specific requirements. With some feedback from some Twitter folks (thanks a_mcsquared!) and students after doing the activities, I’ve got these the way I want them.

Constructing a 7-8-9 triangle: Download here. (For discovering SSS)

Constructing a 3-4-45 degree triangle: Download here. (For discovering SAS)

Looking for an ASA postulate. Download here. (Clearly for ASA explorations.) – This one I made a quick change before class to making it so that the initial coordinates of the base of the triangle are randomized when loading the sketch. This almost guarantees that every student will have a differently oriented triangle. This makes for GREAT conversations in class. Here are three of the ones students created this afternoon:

I’m doing a lot of thinking about making these sorts of activities clearly driven by simple, short instructions. This is particularly in light of a few of the students in my class with limited English proficiency. Creating these simple activities is also a lot more fun than just asking students to draw them by hand, guess, or just listen to me tell them the postulates and theorems. Having a room full of different examples of clearly congruent triangles calls upon the social aspect of the classroom. Today they completed the activity and showed each other their triangles and had good interactions about why they knew they had to be congruent.

Last year I had them construct the triangles themselves, but the power of the end message was weakened by the written steps I included in the activity. Giving them clear instructions made the final product, a slew of congruent (or at least approximately in the case of 7-8-9) triangles a nice “coincidence” to lead to generalizing the idea.