Topic

3.2.1 Data types

GCSE Computer Science AQA

This page covers 3.2.1 Data types in AQA GCSE Computer Science. It sits near the start of the programming section and gives students the vocabulary they need before variables, input, output, selection, iteration, and the rest of the specification begin asking them to use it with confidence. In exam answers, this topic often looks deceptively simple right up until a student calls "12" a number, treats a character as a string, or forgets that Boolean means TRUE or FALSE and not “sort of yes-ish”. This guide is designed to help teachers explain the specification clearly, build precise language early, and mark responses with confidence.


At a Glance

🎯 - Specification context: AQA GCSE Computer Science, 3.2 Programming, section 3.2.1 Data types.

  • Students must know: the concept of a data type and the appropriate use of integer, real, Boolean, character, and string.

  • Key exam focus: matching values to the correct type, choosing suitable variable types in algorithms, and using precise terminology.

  • Common student challenges: mixing up character and string, treating numeric-looking text as a number, forgetting that a real can include a decimal part, and using vague phrases like “word type” instead of the proper name.


Understanding the Topic

Where this fits in the specification

This topic appears in 3.2 Programming and underpins everything that follows. Students do not just need to memorise five labels. They need to understand that a data type tells a program what kind of value is being stored and how that value can be used.

That matters because later programming tasks assume students can recognise whether a variable should store:

  • a whole number
  • a decimal value
  • text
  • a single symbol
  • a logical true/false value

If students are shaky here, later pseudocode questions become much wobblier than they need to be.

What a data type is

A data type classifies data by the kind of value it represents. In practical classroom terms, it helps answer the question:

What sort of thing is this variable meant to hold?

For example:

  • a score might be an integer
  • a temperature might be a real
  • a student answer of TRUE or FALSE might be Boolean
  • an initial such as A might be a character
  • a full name such as Amira Khan might be a string

A useful teacher line is: the value matters, but the type tells the computer how to treat the value.

The five data types students need for AQA

Integer

An integer stores a whole number.

  • Examples: 7, 0, -14
  • No decimal point is used.
  • This is suitable for counts, menu choices, and numbers of items.

Real

A real stores a number that can include a decimal part.

  • Examples: 3.5, 0.25, -8.75
  • Some programming languages call this a float, but in AQA exams students should use the general term real.
  • This is suitable for measures such as height, distance, temperature, or average score.

Boolean

A Boolean stores one of two possible values:

  • TRUE
  • FALSE

This is useful for conditions and decisions, such as:

  • has the user logged in?
  • is the answer correct?
  • has the loop finished?

Character

A character stores one single symbol.

  • Examples: A, 7, ?
  • It can be a letter, digit, or symbol.
  • The important point is that it is one character only.

This is where students often drift into trouble. B is a character. Ben is not.

String

A string stores a sequence of characters.

  • Examples: "Ben", "Hello", "A12"
  • A string can contain letters, numbers, symbols, or spaces.
  • Even a number can be stored as a string if it is being treated as text.

For example, "12" is a string if it is stored as text. 12 is an integer if it is stored as a whole number.

Why students must use them appropriately

The specification does not only ask students to recognise the names. It says they should understand and use the following appropriately. That means students should be able to:

  • choose a sensible type for a variable in pseudocode
  • explain why one type fits better than another
  • identify the type of a given value
  • notice when a value has been stored as text rather than as a number

Exam-aware distinctions that matter

Character vs string

This is a frequent mark-dropper.

  • Character = one symbol
  • String = one or more characters

Integer vs real

Another common slip is calling every number an integer.

  • Integer = whole number only
  • Real = can include a decimal part

Number vs text

Students often assume anything that looks numeric must be numeric.

  • 25 can be an integer
  • "25" is a string if stored as text

That distinction matters when discussing input, concatenation, and calculations.


Key Terms and Concepts

Term Explanation
Data type The category of data that tells a program what kind of value is being stored.
Integer A whole number, positive, negative, or zero.
Real A number that can include a decimal part. Some languages may call this a float.
Boolean A data type with only two possible values: TRUE or FALSE.
Character A single letter, digit, or symbol.
String A sequence of one or more characters stored as text.
Variable A named storage location used to hold data in a program.
Appropriate use Choosing the data type that best matches the value and purpose of a variable.

How to Teach This Topic

Teaching moves that work

  • Start with everyday values and ask, What type should this be?
  • Use pairs such as 12 and "12" to show that appearance and type are not always the same.
  • Model sorting activities where students group examples into the five types.
  • Keep linking the type to the purpose of the variable, not just the surface appearance.
  • Revisit the language repeatedly in pseudocode so students see data types in context, not isolation.

Quick classroom checks

  • Is 9.0 an integer or a real?
  • Is "Y" a character or a string?
  • Could a postcode sensibly be stored as an integer?
  • Why is hasPaid usually Boolean?
  • Which data type best fits temperature, surname, menuChoice, and gradeLetter?

Practical teaching sequence

  1. Begin with the concept of a variable and what it stores.
  2. Introduce the five AQA data types with one simple example each.
  3. Move quickly to classification tasks.
  4. Then shift to selection tasks: which type should be used for this variable and why?
  5. Finish with short pseudocode examples where students identify or correct the type.

Helpful scaffolds

  • Provide sentence frames such as This should be a real because...
  • Use mini whiteboards for fast-fire type sorting.
  • Give students mixed examples that include traps like "7", 7, A, and "A".
  • Keep one comparison grid visible so students can see the difference between similar types.

