Category Archives: algebra 2

Exponent rules and Witchcraft

I just received this email from a student:

I FINALLY UNDERSTAND YOUR WITCHCRAFT OF WHY 3 TO THE POWER OF 0 IS ONE.

3^0 = 3^(1 + -1) = (3^1)*(3^-1) = 3 * (1/3)

Talk about an accomplished summer.

This group in Algebra 2 took a lot of convincing. I went through about four or five different approaches to proving this. They objected to using laws of exponents since 30 is one of the rules of exponents. They didn't like writing out factors and dividing them out. They didn't like following patterns. While they did accept that they could use the exponent rule as fact, they didn't like doing this. I really liked that they pushed me so far on this, and I don't entirely believe that their disbelief was simply a method of delaying the lesson of the day.

Whatever it was that led this particular student to have such a revelation, it makes me incredibly proud that this student chose to follow that lead, especially given that it is the middle of summer vacation. Despite labeling the content of the course 'witchcraft', I'm marking this down in the 'win' column.

1 Comment

Filed under algebra 2, teaching stories

2012-2013 Year In Review – Learning Standards

This is the second post reflecting on this past year and I what I did with my students.

My first post is located here. I wrote about this year being the first time I went with standards based grading. One of the most important aspects of this process was creating the learning standards that focused the work of each unit.

What did I do?

I set out to create learning standards for each unit of my courses: Geometry, Advanced Algebra (not my title - this was an Algebra 2 sans trig), Calculus, and Physics. While I wanted to be able to do this for the entire semester at the beginning of the semester, I ended up doing it unit by unit due to time constraints. The content of my courses didn't change relative to what I had done in previous years though, so it was more of a matter of deciding what themes existed in the content that could be distilled into standards. This involved some combination of concepts into one to prevent the situation of having too many. In some ways, this was a neat exercise to see that two separate concepts really weren't that different. For example, seeing absolute value equations and inequalities as the same standard led to both a presentation and an assessment process that emphasized the common application of the absolute value definition to both situations.

What worked:

  • The most powerful payoff in creating the standards came at the end of the semester. Students were used to referring to the standards and knew that they were the first place to look for what they needed to study. Students would often ask for a review sheet for the entire semester. Having the standards document available made it easy to ask the students to find problems relating to each standard. This enabled them to then make their own review sheet and ask directed questions related to the standards they did not understand.
  • The standards focus on what students should be able to do. I tried to keep this focus so that students could simultaneously recognize the connection between the content (definitions, theorems, problem types) and what I would ask them to do with that content. My courses don't involve much recall of facts and instead focus on applying concepts in a number of different situations. The standards helped me show that I valued this application.
  • Writing problems and assessing students was always in the context of the standards. I could give big picture, open-ended problems that required a bit more synthesis on the part of students than before. I could require that students write, read, and look up information needed for a problem and be creative in their presentation as they felt was appropriate. My focus was on seeing how well their work presented and demonstrated proficiency on these standards. They got experience and got feedback on their work (misspelling words in student videos was one) but my focus was on their understanding.
  • The number standards per unit was limited to 4-6 each...eventually. I quickly realized that 7 was on the edge of being too many, but had trouble cutting them down in some cases. In particular, I had trouble doing this with the differentiation unit in Calculus. To make it so that the unit wasn't any more important than the others, each standard for that unit was weighted 80%, a fact that turned out not to be very important to students.

