(Source: Ontario Association of Math Educators: Ontario Math Support)
On a computer? Click "file" then "make a copy" to save and make changes.
On an iPad? Select the 3 dots in the top right hand corner. "Share and Export" then "Make a Copy".
Algebra
C3. solve problems and create computational representations of mathematical situations using coding concepts and skills
C3.1 solve problems and create computational representations of mathematical situations by writing and executing efficient code, including code that involves conditional statements and other control structures
C3.2 read and alter existing code, including code that involves conditional statements and other control structures, and describe how changes to the code affect the outcomes and the efficiency of the code
Spatial Sense
E1. describe and represent shape, location, and movement by applying geometric properties and spatial relationships in order to navigate the world around them
E1.3 plot and read coordinates in all four quadrants of a Cartesian plane, and describe the translations that move a point from one coordinate to another
E1.4 describe and perform combinations of translations, reflections, and rotations up to 360° on a grid, and predict the results of these transformations
Number
B1. demonstrate an understanding of numbers and make connections to the way numbers are used in everyday life
B1.2 read and represent integers, using a variety of tools and strategies, including horizontal and vertical number lines
Social-Emotional Learning (SEL) Skills in Mathematics and the Mathematical Processes
A1. Throughout this grade, in order to promote a positive identity as a math learner, to foster well-being and the ability to learn, build resilience, and thrive, students will apply, to the best of their ability, a variety of social-emotional learning skills to support their use of the mathematical processes and their learning in connection with the expectations in the other five strands of the mathematics curriculum.
Big Ideas:
In this lesson, to the best of their ability, students will learn to develop self-awareness and sense of identity and build relationships and communicate effectively as they apply the mathematical processes reasoning and proving (develop and apply reasoning skills (e.g., classification, recognition of relationships, use of counter-examples) to justify thinking, make and investigate conjectures, and construct and defend arguments and communicating (express and understand mathematical thinking, and engage in mathematical arguments using everyday language, language resources as necessary, appropriate mathematical terminology, a variety of representations, and mathematical conventions), so they can see themselves as capable math learners, and strengthen their sense of ownership of their learning, as part of their emerging sense of identity and belonging, and work collaboratively on math problems--expressing their thinking, listening to the thinking of others, and practising inclusivity -- and in that way fostering healthy relationships.
to understand the movement of objects on the Cartesian plane
use graph paper, programming and dynamic geometry (or other) software to understand how transformations behave
make changes to the position of an object by applying one or more translations and/or reflections
for coding efficiency:
combine several transformations to make a single transformation;
simplify code by reducing the number of steps required (make it more efficient)
control the sequence of events to give a specific outcome (e.g., two different codes producing the same transformed image)
Prior to this lesson, students may have had the opportunity to...
Construct triangles and congruent shapes (triangles, rectangles and parallelograms)
Plot ordered pairs (x, y) in Quadrants 1 to 4
Perform translations, reflections and rotations up to 180 degrees
Classify angles (right, straight, acute, obtuse); construct, measure and compare angles up to 180 degrees
Write and execute code involving conditional statements and other control structures, and possibly in the context of location and movement of objects on the Cartesian plane
Run programs in Scratch (beneficial, but not a prerequisite)
Use digital survey tools (beneficial, but not a prerequisite)
Have created their own meaningful notes or other meaningful demonstrations of their learning about coding locations and movements on the Cartesian plane
Meaningful Notes - Liljedahl (2019) writes: “Notes should consist of thoughtful notes written by students to their future selves. The students should have autonomy of what goes in these notes and how they are formatted and should be based on the work that is already existing on the boards from their own work, another group's work, or a combination of work from many groups” (p1 - 12).
Scratch Project: Translations & Reflections - What’s My Move?
Copies of Graphing Template - Square Tiles and Arrow Cutouts
Virtual version of Blank graph and arrows
Rulers, scissors, pencils, and colouring pencils
Digital whiteboard, dry-erase boards (gridded)
A Flipgrid account for asynchronous math conversations
Begin the lesson with a math conversation.
Math Conversation:
Think: I need to navigate from this location and end ______ (insert new location). What detailed set of instructions will you communicate to me so that I move to this location successfully?
Pair: Have students share their thinking with a partner.
Share: Invite students to share their thinking with the class. Select 2 - 3 examples from the class that demonstrate different approaches (paths and modalities--i.e., talking, acting out, and representing on vertical non-permanent surfaces (VNPS)).
It’s important that the sharing takes on the following format:
Students say aloud the instructions, one at a time.
The teacher (or another student) acts out each instruction as it's given.
Invite students to compare each new example with the previous one. Be sure to provide ample time to visualize/process. For comparison, teachers might need to annotate examples that have been shared verbally and acted out.
I.e., What did you notice about the two sets of instructions?
E.g., Same end position yet different path (translations) and moves (turns) along the way
I.e., What are you wondering about the relationship between each of the examples shared?
E.g., Some examples were shorter, having fewer instructions
E.g., Some examples had many of the same turns and moves; they were just done in a different order
E.g., Some examples repeated a few of the same moves and turns
As the sharing comes to a close, highlight with students the examples that were more ‘efficient’ sets of instructions. Also, draw attention to how some sets of instructions can be executed in a different order, yet produce the same outcome.
Continue the conversation with students by transitioning to terms that relate to coding.
The coder (or Programmer), Program (or Code), Computer…
In each of our examples, who was the computer? (the teacher or student following the instructions) The coder? (student giving instructions)? What was the program? (set of instructions)
Share the following with students:
Across all of your examples and our conversations, we were really focused on producing the most efficient and effective set of instructions for the computer (the teacher!).
Along the way, we noticed when a set of instructions wasn’t working and that we needed to fix (or debug) them.
In the next part of today’s lesson, we’re going to continue working on creating, testing and giving our ‘computers’ good sets of instructions.
Opportunity for Differentiation
(meeting the needs of all learners)
To support student thinking, encourage students to act out the moves they’ll communicate to each other and their teacher.
Alternatively, these types of movement activities can be done either outdoors or in a gymnasium where there are lines and curves marked out for students to reference.
To further make their thinking visible, pairs of students could record their steps on vertical non-permanent surfaces (VNPS).
Opportunities for Assessment
Begin recording students’ responses to this part of the conversation. Responses relative to efficiency (fewer instructions, repeats) and sequencing can contribute to the development of success criteria throughout the remainder of the lesson. These shared ideas and language will empower students, as they assess their own learning and can be used as descriptive feedback by both teachers and students.
Social-Emotional Learning (SEL) Skills in Mathematics and the Mathematical Processes Connections:
Although it’s early on in the lesson, if there is an opportunity to highlight key student ‘moves’, teachers might choose to do so. Not only can this teaching move activate students’ thinking, but ongoing descriptive feedback on the Social-Emotional Learning (SEL) Skills in Mathematics and the Mathematical Processes development can support students throughout the lesson.
Develop Self-Awareness & Sense of Identity
Build Relationships & Communicate Effectively
As students shared with their partner and/or with the class, how were they positively contributing to their own learning and that of their peer(s)? (E.g., showing that they were listening to others’ perspectives and communicating using math language, sketching, and/or acting out sets of instructions--i.e., transformations)
The next part of today’s lesson takes what we’ve done and combines it with a way that we can systematically make it easier to work with our programs and communicate them to one another.
Teacher Modelling: Drawing Shapes
Begin by projecting Project #3 from the previous lesson, Translations & Reflections - What’s My Move?
Debugging Exercise - Translations and Reflections:
Now that the arrow has been drawn and code tested, hand out a copy each of “Debugging - Activity Sheet”, “Graphing Template - Square Tiles”, and “Arrow Cutouts”.
Virtual options:
In this part of the lesson, students have been presented with both the original image and image arrows (see below)
Their task is to look at the description of transformations and pseudocode given to determine if the instructions will successfully result in the original image arrow being transformed to its image--i.e., students need to debug the code.
Notice that each line of code has a grid provided as a place for students to ‘execute’ (by drawing) each instruction. By drawing each instruction, students will be better able to detect the errors, make changes, and test the appropriateness of their decisions.
Note: Stop the project shortly after the original image arrow is drawn.
Ask students about what lines of code (instructions) might make up the drawing of this arrow.
On a surface visible to students, annotate their suggestions and encourage them to test the program by sketching on grid paper. Provide students with time to process and/or use a think-pair-share strategy.
For virtual think-pair-share, consider using Flipgrid.
Tips:
To show both original image and lines of code simultaneously, use the file, “Debugging - Activity Sheet”.
To help test and visualize the code, encourage students to draw lines (according to the coordinates provided) and incorporate rotations accordingly. This can be done in a number of ways: inviting students to take part in drawing on a virtual whiteboard, on a copy of “Graphing Template - Square Tiles”, or on a dry-erase board (gridded).
Notes:
Teachers might also find it beneficial to review clockwise (negative) and counter-clockwise (positive) angles.
Notes:
The central dot in each arrow can serve as both a centre of rotation, as well as a point of reference for translations.
Discussion Prompts:
What bugs (errors) did you spot in the code? How did you know? Take turns explaining to your partner.
What changes did you make to correct the code? Justify the changes you made to your partner.
Repeat by having students switch partners once more before moving to consolidation of learning.
Taking stock of the information students have brought forward throughout the lesson, it’s now time to connect their learning back to the learning goal and draw out some success criteria (anticipated and incidental).
Learning Goal: To understand and code the movement of objects on the Cartesian plane
Success Criteria (in particular): I can...
Make changes to the position of an object by applying one or more translations and/or reflections
For coding efficiency:
Combine several transformations to make a single transformation;
Simplify code by reducing the number of steps required
Control the sequence of events to give a specific outcome (e.g., two, different codes producing the same transformed image
Start this portion of the lesson with a math congress.
Math Congress:
Using a small sample of the student work you’ve collected, project these examples--one at a time and sequenced. Focus on encouraging student sharing--explaining their thinking, listening to others, and asking questions of their peers.
The following discussion prompts can be used throughout to help guide student sharing and conversation:
Discussion Prompts:
What changes were made to correct the code here? Why?
What impact, if any, did this change have on the rest of the code?
Was this change (or changes) more about the sequencing (or ordering) of instructions? Or about improving the efficiency of the code--essentially, reducing the number of steps required?
To start, focus on an example that is more representative of the place to which all students were able to get to. This example might involve controlling the sequence of events (some of them already provided).
Next, teachers should move to examples that are more complex, yet continue to align with any hints or extensions that were offered to students during the active learning component of the lesson. That is, draw on two more examples that focus on creating and testing code that is more efficient. These examples involve reducing the number of steps required or combining transformations into a single transformation.
Lastly, as the sharing comes to a close, remind students that across all of the examples and through conversations, they were focused on producing the most effective set of instructions for the computer (themselves and their partners!). Along the way, they noticed when a set of instructions wasn’t working and that they needed and were able to fix (or debug) them by trying different transformations.
Through coding, they were also better able to understand and perform transformations of objects on the Cartesian plane.
Based on the needs of all learners, any one or more of the following can be used as next steps for students and drawn out, accordingly, over time.
Further Consolidation:
Deliberate Practice - Metacognition and Reflection:
Students can add to the meaningful notes they started at the beginning of the lesson (sample template)--i.e., a note that they would write to their future selves about the movements of objects on the Cartesian plane. Teachers might also look at other media to support student expression.
Important: Meaningful notes hold meaning for the learner--that is, they are for the student, not the teacher. It’s important that students know that their notes are not being used in an evaluative sense. When it comes to deliberate practice and meaningful notes, it’s important that teachers carefully position providing descriptive feedback to students. Teachers might choose to refer the student to their notes in support of student-teacher conferencing of other learning experiences.
Example:
Student: “Hmm… I feel like I get this, but there’s something that’s not right.”
Teacher: “Let’s take a look back at your meaningful notes to discuss if there’s something there that could help with this new task.”
Note: If there is something ‘missing’, this can be an opportunity to offer a student some guidance.
Deliberate Practice - Conceptual Understanding and Skill Development:
The following activity can be used to begin the next day’s learning.
Distribute a copy of “Coding Transformation- Activity Sheet”.
Virtual version Coding Transformations - Activity Sheet
To begin, encourage students to decide on a shape they’d like to draw as their original image. Have students draw their original image and include the lines of code necessary for others (their partners as computers!) to reproduce the image on their own.
After students have completed this first step, have them trade with a partner.
Partners should test the program for the original image shape and discuss any concerns, ask questions, and/or make suggestions about efficiency or sequencing.
Next, it’s time for partners to set up a challenge.
Challenge: Drawing in the image, each partner chooses the final location and position for each other. Partners then return each other’s papers, then set to task on deciding how they’ll map out the transformations required, as well as writing the necessary codes for their transformations program.
Once partners have produced a draft of their program, have them exchange with their partner, not only for debugging, but to inspire conversation! (I.e., Originally, their partner may have settled on a different set of transformations. At this point, partners can discuss any differences and advantages these differences might have for improving efficiency.)
Notes:
In the initial stage of the activity, partners will need some time to process the decision of where they will be drawing in the image.
It’s not critical that students work apart when responding to the challenge. Some students may either be able to collaborate better when they can interact flexibly with their partner or feel better supported knowing that they can work with and consult their partner.
Tip: Teachers might consider establishing a Class Advice Space to build a community of support for coding within the classroom.
There is enough room on the activity sheet for 8 steps. To better support students, teachers may want to introduce a minimum number of steps for students to build into their programs. This will ensure that all students can experience success in starting the activity while providing space for students to challenge themselves further.
Given the criteria that have been developed and examples shared by students, an opportunity for assessment is available to students where they can provide feedback to their peers. Teachers can also take this time to further document observations and conversations, as well as offering support (e.g., redirecting to success criteria) or challenging students’ thinking.
Opportunity for Assessment
Teachers might choose to collect student work to offer up written, descriptive feedback. In addition, teachers are observing how their students are working to develop social-emotional learning skills, use mathematical processes, and leverage transferable skills. Where appropriate, teachers can meet with students to provide descriptive feedback on their skill development.
Guided Learning Groups:
If your observations and conversations are pointing to students having difficulty in either identifying, recognizing, coding and/or applying transformations, then the challenge of the activity may have been greater than the skills students have already developed.
Finding some time between this lesson and the next planned activity (e.g., Deliberate Practice, above) or different examples can further elicit student thinking and foster conversation (opportunity for assessment).
Extension:
For students who have some experience coding in Scratch (or in other block-coding environments) and are showing interest to “see inside” some of the previous projects used, they can begin creating projects that will allow them to engage in the “Active Learning” components of this lesson through coding.
Next Steps:
The computers in this activity--humans!!--work best with a set of instructions that are more text-based. These instructions are often referred to as pseudocode. These types of instructions work well for our planning and can be understood by all programmers. In future lessons, we’ll not only plan our programs with pseudocode, but we will also bring those plans into a computer-based environment that uses a language that computers can read and execute.
Note: In subsequent lessons, teachers can move towards learning mathematics in computer, block-coding environments like Scratch.
References:
Vertical Non-permanent Surfaces (VNPS)
Liljedahl, P. (2016). Building thinking classrooms: Conditions for problem solving. In P. Felmer, J. Kilpatrick, & E. Pekhonen (eds.), Posing and Solving Mathematical Problems: Advances and New Perspectives. (pp. 361-386). New York, NY: Springer.
Liljedahl, P. (2019). Institutional norms: The assumed, the actual, and the possible. In Graven, M., Venkat, H., Essien, A. & Vale, P. (Eds). Proceedings of the 43rd Conference of the International Group for the Psychology of Mathematics Education. (Vol 1), pp. 1-16. Pretoria, South Africa: PME.