I had made the commitment to teaching my 7th grade math students how to code. I had chosen the tools and roughly mapped out the pacing for the year. It was time to dive in! The first unit my colleagues and I decided to attack was a geometry unit on Transformations.
- CCSS.Math.Content.8.G.A.2 Understand that a two-dimensional figure is congruent to another if the second can be obtained from the first by a sequence of rotations, reflections, and translations; given two congruent figures, describe a sequence that exhibits the congruence between them.
- CCSS.Math.Content.8.G.A.3 Describe the effect of dilations, translations, rotations, and reflections on two-dimensional figures using coordinates.
I started the kids on some programming exercises to find their way around the coordinate grid, drawing lines, and using colors. I hoped the early exposure to coordinate graphing would pay dividends later! I knew it would likely be confusing. I was throwing the kids into four-quadrant graphing, which they had never done before, and it was on a computer screen with its upside-down y-axis and no scale.
Day 1: I got the students signed on to Khan Academy and started them on teacher-led lessons on drawing lines. We focused just on a few commands: line(), stroke(), strokeWeight(). I required them to translate the origin to the center of the screen by using translate(200,200); first in their program. This would let them experiment with positive and negative numbers, reflections and rotations around the origin. It was difficult and very teacher-led. It was really hard for them to see the line() command consisted of four numbers, which were two x-y pairs of coordinates. They needed to connect a line to the previous one such that the second x-y pair from line 1 became the first x-y pair in line 2. The goals of “I can purposefully draw lines on a coordinate plane using technology” and “I can connect lines into polygons using technology” were tough indeed! By the end of a day, students had drawn shapes, but did they understand?
Day 2: We started congruence transformations with translations, so I put together some activities for students to do translations using programming. In middle school, the standards do not require students to really formalize the coordinate rules for transformations – but wouldn’t it be more motivating and relevant to problem-solve through translations using a program? I played with these tools.
TROUBLESHOOTING activity – broken translations
FEEDBACK FORM – a check-for-understanding. How were the kids doing?
We filled more days with activities on rotations and reflections using textbook lessons, and then I got a brainstorm about a unit project.
The students had a few half-days of work time on the project, with me and the paraprofessionals circulating and offering help. Many kids formed little informal workgroups, helping and consulting with each other, showing each other drafts, and sharing idea. I really need to explore this workgroup idea a little more – little mixed-ability groups of 3-6 students seemed just about right for accomplishing quite a bit of work. Some were more effective than others. I wondered a lot about how to help the less-effective groups and individuals develop those skills needed to become adventurous programmers – initiative, risk taking, pattern-finding, documentation-seeking, copying and tinkering.
When it was time to turn in the project, I wanted to make sharing it feel authentic and real – so I put the students into groups of four and had them take turns presenting their projects to each other. Every member had to give feedback to every other member using a special student rubric. I stapled all of the student feedback to mine at the end, with a grade on the project.
The presentations were very exciting! The kids loved showing off their work to their peers!
Sample Student Work: Here are some projects that really stood out.
Ashlyn C: PROGRAM and PRESENTATION. Ashlyn discovered (and explained nicely) that if you reverse the signs of the x-coordinates, a shape will reflect over the y-axis. She can also describe angles of rotation.
Lizzie P: PROGRAM and PRESENTATION. This is such an interesting project! Lizzie created little lines of reflectional symmetry in those purple clusters of grapes by paying careful attention to distances in the x direction and y direction. Her presentation isn’t completely accurate (she describes rotational symmetry that isn’t really rotational around the origin in the way she thinks it is), but she showed good general grasp of congruence transformations and how they affect corresponding points.
Abbi F: PROGRAM and PRESENTATION. Abbi caught on to translation transformations, even when working with negative numbers, better than just about anyone. She created a very pretty design and explained her transformations in great detail!
Reflections: Although this project was a lot of work, I noticed that I was able to keep pace with my colleagues who were doing work strictly on paper. I simply kept my paper lessons a little shorter, devoting about half of some block days to working on programming and the project.
At first, I did a lot of direct instruction. I am certain I overdid it! I made videos and walked students through how I wanted them to learn and interact with drawing.
They really learned a lot more when I just gave them the project, and without working with them on how to create rotations and reflections, just gave them instructions to play with the coordinates, look for patterns, keep track of what they did, and be able to describe the congruence transformations they made.
Here’s what I loved best about the transformations project: the kids really owned and understood the vocabulary and what it meant. Almost all of the students made “reflection”, “rotation”, “translation”, “congruence”, and “corresponding points” part of their everyday talk, and I heard them having conversations with each other about them. Their writing, in many cases, needed a lot of work. But if I interviewed them, they understood exactly what they were looking at and how they created it.
It was a first taste of project-based learning for me. I hadn’t taught them how to do what they did with technology – the students figured out how to make transformations when they needed to learn it. I was really energized by it, and even though the process was messy and definitely non-linear, I knew we had to code some more. By now, many students were demanding it!