Skip to content

Functions: Modularizing CodeActivities & Teaching Strategies

Functions help students see code as a set of tools rather than a single sequence. Active learning lets them build, test, and refine these tools together, turning abstract concepts into concrete skills they can explain and reuse.

Year 7Technologies4 activities25 min45 min

Learning Objectives

  1. 1Create a program that uses at least three custom functions to perform distinct tasks.
  2. 2Explain how modular programming with functions improves code readability and reduces repetition.
  3. 3Analyze the role of parameters in passing data to functions and return values in sending results back.
  4. 4Compare the efficiency of a program using functions versus one without for a given task.

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

30 min·Pairs

Pair Challenge: Function Builder

Pairs receive a task like drawing a house; they write separate functions for walls, roof, and door, then combine them. Test by calling functions with different parameters. Discuss how changes in one function affect the whole without rewriting.

Prepare & details

Construct a program that utilizes custom functions to perform specific tasks.

Facilitation Tip: During Pair Challenge: Function Builder, circulate to listen for students describing the purpose of each function block before they test it.

Setup: Presentation area at front, or multiple teaching stations

Materials: Topic assignment cards, Lesson planning template, Peer feedback form, Visual aid supplies

UnderstandApplyAnalyzeCreateSelf-ManagementRelationship Skills
45 min·Small Groups

Small Group Refactor Relay

Provide messy code with repeated sections to small groups. Each member writes a function for one repeated part, then passes to the next for integration. Groups race to run the refactored, cleaner version successfully.

Prepare & details

Explain the benefits of modular programming using functions.

Facilitation Tip: In Small Group Refactor Relay, set a timer so groups focus on one function at a time, preventing overwhelm.

Setup: Presentation area at front, or multiple teaching stations

Materials: Topic assignment cards, Lesson planning template, Peer feedback form, Visual aid supplies

UnderstandApplyAnalyzeCreateSelf-ManagementRelationship Skills
40 min·Whole Class

Whole Class Function Gallery Walk

Students create one function solving a shared problem, like user input validation, and post screenshots. Class walks around, calls each other's functions in their programs, and votes on the most reusable.

Prepare & details

Analyze how parameters and return values facilitate communication between functions.

Facilitation Tip: For Whole Class Function Gallery Walk, ask students to leave sticky notes with one question or compliment per displayed program to guide reflection.

Setup: Wall space or tables arranged around room perimeter

Materials: Large paper/poster boards, Markers, Sticky notes for feedback

UnderstandApplyAnalyzeCreateRelationship SkillsSocial Awareness
25 min·Individual

Individual Debug Quest

Give programs with broken functions; students identify issues, fix parameters or returns, and add their own function. Share one fix with the class via quick demo.

Prepare & details

Construct a program that utilizes custom functions to perform specific tasks.

Facilitation Tip: In Individual Debug Quest, provide error messages in red on printed code so students practice interpreting them systematically.

Setup: Presentation area at front, or multiple teaching stations

Materials: Topic assignment cards, Lesson planning template, Peer feedback form, Visual aid supplies

UnderstandApplyAnalyzeCreateSelf-ManagementRelationship Skills

Teaching This Topic

Start with concrete examples students can trace by hand, like drawing shapes or calculating scores, before moving to code. Avoid skipping the step where students explain why a function exists or what it returns. Research shows pairing explanation with code creation deepens understanding of modularity and scope.

What to Expect

Students will confidently define functions, pass parameters, and use return values to simplify programs. Success looks like clear explanations of why modularization matters and the ability to debug or refactor code with functions.

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 Challenge: Function Builder, watch for students who define functions but never call them in main. Redirect by asking, 'If you never call this, how will your program run it?'

What to Teach Instead

Have pairs write a main section first that calls all their functions by name, then trace the flow together to see missing calls.

Common MisconceptionDuring Small Group Refactor Relay, watch for students treating parameters like global variables they can change anywhere. Redirect by asking, 'If you change this value inside the function, does it affect the rest of the program?'

What to Teach Instead

Provide a simple program where changing a parameter inside a function does not alter other outputs, then ask groups to explain why.

Common MisconceptionDuring Whole Class Function Gallery Walk, watch for students assuming return values always print to the screen. Redirect by asking, 'If this function returns a value, where does that value go next in the program you’re viewing?'

What to Teach Instead

Ask students to trace a returned value from one function into another function’s parameter, using arrows on printed code to mark the flow.

Assessment Ideas

Quick Check

After Pair Challenge: Function Builder, collect each pair’s final program and ask them to explain which parts they modularized and why. Look for mentions of reuse, readability, or debugging ease in their reasoning.

Exit Ticket

After Small Group Refactor Relay, ask students to write down one function they refactored and one way it made the program easier to understand. Collect these to check for clarity about function purpose and scope.

Discussion Prompt

During Whole Class Function Gallery Walk, pause the class to ask, 'Which function did you find most useful in the programs you viewed, and why?' Listen for explanations that connect parameters and return values to real program behavior.

Extensions & Scaffolding

  • Challenge: Ask students to create a function that takes a list of numbers and returns the average, then use it in a short program that visualizes the data as a bar chart.
  • Scaffolding: Provide partially written function signatures with missing parameters or return types, so students focus on filling in the logic.
  • Deeper exploration: Introduce nested functions where one function calls another, then have students diagram the flow of data between them.

Key Vocabulary

functionA named block of code that performs a specific task. Functions can be called multiple times to reuse code.
defineTo create a new function, specifying its name, any parameters it accepts, and the code it will execute.
callTo execute a defined function. When a function is called, its code runs.
parameterA variable listed inside the parentheses in the function definition. It acts as a placeholder for a value that will be passed into the function when it is called.
argumentThe actual value that is sent to a function when it is called. This value is assigned to the corresponding parameter.
return valueA value that a function sends back to the part of the program that called it. This is often the result of a calculation or operation.

Ready to teach Functions: Modularizing Code?

Generate a full mission with everything you need

Generate a Mission