There’s a lot of talk in math education circles about creating and maintaining student motivation and engagement in math courses which normal people find too abstract. Finding out what x is a thousand times is the opposite of what most people find motivating! The fact that something might be useful years in the future is also of limited use in motivating most young people.
My method is to hook students by showing them something visual and engaging (or in other STEM classes, hands-on and interactive) and they’ll do a lot of work if they’re sold on the result.
For example, teaching students polar coordinates in precalculus is a challenge, when they are already comfortable with the perfectly useful Cartesian (x-y) coordinate system. The Processing graphics package is a great way to approach this and other topics, because it was created by and for artists. The master of cool Processing sketches is “Bees and Bombs” creator David Whyte, who posted something like this:
It’s a beautiful work of dynamic art, but it’s also a graph of a trigonometric function in polar coordinates! If you can motivate students to try to recreate the work of art, they might learn how to use a few supposedly hard math tools along the way.
Students I’ve shown this to at The Coder School say, “Wow, cool!” And they’re motivated to learn to make it themselves. The beginner question is, “How do we get one dot on the screen?” A valuable lesson to students is “Read the documentation!” The p5.js website has a lot of helpful explanations and examples on everything you can do with shapes and transformations.
Trig to the rescue
How do we make them oscillate? This would be a difficult proposition, except there’s a math tool that can help tremendously! Sines and cosines are usually introduced as the ratios of sides in right triangles, but by far their biggest application is modeling oscillating behavior. If we change the “ellipse” line in the code above to include a time variable, we can make the dots move in and out of the circle. Processing keeps track of time using “frameCount.”
This would be an excellent precalculus project for working with the equation of waves!
We want each dot to move in and out in a slightly different way, and we already have a variable for “shift” we can use. Introduce that into the code and each dot will “lag” a little behind the previous one:
It’s hard to tell at first that each “dot” is simply oscillating from the center outwards. The rotation is an illusion. Students show off this project proudly, with good reason! Not only is it a cool-looking programming project, but they learned to use a bunch of math tools at the same time.
Peter Farrell, September 13, 2016
Teaching the Computer to Save You Time
I just talked with a math department head who said her school couldn’t fit any programming into her already full math curriculum. “We’re strapped for time just to get to everything in our current curriculum,” she said. I would suggest that far from being one more thing to add to the pile of things you have to teach in a year, programming would actually reduce the workload and free up time for deeper exploration of topics. Let me give you an example.
A big idea in algebra (and programming) is functions. You put a number in to a function (the input, x) and you get a number out (output, y). In math notation
y = f(x)
There’s a time in algebra when they stop using y and just use f(x), and it’s never explained why. For example, if the function is “multiply the input by two and add 5,” the function looks like this:
f(x) = 2x + 5
So if your input is 3, your output is
f(3) = 2(3) + 5 = 6 + 5 = 11
That’s not so hard to do by hand, but pretty soon you start dealing with quadratics and cubics and higher. This is from an Algebra textbook:
The problems above want you to replace x in the function with the number in the parentheses and go through the arithmetic to find the output. You’re expected to do this with a calculator, but if you need to input another number, you have to go through it all again! This can be done more effectively with Python. For example, the function in problem #4 translates to
The applet above is interactive! When you press the “Run” button (it looks like an arrow) Python will instantly evaluate the function for x = -7 and print the output (5) in the window on the right. You can evaluate the function for any number by typing a different number in the parentheses.
In problems involving compound interest, falling objects and cost of materials, it’s the answer we’re interested in, and not the student’s ability to evaluate ugly functions like this by hand. Press the Run button and you’ll see the answer.
In math class variables are all named with single letters, and it can get confusing. In programming it’s possible (and advisable) to use more descriptive variable names, like this:
Now you can understand the formula just by reading it, and it proves the student understands what’s going on in the function. Run it to solve problem #4 above.
Using programming tests your knowledge of a topic because you have to teach the computer how to solve a problem! It also tests your ability to be precise and it frees up a lot of time which students would otherwise spend evaluating the same functions over and over. That way they can get deeper into math topics.
In the future, I’ll show you some math topics you can’t get into without a computer, like big data and fractals!
September 6, 2016
Going Two-to-One on Technology
The “T” in STEM is a frustrating letter. “T” is supposed to stand for Technology. As an engineer turned teacher I find that I have a very different idea of what that “T” in STEM means compared to other folks. I’ve heard teachers and administrators equate Technology with knowing how to use PowerPoint or Google Apps for education. While those are useful skills to have, in my mind that definition really undermines what Technology in STEM can be.
Let’s take a moment to think about how the above definition of technology in schools is limiting. If we look at the other three letters in the STEM acronym we have Science, Engineering and Math. In each of these other three subjects we are picking up much more than a set of skills, but we are picking up a discipline. There are Scientists, Engineers and Mathematicians. People forget that there are also Technologists, and their job is to shape the path of society through the intelligent consideration of Technology. Technologists are not Technologists because they use PowerPoint of Google Apps for Education. Technologists are Technologists because they have studied the physical laws that govern the expansion of technology: Moore’s Law, battery chemistry or semiconductor fabrication. They formulate a vision of the future based on rigorous observation, real trends and actual calculations, just like Scientists, Engineers and Mathematicians.
My suggestion to get technology into schools as a technologist would define it (or an engineer turned teacher would define it) in the same way we have science and math in schools is to have classes where students actually use technology. Not as a product or an app you use to record your thoughts, but something like an Arduino microcontroller. If you don’t recognize the word Arduino or recognize the photo of the naked circuit board to the left of the Mac at the top of this article then you really need to start with some professional development for your school that will open that door a bit for you.
I have taught kindergarten teachers in their mid-sixties who really were starting from the beginning to use microcontrollers. I mean the beginning. New to a Google account and all. Here is a 2 minute video for beginners on what an Arduino is. Just because something looks initially unfamiliar does not mean you can’t quickly come up to speed on it with the right support!
Here is my national proposition to grow the T in STEM: Let’s add to that beautiful mantra we have been hearing about going “one-to-one” with devices (laptops or Chromebooks) in schools. I agree one-to-one is great when you are teaching Powerpoint or Google Apps for Education. One-to-one even works great with The Hour of Code, but this does not get us microcontrollers in the hands of students. My suggestion is that we go two-to-one in schools with one microcontroller and one laptop/chrome book per student. If your school is already one-to-one then this is a great opportunity to leverage your investment! An Arduino microcontroller is now less than $5 on Amazon and will get you to two-to-one.
Going two-to-one allows the students to get the computer to interact with the real physical world. In five minutes you can have a system with a light sensor as an input and then physically control an LED as an output. Students start seeing machines as systems of inputs and outputs when they have access to this. They start to see the technological world around them as something that is modifiable by them. They cease to view themselves as just technology consumers, but technology inventors as well! The addition of the microcontroller to the laptop or Chromebook allows the students to expand the meaning of Technology to that which interacts and shapes the real world around us.
August 30, 2016
STEM or STEAM?
In my position as “Math Guy” here at Make It STEM, I’ve been asked, “What about the A for Art?” I agree “Make it STEAM” would be a kickass company name, but as a math fanatic I feel the A is in the math.
Before you groan, let me explain.
Think about Art, and what it means to you. I’m sure you’re conjuring up images of liberation, creativity and fun. Everybody does art in their own way, and that’s cool. There are no rules, only tools: paint, crayons, yarn, beads, clay, marble, metal, lights, LEGO, anything goes!
That’s exactly the feeling I get when I think of Math. It’s all about beautiful curves and symmetry and mysterious symbols that can do magic if you know how to use them. Add to that the idea that my “Art” can be used to help understand science and lots of other fields, and it just increases its ridiculous usefulness. Yes, some people like to promote rigid, “hard” math, but it’s OK, anything goes. I realize not everybody shares my opinion.
Picture somebody saying to you, “I hate Art.” You’d think they were crazy! You might ask, “What do you mean, you hate Art?” They might tell you, “Ugh, it’s all about brushes, and buying brushes, and it has to be the right brushes, and you gotta wash the brushes…. I flunked a painting class because of the damned brushes. Then I took a drawing class and it was all about having this pencil or that stump and where’s your sketchbook? I couldn’t draw a horse that looked like a horse so I flunked that class. That meant I couldn’t be a forest ranger because I couldn’t pass the Art requirement. I hate Art. It makes me feel stupid.”
Hopefully you’d think there’s something wrong with the way we teach Art!
I think there’s something wrong with the way we teach Math, so I promote a very Artsy approach to it. Math teachers want their students to be able to visualize the topics they’re presenting, so I train teachers how to use computer programming to graph functions and draw geometric shapes. The Astroid in the picture above is one of my favorites.
See? It’s Art! And it’s dynamic and interactive: move the slider on the top left of the applet to change the number of lines in each astroid. That’s what happens when you use variables: you can vary things: location, size, color, number of lines… Want to twiddle more? You can click the link “Edit on CodePen” and play with the source code!
Get creative with all the classic “math” graphics and you’ll learn a lot. It’s not easy, but the payoff is immense!
August 22, 2016