What needs work:

  • The vocabulary of the standards needs to be more precise and clearly communicated. I tried (and didn't always succeed) to make it possible for a student to read a standard and understand what they had to be able to do. I realize now, looking back over them all, that I use certain words over and over again but have never specifically said what it means. What does it mean to 'apply' a concept? What about 'relate' a definition? These explanations don't need to be in the standards themselves, but it is important that they be somewhere and be explained in some way so students can better understand them.
  • Example problems and references for each standard would be helpful in communicating their content. I wrote about this in my last post. Students generally understood the standards, but wanted specific problems that they were sure related to a particular standard.
  • Some of the specific content needs to be adjusted. This was my first year being much more deliberate in following the Modeling Physics curriculum. I haven't, unfortunately, been able to attend a training workshop that would probably help me understand how to implement the curriculum more effectively. The unbalanced force unit was crammed in at the end of the first semester and worked through in a fairly superficial way. Not good, Weinberg.
  • Standards for non-content related skills need to be worked in to the scheme. I wanted to have some standards for year or semester long skills standards. For example, unit 5 in Geometry included a standard (not listed in my document below) on creating a presenting a multimedia proof. This was to provide students opportunities to learn to create a video in which they clearly communicate the steps and content of a geometric proof. They could create their video, submit it to me, and get feedback to make it better over time. I also would love to include some programming or computational thinking standards as well that students can work on long term. These standards need to be communicated and cultivated over a long period of time. They will otherwise be just like the others in terms of the rush at the end of the semester. I'll think about these this summer.

You can see my standards in this Google document:
2012-2013 - Learning Standards

I'd love to hear your comments on these standards or on the post - comment away please!

Leave a Comment

Filed under algebra 2, calculus, geometry, physics, reflection, teaching philosophy, Uncategorized

Angry Birds Project - Results and Post-Mortem

In my post last week, I detailed what I was having students do to get some experience modeling quadratic functions using Angry Birds. I was at the 21CL conference in Hong Kong, so the students did this with a substitute teacher. The student teams each submitted their five predictions for the ratio of hit distance to the distance from the slingshot to the edge of the picture. I brought them into Geogebra and created a set of pictures like this one:

Screen Shot 2013-01-29 at 7.57.47 AM

After learning some features of Camtasia I hadn't yet used, I put together this summary video of the activity:

I played the video, and the students were engaged watching the videos, but there was a general sense of dread (not suspense) on their faces as the team with the best predictions was revealed. This, of course, made me really nervous. They did clap for the winners when they were revealed, and we had some good discussion about modeling, which videos were more difficult and why, but there was a general sense of discomfort all through this activity. Given that I wasn't quite able to figure out exactly why they were being so awkward, I asked them what they thought of the activity on a scale of 1 - 10.

They hated it.

I should have guessed there might be something wrong when I received three separate emails from the three members one team with results that were completely different. Seeing three members of one team work independently (and inefficiently) is something I'm pretty tuned in to when I am in the room, but this was bigger. It didn't sound like there was much utilization of the fact that they were in teams. I need to ask about this, but I think they were all working in parallel rather than dividing up the labor, talking about their results, and comparing to each other.

Some things I want to remember about this:

  • I need to be a lot more aware of the level of my own excitement around activity in comparison to that of the students. I showed one of the shortened videos at the end of the previous class and asked what questions they really wanted to know. They all said they wanted to know where the bird would land, but in all honesty, I think they were being charitable. They didn't really care that much. In the game, you learn shortly after whether the bird you fling will hit where you want it to or not. Here, they had to go through a process of importing a picture, fitting a parabola, and finding a zero of a function using Geogebra, and then went a weekend without knowing.

    While it is true that using a computer made this task possible, and was more enjoyable than being forced to do this by hand, the relativity of this scale should be suspect. "Oh good, you're giving me pain meds after pulling my tooth. Let's do this again!"

  • A note about pseudocontext - throwing Angry Birds in to a project does not by itself does not necessarily engage students. It is a way in. I think the way I did this was less contrived than other similar projects I've seen, but that didn't make it a good one. Trying to make things 'relevant' by connecting math to something the students like can look desperate if done in the wrong way. I think this was the wrong way.
  • I would have gotten a lot more mileage out of the video if I had stopped it here:

    Screen Shot 2013-01-30 at 9.23.26 AM
    That would have been relevant to them, and probably would have resulted in turning this activity back around. I am kicking myself for not doing that. Seriously. That moment WAS when the students were all watching and interested, and I missed it.

Next time. You try and fail and reflect - I'm still glad I did it.

We went on to have a lovely conversation about complex numbers and the equation x^{2}+4 = 0 . One student immediately said that $ sqrt{-2} $ was just fine to substitute. Another stayed after class to explain why she thought it was a disturbing idea.

No harm done.

P.S. - Anyone who uses this post as a reason not to try these ideas out with their class and to instead slog on with standard lectures has missed the point. I didn't do this completely right. That doesn't mean it couldn't be a home run in the right hands.

6 Comments

Filed under algebra 2, computational-thinking, reflection, teaching stories

How Good is Your Model (Angry Birds) Part 2 - Refining my process

A year ago, I wrote about my attempt to integrate Angry Birds as part of my quadratic modeling unit. I was certainly not the first, and there have been many others that have taken this idea and run with it. This is definitely a great way of using the concept of fitting parabolas to a realistic task that the students can have fun completing.

As I said a year ago, however, the bigger picture skill that is really powerful with modeling is making do with less information. I incentivized my students last year to come up with a model that predicts the final location of the collision of a bird earlier than everyone else. In other words, if Thomas is able to predict the correct final location with ten seconds of data, while Nick is able to do so with only seven, Nick has done the better job of modeling. I did this by asking the students to try to do this with the earliest possible frame in the video.

This time, I have found a better way to do this. Five videos, all of them cut short.
I'm asking the students to complete this table:
Screen Shot 2013-01-22 at 6.03.12 PM

The impact ratio is defined as the ratio of the orange line to the yellow line, as shown in this image:
Screen Shot 2013-01-22 at 6.04.44 PM

Each group of students will calculate the ratio for each video using Geogebra. Some videos reveal more about the path than others. I'll sum the errors, rank the student groups based on cumulative error, and then we'll have a great discussion about what made this difficult.

The sensitivity of a quadratic (or any fit) fit to data points that are close together is what I'm targeting here. I've tried other techniques to flesh this out in students before - I still get students 'fitting' a table of data by choosing the first two or three points. I'm hoping this will be a bit more interesting and successful than my previous attempts.

Trimmed Angry Bird Videos:





Leave a Comment

Filed under algebra 2, computational-thinking, teaching philosophy

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

3 Comments

Filed under algebra 2, computational-thinking, geogebra, programming

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 variables...it 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 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 (2x+3y=6 versus 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.

Leave a Comment

Filed under algebra 2, computational-thinking, reflection, teaching stories

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.

Leave a Comment

Filed under algebra 2, calculus, reflection, teaching philosophy, teaching stories

Winning the battle over Python programming

Two stories to share after this week's activities with students about programming. I have posted previously about my interest in making Python a fundamental part of my classes this year, and so I am finding ways to include it when it makes sense to do so.

I have a couple of students that are bridging the gap between Algebra 2 and Precalculus with an independent study that I get to design. The tentative title of the course for their transcript is 'Fundamentals of Mathematical Thinking' and the overall goal is to get these students a chance to develop their fundamental skills to be successful in later classes. I see it as an opportunity to really dig in to some cool mathematical ideas and get them to, well, dig into the fundamentals of mathematical thinking. I don't plan too much emphasis on the algorithms (though we will spend some time working on skills in algebra, polynomial manipulation, functions, and other crucial topics where they are weak). Looking at a situation, exploring the way different variables might be used to model that situation, and then really digging in to abstract the variables into a model.

We are starting with what I think is the most fundamental application of this: sequences and series. Even simpler, the first task I gave the students was to look at the number of bricks in the rows of a triangular tower and use Python to add up the bricks in each row. This started as a couple of exercises getting to know Python's syntax. They are then taking programs I wrote to model this problem and adjusting them to find other sums, including the sum of even and odd numbers. One student that completed this task was intrigued that the sum of the latter consisted of perfect squares, but we didn't explore it any further at this point.

I then gave this student a bunch of sequences. His task was simple: model each one in Python and generate the given terms. This is a standard exercise for Algebra & Precalc students by hand, but I figured that if he could do this with Python, clearly he was able to figure out the pattern. I showed him how to write fractions using string concatenation (e.g. 1/3 = 1 + "/" + 3) which enabled him to develop the harmonic series. Today he figured out Fibonacci and a couple other new ones. It was really fascinating to see him mess around think deeply about the patterns associated with each one. I did tap him slightly in the right direction with Fibonacci, but I have otherwise been hands off. I am also having him write about his work to give him opportunities to work on his writing too. When he feels comfortable sharing it (and I have already warned him that this is the plan), I will post links to his work here.

The other new thing was in Calculus. I have shortened my review of Pre-Calculus concepts substantially, and have made the first unit a survey of limits, rate of change, and definite integrals. Most of this has required technology to explore local linearity and difference quotients. On Thursday, I introduced using rectangular sums to find area - they were otherwise stuck on counting boxes, and I could tell they felt it was like baby math. They really didn't know any other way.

In showing them rectangular sums, we had some pretty good discussions about overestimating and underestimating. The students had conversations about how rough the approximation with only 3 - 5 rectangles gave for area under a parabola. A couple of them figured out how to use more rectangles. I told them I was going to write a program to do this while they were sitting and working. I created this program and talked them through how it works. They thought it was too complicated to be worth the time, but I think they did understand the basic idea. I then changed the value of N and asked them what they thought that meant. They got it right the first time. I then pushed the value to higher and higher values of N and they immediately saw that it was approaching a limit. Game, set, match.

Today I had the AP students together working on another definite integral activity that focused on the trapezoidal rule. I showed them the code again and gave them the line that calculates area. It wasn't too much of a stretch for them to work their way to adjusting the program to work for the Trapezoidal rule. We ran out of time to discuss comparisons between the two programs, but they stayed late after class and into their lunch getting it working on their own computers and playing a bit. Here is what we came up with.

The big battle I see is two-fold.

  • Help students not be intimidated by the idea of writing a program to do repetitive calculations.
  • Give students opportunities to see it as necessary and productive to use a computer to solve a problem.

Sometimes these battles are the same, other times they are different. By using the built-in version of Python on their Macs, I have already started seeing them run commands and use text editors to create scripts without too much trouble. That's the first battle. My plan is to give lots of examples supporting the second one in the beginning, and slowly push the burden of writing these programs on to the students as time goes by and they become more comfortable with the idea. So far I am feeling pretty good about it - stay tuned.

3 Comments

Filed under algebra 2, calculus, programming, teaching stories

Python in Algebra 2 - An Experiment

One of my goals is to include some Python programming as part of all of my courses this year, and to do so in a way that isn't just wedging it in where it doesn't belong. We don't have a formal programming class in our school given our size, but I have heard that students are interested in the broad topic of programming, and know that they could benefit. So, I am finding times to get students playing around with it as a tool.

The perfect opportunity in Algebra 2 today came in evaluating algebraic expressions. I don't like reviewing the topic, at least haven't in the past, because in most cases the students remember enough of it to think that they know how to do it, but have forgotten all the nasty bits about order of operations, distributing negative signs, and the infamous -5^2 = 25 when evaluating -a^2 at a = -5. They typically have great interactions reminding each other of the rules, but by the time they get to me in Algebra 2, the idea is no longer fresh. The lesson then ends up being the math lesson equivalent of an air freshener - temporary and stale.

Following my goal, I figured this would be a perfect opportunity to introduce the topic first as a programming topic, and then use the computer as a resource for the students to check their arithmetic. We started the class with some basic order of operations questions:

This was followed by pasting the following into a Python interpreter as everyone was watching:

print "Answers to the Warm-Up Questions:"
print (8*3 - 2*4)
print (27 + 18/9 - 3**2+1)
print (40 + 24)/8 - (2**3+1)

This was following a suggestion from Kevin Krenz to demonstrate the fast way to solve it using the Python interpreter. While they weren't wildly impressed, they did accept that this was an option for them to check their work in these types of questions, and were up for learning how it worked.

I then showed them how to run a Python file on their Macbooks, which all have at least Python 2.6 running on them in the terminal. I talked about working in the terminal as running around in the basement of their computer - lots of power and hidden secrets there to play around with (or mess up if not careful). After learning to do this, they edited a partially completed Python script which I have posted at Github here.

I really liked what happened afterwards, though it did not feel (at all) like a clean, straightforward way of going over algebraic expressions. It was messy. Different people were at different places during the entire 30 minutes we worked on it, which was much longer than I expected. Quite appropriately though, it slowly came together like writing a program often does. Lots of good discoveries and realizations of simple errors that I didn't need to force.

Students realized the difference between 2*x and 2x to the computer. They realized quite cleanly that they needed to tell the computer outright that there is multiplication between a coefficient and a variable. They saw this was not the case for -x although they also thought they might need to write it as -1*x. The Python interpreter pointed this out to them immediately. The interpreter didn't do so well on 4(3 - x) since it considered it a function call, but with some prodding, most students realized it was the same error.

There was enough information in the script for them to figure out how to do exponents, so I was happy not to have to go through that separately. The only really big problem was the fact that Python 2.6 doesn't have the nice floating point capability for division that 3.2 has. For the first problem, part (a), the answer is 0.5, but Python returns 0 since it assumes integer division with a plain / symbol. I went around to student computers replacing x/y with x*1./y, but this became an opportunity to converse with students about division as multiplication by the multiplicative inverse or reciprocal. Another unintended complication that then resulted in more review of pure mathematical concepts.

With all of this done, the students were then pretty proficient at trying to do the substitution by hand and checking against the answers from the computer. Most caught the serious mistakes without too much input from me - the computer did that work for me.

After finishing problem 1, the students got a big kick out of how I told them to program Problem 2 at the end of the script. They were directly teaching the computer to answer these questions through code. I think they saw that programming really is how you teach a computer to do what you want it to do, and had at least a minimal sense of pride in being able to do so.

One student said this was pretty cool, and compared it to a video game. Another appeared to want to kill me the entire time. They were all pretty patient with the activity though, and trusted that this would make them better at what they needed to learn for my class - probably the most important part to this not leading to a serious case of Thursday afternoon mutiny.

In the grand scheme of technology implementation, this activity was nothing more than using Python to replace a graphing calculator with substitution capability. This type of knowledge, however, is important for doing more substantial applications of computational thinking. I think it's important to get students to see what it can do before being interested in creating something as simple as 'Hello world'. That doesn't seem to interest the vast majority of students. While I did most of the programming for this task, this is a gateway to the students doing more and seeing more down the line. Now that they know how to do the basics of editing and running a program, we will be more successful in doing more sophisticated things later on.

2 Comments

Filed under algebra 2, computational-thinking, programming

Experimenting with iBooks Author

I recently took the step of dipping my feet in the Apple pool, much to the surprise of many people that know me and my preferences. There were a few reasons that I decided it would be a good idea, but one of them was the opportunity to experiment on my own time with iBooks Author.

I've tossed around the idea of writing a book. A few ideas for topics have been bouncing around, one being one in which the concepts of mathematical thinking are explored through programming. Given that all Mac computers have Python installed automatically, not to mention the ease that it can be installed on other platforms quite easily, Python is a perfect fit.

Now that I'm set up with my Mac, I've spent the last couple of days playing with it and getting to know its quirks. It does have quirks. I spent a couple of hours today battling a mystery white box that covered anything that slid into it, and that remained even after saves, restarts, and reboots. Eventually I got rid of it (though I'm not totally sure that I am sure how) and put together an activity I plan to have some independent study students work through this year.

The quiz options are nice ways to make things interactive, but they have all the same downsides of multiple choice questions. If there was a fill-in-the-blank option, I could very easily see putting together my own self-guided lessons along the lines of Udacity. That's really what I'm looking for. The really powerful thing to have would be an HTML5 Python interpreter, and I haven't yet looked to see if something exists that would work with the interface.

I found out late in the process that images placed in landscape mode only show up in the portrait orientation if they are set to be 'inline' instead of floating or anchored. Backsliding ensued.

On the whole, it's a nice free publishing platform, including for nice PDF files. I didn't have much multimedia material to throw in, and my attempts to do so would have been for exercising features, not for enhancing the book as a learning opportunity. As many have noted previously, iBooks author offers quite a bit of horsepower for generating flashy multimedia textbooks, but the extent to which it revolutionizes education isn't quite there. Opportunities for interfacing with others reading the same content through chat, messages, or something like that would be a step in that direction.

For what it's worth, feel free to check out the final product below. While the text is written as if it's a finished book ("More information on this can be found in the Appendix"), it very much isn't. Just an experiment to fill my hours battling jet lag back in China.

Mathematical Reasoning with Python

1 Comment

Filed under algebra 2, programming