Skip to content

Iteration: Fixed Loops (For)Activities & Teaching Strategies

Active learning works especially well for fixed loops because students need to see iteration in action to grasp how the loop variable changes and how it controls repetition. Constructing loops themselves, rather than just reading about them, helps students internalize the relationship between the range or list and the number of passes the loop makes.

Year 10Computing4 activities30 min45 min

Learning Objectives

  1. 1Construct 'for' loops in Python to iterate over sequences like lists and range objects.
  2. 2Analyze code to identify scenarios where a 'for' loop is the most efficient iteration construct compared to other methods.
  3. 3Compare the execution time and potential for errors when using a 'for' loop versus manual repetition for a task requiring many iterations.
  4. 4Explain the syntax and purpose of 'for item in sequence:' and 'for i in range(n):' constructs.
  5. 5Modify existing code containing manual repetition to use a 'for' loop, demonstrating improved efficiency and readability.

Want a complete lesson plan with these objectives? Generate a Mission

35 min·Pairs

Pair Programming: Star Patterns

Pairs start with a 'for' loop using range(6) to print rows of stars, adding a nested loop for triangle shapes. They modify to print numbers or letters, test outputs, and explain changes to the class. Swap roles midway for balanced participation.

Prepare & details

Explain scenarios where a 'for' loop is the most appropriate iteration construct.

Facilitation Tip: During Pair Programming: Star Patterns, circulate and ask each pair to verbally explain their loop’s start, stop, and step before they run the code.

Setup: Tables/desks arranged in 4-6 distinct stations around room

Materials: Station instruction cards, Different materials per station, Rotation timer

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills
45 min·Small Groups

Small Groups: Efficiency Comparison

Groups write code to print or sum 500 times manually via copy-paste, then refactor with a 'for' loop. Time both methods, graph results, and discuss why loops win for larger scales. Extend to process random lists.

Prepare & details

Construct a 'for' loop to process elements in a list or array.

Facilitation Tip: In Small Groups: Efficiency Comparison, give each group a printed table to fill in as they time and compare manual repetition versus loops.

Setup: Tables/desks arranged in 4-6 distinct stations around room

Materials: Station instruction cards, Different materials per station, Rotation timer

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills
30 min·Whole Class

Whole Class: Debug Relay

Display code with 'for' loop errors like off-by-one on the board or shared screen. Students take turns suggesting fixes, run in an online IDE, and vote on the correct version. Debrief common issues as a group.

Prepare & details

Compare the efficiency of a 'for' loop versus manual repetition for a large number of iterations.

Facilitation Tip: For Whole Class: Debug Relay, prepare sticky notes with line numbers so students can physically move between stations to find and fix errors.

Setup: Tables/desks arranged in 4-6 distinct stations around room

Materials: Station instruction cards, Different materials per station, Rotation timer

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills
40 min·Individual

Individual: List Challenges

Each student codes 'for' loops to find max value, average, or reverse a list of scores. Test with 3 datasets, add print statements for tracing, and self-assess against rubrics. Share one strong example.

Prepare & details

Explain scenarios where a 'for' loop is the most appropriate iteration construct.

Facilitation Tip: During Individual: List Challenges, provide a starter code template with comments that guide the loop structure to reduce syntax errors.

Setup: Tables/desks arranged in 4-6 distinct stations around room

Materials: Station instruction cards, Different materials per station, Rotation timer

RememberUnderstandApplyAnalyzeSelf-ManagementRelationship Skills

Teaching This Topic

Teachers should model tracing loops on paper first, using arrows or boxes to show how the loop variable updates each pass. Avoid rushing to the keyboard; insist students sketch the loop’s behavior before coding. Research shows that students who trace loops manually before writing code make fewer off-by-one errors and understand scope more clearly.

What to Expect

By the end of these activities, students should write correct ‘for’ loop syntax for given tasks, explain why a ‘for’ loop is the right choice over repetition, and trace loop execution to predict outputs. They should also justify their choice of loop parameters like start, stop, and step values.

These activities are a starting point. A full mission is the experience.

  • Complete facilitation script with teacher dialogue
  • Printable student materials, ready for class
  • Differentiation strategies for every learner
Generate a Mission

Watch Out for These Misconceptions

Common MisconceptionDuring Pair Programming: Star Patterns, watch for students assuming range always starts at 1 and increments by 1.

What to Teach Instead

Have students trace their pattern on paper first, marking each position with the loop variable’s value to confirm start and step values before coding.

Common MisconceptionDuring Small Groups: Efficiency Comparison, watch for students believing range(10) iterates 10 times from 10 to 19.

What to Teach Instead

Ask each group to print the loop variable inside the loop and compare outputs to the expected count of 0 to 9, reinforcing the off-by-one concept.

Common MisconceptionDuring Whole Class: Debug Relay, watch for students thinking loop variables keep their last value after the loop ends.

What to Teach Instead

Instruct students to add a print statement right after the loop to show the variable’s value, then discuss why it resets or retains based on scope.

Assessment Ideas

Quick Check

After Pair Programming: Star Patterns, collect each student’s code and ask them to trace one loop by hand, predicting the sequence of values the loop variable will take.

Exit Ticket

After Individual: List Challenges, ask students to write a short reflection: ‘Explain why a ‘for’ loop is better than writing 20 print statements. Then, write a ‘for’ loop that prints squares of numbers 1 to 5.’

Discussion Prompt

During Small Groups: Efficiency Comparison, have each group present one way their loop was more efficient than manual repetition, focusing on time, accuracy, and maintainability.

Extensions & Scaffolding

  • Challenge students to write a nested ‘for’ loop that prints a 5x5 multiplication table.
  • For students who struggle, provide partially completed loops with gaps to fill in the range or step values.
  • Deeper exploration: Have students compare iteration speed of ‘for’ loops versus ‘while’ loops for large ranges using Python’s time module.

Key Vocabulary

IterationThe process of repeating a set of instructions or a block of code multiple times.
For loopA control flow statement that allows code to be executed repeatedly. It is typically used when the number of iterations is known beforehand.
SequenceAn ordered collection of items, such as a list or a string, that can be iterated over.
Range functionA built-in Python function that generates a sequence of numbers, often used to control the number of times a 'for' loop executes.

Ready to teach Iteration: Fixed Loops (For)?

Generate a full mission with everything you need

Generate a Mission