Give

Defining functions

Wrap code in a named function and call it whenever you need it.

Planned. This module is part of the plan and is not written yet.

COCO-PRG-PYF-0101Level8–11

Why it matters

If the Lantern greets every learner at login, writing the greeting once as a function and calling it whenever it is needed saves copying the same code everywhere.

Draft outline · in review
For
Level 8–11 · JSS 2 to SSS 2
Inside
5 lessons and a test · about 60 minutes
Topic
Python functions · core, 2 of 4
Plate CO-PRG-PYF-01: planned.

Inside the module.

5 lessons in order, about 60 minutes in all, then a short test. Learners go at their own pace; the minutes are a guide, not a timetable.

Draft outline · in review

  1. Lesson 1: What a function is

    A named block of code you can run whenever you call its name.

    Explain10 min, from minute 0

  2. Lesson 2: def and call

    Define greet(), then call it twice.

    Worked example15 min, from minute 10

  3. Lesson 3: Your own functions

    Wrap repeated code in functions with clear names.

    Practice20 min, from minute 25

  4. Lesson 4: Why not copy and paste?

    Fix a bug in copied code in five places, then in one function.

    Discussion10 min, from minute 45

  5. Lesson 5: Check your skills

    Predict what programs with functions print.

    Review5 min, from minute 55

  6. End-of-module test

    Define and call functions, and explain how they remove repeated code.

    Mastered at 85% or more. Retake it until you pass; nothing is lost, and each try gives feedback.

    Already know it? A Challenge Test (planned) clears the whole module: 90% overall, no objective below 75%.

    Last stageafter about 60 min

Practicalities

Draft outline · in review
  • Built to run offline

    Planned to run on the Lantern's own computer, with no internet needed.

  • Languages

    Planned first in English; every module aims to reach all of the Lantern's languages.

Try a question.

One question from the module, as a learner would meet it. Have a go, then open the worked solution a step at a time.

Draft outline · in review

What does this print? def greet(): print("Welcome to the Lantern") greet() greet()

Work it out on paper first, then show the answer and mark it yourself.

Particulars

What a learner can do after it

  1. Define and call a function.
  2. Explain how functions avoid repeated code.

Level

Level 8–11 · JSS 2 to SSS 2

Show levels in

Level mappings are approximate. A qualified teacher or lecturer in each country must check them before they appear in the app.

Difficulty for its level

2 of 4 · Core

Time

About 60 minutes

Alignments

  • Aligned to PCEPpartial · in reviewPCEP: functions (descriptive ref)

Alignment in review until a qualified teacher or lecturer checks it. No exam body, university or vendor endorses us; learners still sit the real exam.

Challenge Test

Planned: a Challenge Test to prove you know it and skip it. Pass at 90% overall, with no objective below 75%.

University courses it previews

Computer Science, Software Engineering

The route here.

Everything this module builds on, drawn as a route from its foundations. Solid lanes must be mastered first, or cleared by a Challenge Test; dashed lanes are suggestions that never lock anything.

From Level 1, Instructions in order to Level 3, The home row
  1. CO-BLK-SEQ-01 Instructions in order, Level 1–4, Coding. Planned.
  2. CO-BLK-SEQ-01Instructions in orderCoding · Primary 1 to Primary 4 (Level 1–4) · Planned
  3. CO-BLK-LOP-01 Repeat blocks, Level 3–5, Coding. Sample lesson in the demo.
  4. CO-BLK-LOP-01Repeat blocksCoding · Primary 3 to Primary 5 (Level 3–5) · Sample lesson in the demo Needs Instructions in order (required).Try the sample lesson: Repeat blocks
  5. DS-CMP-TYP-01 The home row, Level 3–6, Digital skills. Planned.
  6. DS-CMP-TYP-01The home rowDigital skills · Primary 3 to Primary 6 (Level 3–6) · Planned · recommended
  7. CO-BLK-CND-01If this, then thatCoding · Primary 3 to Primary 6 (Level 3–6) · Planned · recommended
  8. CO-BLK-LOP-02Patterns with loopsCoding · Primary 4 to Primary 6 (Level 4–6) · Planned Needs Repeat blocks (required).
  9. MA-ARI-ORD-01Order of operationsMaths · Primary 5 to Primary 6 (Level 5–6) · Planned · recommended
  10. CO-BLK-LOP-03Loops inside loopsCoding · Primary 5 to JSS 1 (Level 5–7) · Planned · recommended
  11. CO-PRG-PYB-01Your first Python programCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Planned Needs Patterns with loops (required), The home row (recommended).
  12. CO-PRG-PYB-02VariablesCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Sample lesson in the demo Needs Your first Python program (required).Try the sample lesson: Variables
  13. CO-PRG-PYB-03Numbers and calculationsCoding · JSS 1 to JSS 3 (BECE) (Level 7–9) · Planned Needs Variables (required), Order of operations (recommended).
  14. CO-PRG-PYB-05Decisions with ifCoding · JSS 2 to SSS 1 (Level 8–10) · Planned Needs Numbers and calculations (required), If this, then that (recommended).
  15. CO-PRG-PYB-06Loops in PythonCoding · JSS 2 to SSS 1 (Level 8–10) · Planned Needs Decisions with if (required), Loops inside loops (recommended).
  16. CO-PRG-PYF-01Defining functionsCoding · JSS 2 to SSS 2 (Level 8–11) · Planned · the destination Needs Loops in Python (required).
13 stops across Coding, Digital skills and Maths. 2 have a sample lesson in the demo; the other 11 are planned and not yet written.

Help light the room where this is learned.

Every route on this map starts in a classroom with 24 stations, a tutor that works offline and a facilitator upstairs. Four are planned and waiting for light.