Algebra and Programming – A Peek Ahead
I’m starting a new unit reviewing algebraic skills tomorrow. My students have most certainly moved through evaluating algebraic expressions, solving linear equations, and combining like terms before. Much of tomorrow’s class will involve me drifting between students working on this to get an idea of their skill level – certainly not a developmental lesson on these ideas unless I really see the need.
My question is on making these concepts new. The thing that comes to mind most immediately is using this as an opportunity to get students started on concepts of computational thinking. Students have seen the concepts of variables, substitution, and evaluation, but I think (and hope) that the ideas of using a computer to do these things is new enough to whet their appetites to potentially learn more.
What does the computer do well? (Compute).
What must we do to get it to do so? (Communicate to the computer correctly what we want to compute.)
After having my students do some algebraic evaluation on their own, I’m having them watch this short video:
M9 U2D1.1 – Web Browser & Math Hacking
Side Note:
Now that I see I can increase the font size in Chrome for the console, or zoom in using Camtasia, I can make the code much more visible than it is now. Work for the morning.
I can’t see an easier way to get students into a programming environment than this. Everyone has a web browser, and Safari and Chrome both give access to a Javascript console without too much work. There are websites like Code Academy that have a similar environment on their front page, but this method barely even requires accessing a web page.
I’ve had students install Python on their computers before, and it works well enough as long as there aren’t any operating system related hiccups. (IDLE does not run so well on OSX 10.5). I just like that this Javascript environment is hiding on student computers without having to do anything.
Other thoughts:
- We have to tell the computer explicitly that 2x is 2*x. This is a fact that often gets glossed over when students haven’t seen it for a while.
- Javascript doesn’t have an easy to access exponent symbol like Python or other languages do. To enter x3, you have to either type x*x*x (reinforcing the idea of the exponent for the win) or Math.pow(x,3) which is too abstract to even consider using with students.
- Selling programming as a fast and easily accessible calculator isn’t a compelling pitch – I completely get that. At this point though, I’m not trying to sell the computer as the way to do things. My students all have computers with them in their classes. If making them unafraid to do something that feels a bit ‘under the hood’ might lead them to know what else is possible (which is a pitch that is coming really soon), I’m happy with this.