N3/N4  ·  SDD  ·  Software Design & Development

Outcome 1 Assessed Task — Fitness Tracker

National 3 & National 4 Computing Science Lesson SDD8 of 10 Approx 60 min
Learning intentions
  • Build a complete Fitness Tracker program from a given brief
  • Use variables, input, arithmetic, selection and loops together
  • Produce clear evidence for the National 3 and National 4 SDD standards
Success criteria
  • I can create a working program that follows the brief
  • I can identify and explain the constructs used in my program
  • I can save code, tests and written explanations as assessment evidence

Outcome 1 Assessed Task — Fitness Tracker

The brief

Create a Python program for a simple fitness tracker. The program should ask the user for their name, their step target, and the number of steps completed for several days. It should calculate a total, decide whether the user met the target, and display useful messages.

What this task assesses

This assessed task is mainly about reading, identifying and explaining software constructs. National 3 pupils need to identify basic constructs and show that the program works. National 4 pupils need to explain a range of constructs and variable types in more detail. The same practical program can produce evidence for both levels, but the written explanation expected at N4 is fuller.

How to work

Build the program in stages. Test each stage before adding the next one. Keep your code, your test table and your explanations. Do not add extra features until the required task works, because assessed evidence should stay clear and focused.

Assessment Task

Practical Task 1 — Build the Fitness Tracker

Your program must:

  1. Ask for the user's name.
  2. Ask for a daily step target.
  3. Use a loop to ask for steps completed on 5 days.
  4. Calculate and display the total steps.
  5. Use selection to say whether the total met the target for the 5 days.
  6. Use clear variable names and comments.
name = input("Name: ") daily_target = int(input("Daily target: ")) total = 0 for day in range(1, 6): steps = int(input("Steps for day " + str(day) + ": ")) total = total + steps weekly_target = daily_target * 5 print(name, "completed", total, "steps.") if total >= weekly_target: print("Target met") else: print("Target not met")
N3 evidence checklist
  • Working program saved and exported (N3 O2.2)
  • Identifies input, output, selection and loop in the program (N3 O2.1)
  • Shows test evidence using supplied data (N3 O2.2)
N4 evidence checklist (builds on N3)
  • Explains the purpose of each variable and its data type (N4 O1.1)
  • Explains how selection and iteration are combined in the solution (N4 O1.2)
  • Explains the result of supplied test data using the program logic (N4 O1.3)
Evidence Questions

Answer these after your program works. They become part of your evidence.

1. Which line starts the fixed loop? TYPE 1

2. Explain why daily_target should be converted with int(). TYPE 2 N4

Input returns text. The target must be converted to an integer so it can be multiplied by 5 and compared with the total.

3. Paste your final program and your test table below. TYPE 3

4. Write a short explanation of what your program does overall. TYPE 2 N3

The program asks for a name and step target, adds up five days of step counts, then tells the user whether they met their total target.
Teacher notes — Shift+T to hide

Assessment standards covered: N3 O2.1, O2.2; N4 O1.1, O1.2, O1.3. Keep any extension features separate from exported evidence.