In order to support teachers who are beginning to explore computational thinking in a French immersion context, a few sample activities are outlined below. These K-7 activities use a similar structure to maximize oral discussion and co-construction of knowledge between students.
Initially, a problem is shared with students and they are given some time to analyze and break down the problem into steps (ie. decomposition) in pairs. For example, students may have to decide how to choose a strategy for navigating a maze.
Then, students discuss their findings with another pair. This interaction may lead to modifications in a pairs initial maze-navigation strategy. Next, students share some solution ideas and observations as a whole class or large group. Time is often given to refine work after any discussion when students are engaged in building a solution. At each step, students are testing their own thinking and building upon their initial observations.
Ideally, through this process students repeatedly negotiate for meaning by building their understanding of a solution to the task, navigating a maze in this case. Relevant vocabulary (ex. la labyrinthe) may come from knowledgeable peers during student discussions or the teacher during circulation or the whole class discussion. The focus, however, should be on understanding and breaking down a challenging problem. This method also allows French immersion students multiple opportunities to engage in French discussion aside from whole class sharing.
Maternelle à 3e année
Donner les directives – Giving Directions
This introductory activity allows students to use language predictably to accurately convey information to a peer and achieve an objective. The goal should be to have students understand that the specificity of commands and their order impacts the interpretation of instructions and therefore the final outcome of their “code.”
- Discuss and list with sketches ways we can give and receive instructions at school, at home or in the community (use elbow partners for the initial discussion, then share to another pair, then select a few pairs to share with the class)
- Teacher models moving from two points in the classroom based on student-generated oral instructions (5-8 min & try a few different examples)
NB: This works best if you respond to student instructions in a highly literal manner. For example, if students say take five steps from the door towards the chair try taking extra-large or tiny steps or an odd combination of different steps to highlight that their instructions might need to be more specific. The point is for students to realize through trial and error that their language has to be specific to communicate accurately.
- Discuss in pairs, then as a whole group how words help us give or follow instructions
- In pairs (1 programmer, 1 robot), have students take turns giving instructions to safely move from one point to another using their partner’s oral instructions
- Have a few groups share their instructions with another pair, then the whole class
- Introduce the vocabulary of instructions as commands (des commands) in a sequence (une séquence) as a way to create easy to understand code
- Record commonly used commands as symbols and/or words for future coding activities
Extension – 2e et 3e année:
Students may be able to achieve the basic activity quickly. Focusing on how students changed their instructions (or code) when it the “robot” acted differently than expected should be the focus. Give students a second attempt at the paired activity after discussing strategies to clarify instructions and consistent terms so that they can consolidate their learning.
Some students who have already explored standard and non-standard units of measurement may wish to incorporate units into their instructions. Provide an opportunity (perhaps even on another day) to refine their instructions with the use of units. In this case, students may need to record their instructions symbolically on tablet devices using drawing applications or on sticky notes with markers.
Students can use this activity again to explore teaching others in their class or school community how to do something they find important. For example, some students could make instructions using commands for recycling snack containers, taking out library books, fairly choosing goalies in a recess soccer game, or deciding who goes first when playing a board game.
- Understanding context – Students can practice empathizing with other students in their robot and programmer roles to better design their instructions
- Defining – Students are identifying the key features of movement instructions, as well as criteria for success and constraints
- Ideating – Generating ideas and building on ideas from other pairs engages students in comparing their ideas to criteria and constraints
- Prototyping – Possible if students are recording their instructions and changing them through iteration
- Testing – Through repetition, peer feedback, and changing
- Sharing – Students may share with other pairs or the whole class, describing how their code worked and where they were able to make improvements could demonstrate reflection
- K – Exploring and Reflecting: Become involved in activities and discussions in order to develop a sense of belonging to the class through the use of the French language
- K – Creating and Communicating: Communicate ideas and emotions spontaneously, using learned vocabulary (ex. code, séquence, à droit, à gauche, avance, tourne, etc.)
- 1ère -Content – language elements: use adjectives where applicable, use simple affirmative sentences, use indicative of action verbs
- 2e – Creating and Communicating: Ask questions in order to enhance understanding and deepen knowledge
- 2e – Content – text organization: using markers of time and place (emphasize sequence words such as d’abord, ensuite, après, puis, enfin, etc.)
- 3e – Creating and Communicating: Express opinions, ideas and feelings using complex sentences
4e à 5e année
Codage et musique – Coding and Music
This activity allows students to find repetition in commands and group that repetition by using loops – a common coding concept. The goal should be to have students understand that code allows for groups of commands to be condensed so that code is efficient.
- Discuss in pairs and then as a whole class some of the ways we hear patterns in music
- Make a simple rhythm such as “clap, clap, tap,” and record it as a class on a digital board or chart paper
- Discuss in pairs how to record this song if the rhythm repeats 4 or more times
- Introduce the idea of a loop by synthesizing student suggestions for grouping identical sections of instructions
Loops allow for repetition of identical parts, for example (clap, clap, tap) x 3 might be one way adults might record repetition, but see what your students come up with, decide together on a method that’s clear.
You could also make this activity more interesting by using simple instruments like shakers and tambourines, if available.
- Have small groups of 2-3 come up with a short song of about 3-5 sounds with at least one loop, share and discuss with another group and finally have a few present to the whole class
Use any digital application that allows for ordered sound recordings (ex. ScratchJr is available for free for many different kinds of devices) create a sequence of recorded sounds to make a song. Try to represent loops within the song to avoid unnecessary repetition of instructions.
6e à 7e année
Conduire ou coder? – Drive or Code?
This activity allows students to learn about the contexts in which coding and directly manipulating objects serves a purpose. The goal should be to have students understand that coding may be advantageous in some situations, but not in others and why.
- In pairs have students take 5 minutes to test out driving mode and then coding mode with Sphero robot* & the SpheroEdu application
NB: You may wish to use 2 chart paper mats on the floor to keep robots in a manageable space.
- In the same pairs, discuss then complete a Venn diagram using a digital application or paper
NB: Diagramming applications that allow students to narrate their thought process with images such as Educreations (free) or ExplainEverything (works in French, but paid) can be used to show similarities and differences between these two processes
- Think, pair, share with a neighbouring group and modify your Venn diagram as needed
Have a whole-class discussion comparing when driving to coding would be useful. Record student logic on a digital board or a chart paper for future coding activities
NB: perhaps co-creating a flowchart or other schematic diagram to illustrate decision making might help
Students could be given the option to research and share robots around the world that are coded or driven. Comparing these examples to the class observations about when coding versus driving a robot is most useful could lead to interesting conversations.
Multiple 40 min+ lessons
Naviger – Navigating
This activity allows students to explore robot navigation in greater detail while working through their own maze or obstacle course. The goal should be to have students work together to plan, test, and rework code that leads to successful maze completion of the robot. Emphasis should be placed on documenting when plans and code need re-formulation so that students can see the value of iteration and feedback. Some revision or pre-teaching of a growth mindset and learning from error may help students cope with frustration during this process.
- Have students work in small groups 3-4 with assigned roles (ex. design drafter, supply manager, team coordinator, reporter, etc.)
- Have students co-develop a thematic obstacle course on a large piece of graph chart paper
- Decide together what elements are to be evaluated (ex. clear thematic design, or documentation of a building process with descriptions, photos, and videos, etc.)
- Build and test code to have a Sphero robot (or other drivable and codable robot) navigate the maze with some consistency
- Share themes and explain challenges with coding for their maze
- Have a period with each chart paper as a station and have groups try to code a few mazes
- Co-create a navigation checklist with space for comments to give each group feedback about their design
- Allow time to reiterate and build upon feedback before presenting to an authentic audience such as another class or a student-led conference with parents and guardians
Robotics – uses of robotics, various ways objects can move, various platforms for robotics, the main components of robots (sensors, control systems)
Computational Thinking – using simple algorithms (instructions), visual representations of problems and data, visual programming (Sphero Edu or Tickle app)