In case you missed it, I watched this TED talk by Conrad Wolfram and was spurred to action.

http://www.ted.com/talks/conrad_wolfram_teaching_kids_real_math_with_computers.html

Computer programming is a terrifically useful 21st century skill, and I thought and thought about how I could use this skill to also teach some of the big ideas in seventh-grade math. With perfect timing, Khan Academy released their little Computer Science curriculum:

http://www.khanacademy.org/cs

And I knew I had to try. The Khan Academy computer science platform is really slick, super easy to use, all web-based and free. Their videos have an enthusiastic female narrator. They skip the boring console-driven applications and go right to graphics and animation, teaching computer science basics in neat modular chunks. It’s just so full of awesome and so kid-friendly. I don’t know how all of this is going to play out yet. I don’t fully know if or how I’ll get the kids to practice on their own at home, what my assessment strategy will be, or how I’ll manage a classroom of kids all having different troubleshooting issues. But I will dive in, go slow, and fix things as I go.

Our district math curriculum specialist, along with some teachers in the district, did a really nice job making a pacing guide that aligns with the Common Core Standards. I’m picking a few topics from our first unit of study and digging into the computer science curriculum as we go.

Here is what we will learn during the first month or so using computer programming:

2.2c: Use variables to represent quantities in a real-world or mathematical problem, and construct simple equations and inequalities to solve problems by reasoning about the quantities.

– We’ll learn how to declare variables, write an expression using those variables, and predict the effects of changing the variables on our computer programs. We’ll explore domain and range by understanding the maximum and minimum values that will make the computer program work, and what will make it break.

1.2a and 1.2b: Apply and extend previous understandings of addition, subtraction, multiplication, and division to perform these operations on rational numbers including integers.

– I smushed the wording together, but basically we’ll understand how all these operations work on signed rational numbers by performing operations on computer graphics drawn on a four-quadrant plane on the computer screen. Computer graphics have a different coordinate plane than mathematicians use, but the big idea is understanding the relationships between these numbers and what the operations do. I envision us exploring these ideas through animating our drawings.

4.1a: Draw, construct, and describe geometrical figures and describe the relationships between them.

– We’ll probably only touch on this a little at first, and I’m not sure how it will all play out, but we’ll draw geometric shapes to animate and explore what computer commands are needed to make a circle, a square, an equilateral triangle, etc.

I plan to start Tuesday with an activity in which I give the students some direct instruction on variables in computer programming, and then they copy a program that draws a four-quadrant plane and a couple of shapes. The students’ task will be to manipulate the variables to reflect the shapes over the x-axis (and, if they get it, the y-axis too).

This is the program for the students to copy.

http://www.khanacademy.org/cs/reflect-four-quadrant/1016729601

I commented out, for now, some lines that I used that could reflect the shapes over the x-axis. There are multiple ways to attack that problem, though. It’s a little complicated because the ellipse is plotted according to its center and the rectangle is plotted according to its upper left corner. It’ll be a good puzzle for the kids.

Final notes: It may completely blow up. I’ve taught programming to gifted kids before, but never to a class of such a wide range of abilities. I have not planned for differentiation. I have a really simple sign-off sheet as an assessment tool. I just want to see what the kids do with this task and what kinds of problems I’ll run into using this as a teaching tool. I will have to troubleshoot the teaching later.