Homeschool Guide: These lesson plans are a guide for parents. Content may contain errors — always cross-reference with official exam board specifications.

data types

FoundationHigherAll Boards

4 detailed 50-minute lessons with teaching scripts, worked examples, parent guides, and assessment criteria.

Fastmail

Lesson Overview

Total Lessons: 4
Tier: Foundation and Higher
Duration: 50 minutes per lesson (200 minutes total)
Exam Boards: AQA, Edexcel, OCR, Eduqas, CCEA

Learning Objectives

Prerequisites

Materials & Equipment

Lesson 1: Introduction: data types

Duration: 50 minutes

Starter Activity (5 minutes)

Quick Recall

Write down everything you already know about data types. Then check against the key terms: Integer, Common mistake, Real (or Float). Use a mini-whiteboard or paper.

Main Content (35 minutes)

Parent/Teacher Guide:
Before lesson: Read the script below. Pre-teach key vocab: Integer, Common mistake, Real (or Float).
If stuck: Re-read the revision notes (link above), then break the content into smaller steps.
Extension: See the Stretch & Challenge ideas in Lesson 4.
Teaching Script (35 mins):
Mins 0-5 - Hook: "Today: data types. By the end you will be able to answer exam questions on it unaided. It connects to the rest of Computer Science because the ideas here recur across the spec."
Mins 5-20 - Direct Instruction: Work through the core ideas below one at a time; after each, ask your student to explain it back in their own words.
Mins 20-30 - Guided Practice: Model the worked example together, then let your student attempt the first practice question with guidance.
Mins 30-35 - Independent Practice: 2-3 practice questions from Lesson 3 below, with immediate feedback.
First Look

Start with the revision notes summary, then attempt: Name the five main data types and give an example value for each.

Plenary (5 minutes)

Check Out

Your student states one thing they learned and one question they still have about data types.

Lesson 2: Core Concepts: data types

Duration: 50 minutes

Starter Activity (5 minutes)

Review Previous Lesson

Quick recap: write 3 key points from Lesson 1 on data types. Check them against the notes below.

Main Content (35 minutes)

Definition: A data type defines the kind of data a variable can hold. Choosing the correct data type ensures data is stored efficiently and prevents errors.
Integer: stores whole numbers only - no decimal points. Use integer for counts, ages, positions, and any value that cannot logically be fractional.
Common mistake: Storing 3.14 as an integer would lose the decimal part, storing only 3. If a value needs decimal precision, use Real/Float instead.
Real (or Float): stores numbers with a decimal point. Use real for measurements, prices, averages, and scientific calculations where precision matters.
Boolean: can only hold one of two values: TRUE or FALSE. Use boolean for flags, conditions, and yes/no questions.
Character: stores exactly one symbol - a single letter, digit, or special character. Characters are enclosed in single quotes.
TermMeaningExample
IntegerA whole number (no decimal point)42, -7, 0, 1000
Real / FloatA number with a decimal point3.14, -0.5, 9.81
BooleanCan only be TRUE or FALSETRUE, FALSE
CharacterA single symbol (letter, digit, punctuation)'A', '7', '?', 'z'
StringA sequence of characters (text)"Hello", "CS123", ""
String to IntegerINT()INT("42")
String to RealFLOAT()FLOAT("3.14")
Integer to StringSTR()STR(42)

Practice (10 minutes)

Q: Name the five main data types and give an example value for each.

Answer: Integer: 42, Real/Float: 3.14, Boolean: TRUE, Character: 'A', String: "Hello".

Plenary (5 minutes)

Explain Back

Your student teaches the key points back to you without looking. Fill any gaps immediately.

Lesson 3: Application: data types

Duration: 50 minutes

Starter Activity (5 minutes)

Quick Recall

Recall the key terms: Integer, Common mistake, Real (or Float). Define each in one sentence.

Main Content (35 minutes)

Parent/Teacher Guide: Let your student attempt each question alone first, then compare with the model answer. Award method marks for correct working even if the final answer is wrong.

Q1: Name the five main data types and give an example value for each.

Answer: Integer: 42, Real/Float: 3.14, Boolean: TRUE, Character: 'A', String: "Hello".

Q2: What is the difference between the integer 7 and the string "7"?

Answer: The integer 7 can be used in mathematical operations (7 + 3 = 10). The string "7" is text and would concatenate ("7" + "3" = "73"). They are stored and processed differently.

Q3: What is the result of INT("25") + INT("10")?

Answer: INT("25") = 25, INT("10") = 10, so 25 + 10 = 35.

Q4: Why should you store a person's age as an integer rather than a string?

Answer: Storing age as an integer allows arithmetic (e.g. checking if age >= 18), saves memory, and validates that the input is a whole number. A string age cannot be compared numerically.

Q5: Write pseudo-code that asks the user for a number, converts it to a real, divides it by 2, and outputs the result.

Answer: INPUT userInput num ← FLOAT(userInput) result ← num / 2 OUTPUT result

Plenary (5 minutes)

Error Review

Review any questions answered incorrectly. Identify whether the error was knowledge, method, or reading the question.

Lesson 4: Exam Practice: data types

Duration: 50 minutes

Starter Activity (5 minutes)

Command Words

Review what these command words require: state (one point), describe (say what happens), explain (say why), compare (both sides), evaluate (judgement).

Main Content (35 minutes)

Extended Answer

Extended question: Full-Mark Response A program stores a student's name, their test score as a whole number, their height in metres, and whether they have passed. State the most appropriate data type for each value and explain your choice. [4 marks] <div class="

Name: STRING — a name consists of multiple characters (e.g. 'Alice'), so a string is needed rather than a single character. Test score: INTEGER — test scores are whole numbers (e.g. 85), so integer is appropriate as no decimal part is needed. Height: REAL/FLOAT — height in metres requires decimal places (e.g. 1.65), so a real/float type is needed to store the fractional part. Passed: BOOLEAN — the student has either passed or not passed, so only two values (TRUE/FALSE) are needed, making Boolean the most efficient choice.

Exam Tips: Know all five data types and be able to give appropriate examples | Use single quotes for characters ('A') and double quotes for strings ("Hello") | Remember INT() truncates - it does NOT round | INPUT usually returns a string - you must cast it for arithmetic | When asked why data types matter, mention memory, validation, and correct operations | Be careful with + operator: it adds numbers but concatenates strings
Common Errors: ✗ Thinking integer division and float division always give the same result ✓ Integer division truncates the decimal part (7 ÷ 2 = 3), while float division preserves it (7 ÷ 2 = 3.5). Using the wrong type causes data loss. ✗ Confusing character and string data types ✓ A character is a single symbol (e.g. 'A'), stored in 1 byte. A string is a sequence of characters (e.g. 'Hello'), and its storage depends on length. ✗ Believing Boolean can only be TRUE/FALSE text ✓ In most languages, Boolean values are stored as 1 (TRUE) or 0 (FALSE) in memory; the keywords TRUE/FALSE are how they are represented in code. ✗ Forgetting that real/float numbers cannot represent all decimals exactly ✓ Floating-poin
Stretch & Challenge (Grade 8-9):
  • Synoptic links: explain how data types connects to another Computer Science topic you have studied
  • Real-world: research one real-world use or example of data types
  • Critical: "What are the limitations of the models used in data types?"

Plenary (5 minutes)

Assessment Criteria
  • Got it: Confident explanation + correct worked examples
  • Getting there: Main points OK, needs support with detail
  • Not yet: Confused on key concepts - re-run Lesson 2

Homework & Consolidation

Recommended Resources

🎓 Smart Lesson (Guided)