Monthly Archives: September 2012

Computer-based learning is not for wimps

Since I went into a set of lessons with a half-baked plan and half-baked assessment and differentiation strategy, I should not be surprised that my results were very much mixed.¬† ūüôā

The objective of the lesson was to be able to explain that addition and subtraction move your location on a number line, and that they move in opposite directions (regardless of where you start!) Рsecondary objectives included being able to graph objects in four quadrants, and being able to visualize a number line where one is not explicitly drawn.  To this end, I designed a task in which students would animate a little circle and make it move forward, backward, and diagonally.

During the first class, I delivered a huge chunk of instructions, gave kids a handout, told them to copy the code and then modify it.  Almost no one knew what to do with the code and how to make it do anything meaningful.  I felt frustrated that I wasted a class period, but it was important learning for me.  Here is how I modified things during the next period and the things I wish I had remembered during first period.

1)  CHUNK the information. As a whole class, I had the students type in a simple program all together, and we discussed what it did, line by line.  We created a still shape, discussed how to position it in a place you wanted, and then added the code to make it move.

2)¬† Check for understanding at every step. During a whole-class lesson, checking for understanding is often done by asking random students questions using my bucket-o-name-chips.¬† You need to be sensitive about publicly embarrassing students, however.¬† I also wander about the room and confer one-on-one.¬† These fifteen-second conversations are really valuable for checking for understanding.¬† I ask questions that get at the meat of the learning target:¬† “What would be the coordinates here?¬† Why is the shape moving to the left?¬† How would you change it to move to the right?”

3)¬† Assess the kids’ level of background knowledge and give them an appropriate task.¬† I wish I had given the kids a pre-assessment before starting the lesson.¬† I would have seen who understood variables and who didn’t, and who understood four-quadrant graphing and who didn’t.

4)¬† Have a well-defined task and have more tasks than you think you need.¬† Sometimes this isn’t a horrible way to differentiate… you ask students to accomplish A, B, and C, and oh, if you finish all of those and you’re up for a challenge, try D and E.

5)¬† Keep the objective in mind – the understanding that addition and subtraction mean opposite motions on the extended number line.¬† For an assessment, I ended up creating a little self-grading rubric for students to use at the end of the lesson, so they could judge their own level of understanding and reflect on it.¬† It’s not a perfect assessment tool, but it helps them be a little metacognitive and keeps their focus on what they are learning from this imperfect process.¬† I asked them to judge their own level of understanding on graphing and addition/subtraction, on a scale of 1-4.

I got a variety of responses.  These students definitely seemed confident, and it seems I was reading them correctly.

They like programming and they caught on quickly to the use of variables and graphing.

It was interesting to see the rubrics of students who seemed to understand what they were doing, but may have been copying off the screen next to them.  I appreciated their honesty.

Knowing that you’re confused is really more than half the battle, though.

Clearly some students were completely lost, but at least they knew they were lost.  One power of the self-assessment is that the kids are more willing to accept help after they have filled it out.

We have some work to do then. I cropped out the names, but one student left it off. I wish they hadn’t. It would be nice to know who needs the most support.

This is the trajectory of so many math topics. ¬†Everyone ends up in wildly different places by the end, and the challenge before you is how to move the fast learners along on their trajectory while also getting the confused students out of the muck. ¬†I’m right there.

I decided to do a little cooperative learning next. ¬†We learned about subtraction of negative numbers in class, and what subtraction looks like on a number line. ¬†I planned a little programming exploration in groups, where students modified and analyzed a program together as they explored the mystery of subtraction. ¬†ūüôā ¬†It took about 20 minutes. ¬†The purpose was to solidify the meaning of subtraction on a number line, while also un-sticking the kids who were having difficulty programming. ¬†It was a little animation of a circle on a screen, nothing exciting, but demanding that the students analyze and explain, as a group, why the circle moved as it did when you added positive numbers to its coordinates, added negative numbers, subtracted positive numbers, and subtracted negative numbers.

As a treat, when the task was done and we had summarized, I showed them how you could make a circle “walk the plank” for Talk Like a Pirate Day. ¬† ¬†Super easy but a great hook for learning “if” statements.

Tomorrow we’ll do an individual programming task again, this time working on the “if” statement and starting to bring in multiplication of rational numbers.

Can I put in one more plug for how much I love the Khan Academy programming interface? ¬†I will, at some point, write a whole blog entry on why it’s amazing and what could even make it more so. ¬†It makes computer-based learning so accessible for me and for the kids.

Onward!  Hoping for good assessment results on rational number operations as a result!!

Leave a comment

Posted by on September 20, 2012 in Uncategorized


Animation and Integer Operations

For anyone who missed it, I’m experimenting with adding some computer-based math in my seventh-grade pre-algebra curriculum.¬† I see value in having students write computer programs to apply math concepts they learn in class, and to use computer programming as a creative and artistic medium using mathematics!

