Syntax World — Planet Guide & Learning Paths
Teacher Name:
School:
Academic Year:
© 2026 InfiniCoreCipher — FutureTechEducation
Canon Authority: Katarzyna Kalina vel Kalinowska | v3.0 MASTER CANON LOCKED
Companion to: Year 3 Workbook v1.1 | COPPA & GDPR Compliant
This book provides complete worked answers for every activity in the Year 3 Student Workbook. Use it to mark student work, plan lessons, and identify common misconceptions.
Each mission shows:
• Correct answers in green boxes
• Model code solutions
• Expected output
• Teaching notes
• Common mistakes to watch for
• Accept reasonable variations
• Award partial credit where shown
• Focus on understanding, not exact wording
• Creative activities: mark for logic, not style
• Code: mark for correct output, not exact syntax
| Zone | Missions | Key Concepts | Pages |
|---|---|---|---|
| 🌿 Sequence Valley | 1-3 | Sequences, Algorithms, Flowcharts | 5-15 |
| 🌱 Variables Garden | 4-8 | VAR FLOW Steps 1-4, Variable types | 33-37 |
| 🌲 Loops Forest | 9-12 | FOR/WHILE loops, Infinite loops | 38-44 |
| 🏜️ Condition Canyon | 13-15 | IF-ELSE, Boolean logic, AND/OR/NOT | 46-53 |
| 🏙️ Functions City | 16-18 | Functions, Parameters, Return values | 54-57 |
| 🏆 Final Quest | 19-20 | All concepts combined | 60-66 |
CONCEPT | 100 XP | Pages 9-11
| Correct Order | Action |
|---|---|
| 2 | Add milk or sugar |
| 1 | Boil the water |
| 3 | Pour hot water into the cup |
| 4 | Add the tea bag |
| 5 | Remove the tea bag |
Accept milk before or after tea bag — this is a genuine debate! Use it as a discussion point about how sequences can have valid variations.
Model answer (accept any logical 5-step sequence):
| Step | Model Answer |
|---|---|
| 1 | Wake up and get out of bed |
| 2 | Wash face and brush teeth |
| 3 | Get dressed in school uniform |
| 4 | Eat breakfast |
| 5 | Pack school bag and leave |
• Steps in illogical order (eating before getting dressed) — discuss why order matters
• Steps too vague ("get ready") — encourage specificity
• Missing essential steps
Grid: [C][ ][ ][ ][⭐] — Chip needs 4 MOVE commands then COLLECT:
Correct commands:
| # | Command |
|---|---|
| 1 | MOVE |
| 2 | MOVE |
| 3 | MOVE |
| 4 | MOVE |
| 5 | COLLECT |
Did Chip reach the star?
✅ Yes
The grid has 4 empty spaces between Chip and the star, so exactly 4 MOVE commands are needed.
Model answer (minimum 8 steps, accept any logical sequence):
✅ Minimum 8 steps | ✅ Logical order | ✅ Specific enough for a robot | ✅ No ambiguous instructions
CONCEPT | 110 XP | Pages 12-15
| Description | Answer | Why? |
|---|---|---|
| "Make a sandwich" | S | Too vague — not precise enough |
| "Get 2 slices of bread. Spread 5g of butter..." | A | Precise and exact — robot could follow |
| "Go to school" | S | Too vague — no specific steps |
| "Walk to bus stop. Wait for bus 42..." | A | Precise and exact — robot could follow |
Q1: What happens if step 3 before step 2?
✅ The orange juice would pour onto a closed carton and spill everywhere! You must open the carton before pouring.
Q2: What is missing?
✅ The algorithm doesn't check if the glass is clean first. A robot might use a dirty glass!
Q3: Improved algorithm:
CONCEPT | 100 XP | Page 33
player_name = "Nova"
Label: player_name
Value: "Nova"
lives = 3
Label: lives
Value: 3
has_key = True
Label: has_key
Value: True
• Writing "42" — this is TEXT, not a number!
• Writing true (lowercase) — Python requires True with capital T
• Forgetting quotes around text values
LOGIC | 120 XP | Page 34
| Code | Score value ✅ |
|---|---|
score = 0 | 0 |
score = score + 10 | 10 |
score = score + 5 | 15 |
score = score - 3 | 12 |
score = score * 2 | 24 |
Final value: 24
Work through this step by step on the board. Many students try to do it all in their head and make errors. Emphasise writing down each intermediate value.
| Event | Change | Lives ✅ |
|---|---|---|
| Start | — | 10 |
| Falls in a hole | -3 | 7 |
| Finds a health pack | +2 | 9 |
| Hit by enemy | -1 | 8 |
| Bonus level completed | +5 | 13 |
| Final boss fight | -4 | 9 |
Final lives: 9
CODING | 130 XP | Page 35
1. name = "Explorer"
2. score = 50 + 25
LOGIC | 120 XP | Page 37
| Buggy Code | Error | Fixed Code |
|---|---|---|
player name = "Alex" | Space in variable name | player_name = "Alex" |
score = "100" | Number stored as text | score = 100 |
score = score + 50 | Now works (after fix 2) | score = score + 50 ✅ |
print score | Missing brackets | print(score) |
lives = lives - 10 | Should subtract 1, not 10 | lives = lives - 1 |
CODING | 150 XP | Pages 39-40
1. Print "I love coding!" 3 times:
2. Print numbers 0 to 4:
range(5) gives 0,1,2,3,4 — NOT 1,2,3,4,5. Use range(1,6) for 1-5. This is a very common source of confusion!
| Loop run | Value of i | What prints ✅ |
|---|---|---|
| 1st | 0 | Star 0 |
| 2nd | 1 | Star 1 |
| 3rd | 2 | Star 2 |
| 4th | 3 | Star 3 |
| Task | Answer ✅ | Why? |
|---|---|---|
| Print "Hello" exactly 7 times | FOR | We know exactly how many times |
| Keep asking for password until correct | WHILE | We don't know how many attempts |
| Count from 1 to 100 | FOR | We know exactly how many times |
| Keep playing until player runs out of lives | WHILE | We don't know when lives run out |
DEBUG | 140 XP | Page 44
| Loop | Infinite? | Why? |
|---|---|---|
| count = 0, while count < 10, count += 1 | ❌ No | count increases each time, eventually reaches 10 |
| count = 0, while count < 10, no change | ✅ Yes | count never changes, condition always True |
| while True: print("Hello") | ✅ Yes | True can never become False |
Loop 1 — Fixed:
Loop 2 — Fixed:
LOGIC | 130 XP | Page 47
| Expression | Answer ✅ |
|---|---|
5 > 3 | True |
10 == 9 | False |
"cat" != "dog" | True |
7 >= 7 | True |
4 < 2 | False |
| Expression | Answer ✅ |
|---|---|
100 == 100 | True |
"Nova" == "nova" | False ⚠️ |
3 + 4 == 7 | True |
10 != 10 | False |
5 <= 6 | True |
"Nova" == "nova" is False because Python is case-sensitive. This is a very common source of bugs! Discuss with students why computers treat uppercase and lowercase differently.
| A | B | A AND B ✅ | A OR B ✅ | NOT A ✅ |
|---|---|---|---|---|
| True | True | True | True | False |
| True | False | False | True | False |
| False | True | False | True | True |
| False | False | False | False | True |
CODING | 160 XP | Pages 50-53
Boundaries: A: 90+ | B: 80-89 | C: 70-79 | D: 60-69 | F: <60
CODING | 150 XP | Page 56
CODING | 140 XP | Page 57
| Stage | What happens ✅ |
|---|---|
| CALL | multiply(4, 5) is called |
| RUN | a = 4, b = 5 |
| RUN | result = 4 × 5 = 20 |
| RETURN | Returns 20 |
| After | answer = 20 |
| Prints 20 |
| Order ✅ | Action |
|---|---|
| 1 | Print "Game Start!" |
| 2 | Create variable score = 0 |
| 3 | Add 100 to score |
| 4 | Print "Level 1 complete!" |
| 5 | Add 150 to score |
| 6 | Print "Level 2 complete!" |
| 7 | Add 75 to score |
| 8 | Check if score > 200 |
| 9 | If score > 200, print "Champion!" |
| 10 | Print the final score |
| Buggy Code | Error | Fixed Code ✅ |
|---|---|---|
player name = "Explorer" | Space in name | player_name = "Explorer" |
score = "0" | Number as text | score = 0 |
lives = lives + 10 | Should subtract 1 | lives = lives - 1 |
has_key = "True" | Boolean as text | has_key = True |
level = level - 1 | Should add 1 | level = level + 1 |
Corrected values: player_name="Explorer" | score=0 | lives=2 | has_key=True | level=1
Accept any reasonable messages for each branch. Mark for correct IF-ELIF-ELSE structure and correct conditions (==3, ==2, ==1).
| Part | Full Marks Criteria | Marks |
|---|---|---|
| Part 1: Sequence | All 10 steps in correct order (1 mark each) | 10 |
| Part 2: Variables | Each error found (1) + fixed (1) = 2 marks each | 10 |
| Part 3: Loop | Identifies issue (1) + correct fix (1) | 2 |
| Part 4: Conditions | Each correct branch (2 marks each × 4) | 8 |
| Part 5: Functions | Each working function (5) + called correctly (5) | 10 |
| Mistake | Zone | How to Address |
|---|---|---|
player name = "Alex" (space in name) | Variables | "Variable names are one word — use underscore: player_name" |
score = "100" (number as text) | Variables | "Numbers don't need quotes. score = 100 not score = "100"" |
print score (missing brackets) | Variables | "print is a function — it needs brackets: print(score)" |
range(10) gives 0-9 not 1-10 | Loops | "range(10) gives 0,1,2...9. Use range(1,11) for 1-10" |
| Infinite loop (no exit condition) | Loops | "Every WHILE loop needs something that changes to make it stop" |
"Nova" == "nova" is False | Conditions | "Python is case-sensitive! Capital letters matter" |
Missing colon after if/def | All | "Python needs a colon : after if, elif, else, def, for, while" |
| Indentation errors | All | "Python uses spaces to show what's inside a block — be consistent!" |
return outside function | Functions | "return only works inside a function definition" |
| Calling function before defining it | Functions | "Define the function first (def), then call it" |
true instead of True | Variables | "Python Boolean values start with capital: True, False" |
Forgetting return in function | Functions | "Without return, the function gives back None — add return!" |
| Level | Description | Game Evidence | Workbook Evidence |
|---|---|---|---|
| 1 — Beginning | Identifies concepts with support | 1 star, many hints | Partially completed, needs prompting |
| 2 — Developing | Applies with some support | 2 stars, 1-2 hints | Most activities completed, some errors |
| 3 — Secure | Applies independently | 2-3 stars, 0-1 hints | All core activities correct |
| 4 — Mastered | Explains and extends | 3 stars, 0 hints, portfolio | Star challenges completed |