💡 Teacher tip: students often remember the five names before they really understand them. The breakthrough usually comes when they must justify why a type fits a variable, not just spot it in a list.


How to Mark This Topic Effectively

What strong answers usually contain

Strong responses usually:

  • use the correct technical term without hedging
  • match the value to the correct type accurately
  • explain the difference between similar types clearly
  • justify why a chosen variable type is suitable in context
  • recognise that strings can contain digits without becoming numbers

What examiners reward

Examiners tend to reward:

  • precise vocabulary such as character, string, and Boolean
  • correct classification of values and variables
  • explanations that link the type to the purpose of the data
  • awareness that programming languages may use different names, while the exam expects the general AQA terms

Common marking issues

Students often lose marks when they:

  • call a single letter a string automatically
  • describe Boolean as yes/no without using TRUE/FALSE
  • call decimal numbers integers
  • assume any number-looking input must be numeric rather than text
  • give the right answer but no reason when asked why a type is appropriate
Feature Stronger answer Weaker answer
Character vs string Explains that a character stores one symbol, while a string stores a sequence. Says both are “text” and stops there.
Integer vs real Identifies that reals can include decimal values. Calls all numbers integers.
Boolean Uses TRUE/FALSE accurately and links it to conditions. Uses vague phrases such as “yes or no type”.
Appropriate choice Chooses a type and explains why it matches the value. Chooses a type with no justification.

📝 Marking shortcut: if a student has named the type correctly but not explained why, check the command word. On identify questions that may be enough. On explain or justify questions, it usually is not.


Example Student Responses

Example question

A programmer uses the following variables in a program:

  • age = 14
  • temperature = 21.5
  • initial = "K"
  • loggedIn = TRUE

State the most appropriate data type for each variable. [4 marks]

Marking guidance

  • 1 mark for each correctly identified data type
  • Accept real for decimal values
  • Accept character for a single symbol
  • Reward precise use of Boolean for TRUE/FALSE values
Strong response - **age** is an **integer** because it is a whole number. - **temperature** is a **real** because it includes a decimal value. - **initial** is a **character** because it stores one single symbol. - **loggedIn** is **Boolean** because it can be TRUE or FALSE.

Why this is strong

  • Every variable is matched to the correct type.
  • The response includes short, accurate justifications.
  • It distinguishes clearly between a single character and text more broadly.
Weak response - **age** is a number. - **temperature** is an integer. - **initial** is a string. - **loggedIn** is yes/no.

Why this is weak

  • number is too vague and is not the required data type term.
  • 21.5 is not an integer.
  • "K" is a single character, not best described here as a string.
  • yes/no is imprecise compared with Boolean and TRUE/FALSE.

Practice Questions

  1. State the data type of each value: 42, 3.14, FALSE, "Hello", "Z". [5 marks]
    • Marking guidance: one mark for each correctly identified type.
  2. Explain the difference between a character and a string. [2 marks]
    • Marking guidance: credit the idea that a character stores one symbol, while a string stores one or more characters.
  3. A variable called price stores 19.99. State the most appropriate data type and explain why. [2 marks]
    • Marking guidance: one mark for real, one mark for explaining that the value includes a decimal part.
  4. Give one variable that should sensibly be stored as a Boolean and explain why. [2 marks]
    • Marking guidance: reward any sensible example linked to TRUE/FALSE status.
  5. A postcode is entered into a program. Explain why string is usually more suitable than integer. [3 marks]
    • Marking guidance: credit answers recognising that postcodes are treated as text and may contain letters, spaces, or leading zeroes.

Common Misconceptions

Misconception

  • A character and a string are basically the same thing
  • Any value with digits must be numeric
  • Real just means “complicated number”
  • Boolean means any answer like yes, no, maybe

Quick correction

  • A character is one symbol; a string is a sequence of characters
  • "25" can be text, while 25 can be numeric
  • A real is simply a number that can include a decimal part
  • Boolean has only two values: TRUE and FALSE

⚠️ Common exam trap: students often answer with everyday language instead of the actual data type name. If the question asks for the data type, train them to write integer, real, Boolean, character, or string exactly.


FAQ

Do students need to use the word real even if they learn float in class?

Yes. It is fine to teach that many languages use float, but students should be comfortable using real in AQA exam answers because that is the general term used in the specification.

Should I teach character and string together or separately?

Teach them together and contrast them directly. The misunderstanding usually appears because students learn both as “text” without properly noticing that one stores a single symbol and the other stores a sequence.

Why do students struggle with values like "12"?

Because visually it looks numeric, but in programming the important question is how it is stored and used. If it is stored as text, it is a string, even though it contains digits.

What is the best way to teach Boolean accurately?

Keep linking it to conditions in code: logged in, finished, correct, found. Students remember it better when they see it driving decisions rather than sitting alone as a definition.

How much depth does this specification point need?

Keep it tight and precise. Students need to understand the concept of a data type and use the five listed types appropriately. This is a foundation topic, so clarity matters more than overcomplication.


Keep feedback sharp as students practise

When students start answering short programming questions, weak terminology can hide whether the understanding is actually secure. Marking.ai helps teachers review responses faster, spot recurring misconceptions, and keep feedback tightly focused on what the specification is really asking for.

🚀 Use Marking.ai to make Computer Science marking quicker, more consistent, and a lot less dependent on end-of-day optimism.