Previously, students created geometric designs in four quadrants using JavaScript.¬† This week, we are learning how to do operations on rational numbers, starting with integer addition and subtraction.¬† This is contained in some of the bullets under the Common Core standards 7.NS.1, or Colorado’s 1.2a.¬† To facilitate understanding of integer addition and subtraction, students will learn how to created animated drawings in JavaScript.¬† Animated drawings move about in four-quadrant space, so students will understand what addition and subtraction of signed numbers do in terms of moving on a number line.¬† It doesn’t hit on other models of addition and subtraction, and that is one of its weaknesses.¬† However, I like that it will help them understand what addition and subtraction actually do.¬† Regardless of your first operand, if you add a positive number, you move in the positive direction on the number line.¬† If you add a negative number, you move in the negative direction on the number line.¬† Subtraction does exactly the opposite, and so we need to get to the point where students realize that all addition operations can be rewritten as subtraction and vice-versa.¬† It is the movement that is important, and reinforcing that internal number line in students’ heads.

I have a sample program here which has the basics of animation, but also has some flaws.¬† ūüôā¬† Part of the joy of programming comes from pointing out those flaws and imagining ways to fix them.

This sample animated circle moves down and to the right, and leaves a trail behind it. They can see how changing variables and operations affects its movement.

The students’ task will be to create an animated drawing that has at least one object moving strictly horizontally or vertically, one object moving toward the lower right, and one object moving toward the upper right.¬† I’ve added bonus challenges for making objects bounce and switch direction.

This one is more complicated, with two shapes bouncing around the screen. Perhaps this is my differentiation strategy. Advanced students can learn about the “if” statement and make their objects bounce – although I really hope everyone gets there.


The kids LOVE programming, and several of them already have told me that they log on to Khan Academy on their own time and work on their programs.¬† How often do students go home and do more math than is required?¬† This is a side benefit I was really hoping for, and I’m pleased that it’s coming to fruition.¬† I want the kids to be really engaged in learning math and creating wonderful things.¬† I certainly hope that all students get to this point, and not just some.

I still do not have an assessment plan or differentiation strategy in place, and I know these are areas I need to work on. Coming soon!!  Perhaps tonight I should write rubrics based on how I *think* I would assess students, and give it a non-graded test run.

How should I assess them?


Coordinate Graphing and Javascript

I started out my little experiment with computer programming in math class.  It shows a lot of promise, but there is still a lot to consider!

The purposes of the first activity were threefold:  To construct and classify geometric shapes, to plot points on a four-quadrant grid, and to use variables in expressions.

On Day 1, I gave students some direct instruction on variables and coordinate graphing, and I gave them a sample program to type in and modify.

For day 2, I tasked the kids with creating an interesting drawing with these constraints:
– It had to use the translate(200,200); function first, so it would move the origin to the center of the screen and thus make a four-quadrant graph.
– It had to plot shapes in all four quadrants.
– It had to use variables in some way.

I suggested that the drawing could be symmetrical and beautiful, but did not require any symmetry.  I let them play.

I wanted to see evidence that the students understood variables and graphing, mostly. ¬†Classifying shapes was sort of a bonus. ¬†I found that it was very hard to assess. ¬†I didn’t have enough computers for each student to have one individually, so most students partnered up. ¬†I hope to get my own class set of netbooks very soon, so I can evaluate kids individually! ¬†Even though it was hard to see on an individual level who understood what, I could see some broad trends. ¬†One student created this beautiful drawing.

Isn’t it gorgeous? ¬†And, she was clearly purposeful about the placement and size of her circles. She used variables beautifully and could definitely see patterns with the coordinates in the different quadrants of the graph. ¬†I feel I could tell her to place a circle in a certain position of the screen, and she would know what coordinates she needed to get it there.

I got many, many drawings like this:

Watching students work, they sort of plugged in numbers at random and modified them until they got something pretty. ¬†They weren’t being really purposeful in their placement of shapes. ¬†Since many of the drawings are like this, I would say that most of the class is getting the hang of Javascript syntax, but they are still “Progressing” or “partially proficient” in understanding variables and graphing.

One student made this drawing, which is extremely cool but very hard to assess. ¬†The code demonstrates a good understanding of variables. ¬†But I don’t know if the student was purposefully graphing the shapes, or tweaking the numbers until the shape looked okay. ¬†I think I’ve decided even if he or she wasn’t purposeful, through trial-and-error this kiddo probably developed a good understanding of graphing. ¬†But I will need to check.

That said, it’s coming along. ¬†Usually, when we work with variables and equations, there are more than a few kids that ask “What is that x?” several weeks into the unit! ¬†But they are coming along faster with understanding the use of variables in their programs. ¬†They attacked their programming tasks and were excited about doing it. ¬†There was energy you just don’t see when you have students graph on paper.

I really am a huge fan of the Khan Academy programming platform. ¬†It’s at and I could not do what I’m doing without it. ¬†Super easy to use, super kid-friendly. ¬†I wish the teacher class-management tools were a little simpler… it’s a lot of mouse clicks to look at a kid’s program. ¬†That is a small inconvenience that is more than offset by how easy and awesome they have made Javascript.

Due to technology and scheduling restrictions, I need to back off the computers for a couple of days, but we’ll pick it up again next week. ¬†In the meantime this is my plan:
– Demo to students some of the work their peers did and evaluate their own understanding of variables and graphing
– Quiz on integers and rational numbers, on a number line and on a coordinate grid
– Start on addition and subtraction of rational numbers
– Plan for studying animation next week, which will build on the themes of variables and graphing, while adding in a target of understanding addition and subtraction of signed numbers.


Posted by on September 6, 2012 in Lesson Reflections


Pre-Algebra via Computer Science

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

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:

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.

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.

Leave a comment

Posted by on September 3, 2012 in School and Unit Planning