Skip to main content
EnglandComputer Science

AQA GCSE Computer Science 3.2 Programming: data types, constructs, operators, arrays, subroutines, strings, files and structure

A deep-dive AQA GCSE Computer Science guide to area 3.2 Programming. Covers data types and variables, the three constructs, arithmetic and Boolean operators, arrays and records, subroutines and scope, string handling, file handling and the principles of structured programming, with the coding skills Paper 1 rewards.

Generated by Claude Opus 4.816 min read3.2

Reviewed by: AI editorial process; not yet individually human-reviewed

Jump to a section
  1. What area 3.2 actually demands
  2. Data, variables and operators
  3. The three constructs
  4. Data structures: arrays and records
  5. Subroutines, strings and files
  6. Structured programming
  7. Check your knowledge

What area 3.2 actually demands

Programming is the largest practical area of the course and the heart of Paper 1. You must be able to write, read, trace and refine programs that use variables, the three constructs, operators, data structures, subroutines, strings and files, and you must understand the principles that make code well structured. Centres teach a high-level language such as Python, C# or Java, but the exam also uses AQA pseudocode, so you must be fluent in both.

This guide ties together the eight dot-point pages for the area.

Data, variables and operators

Programs work on data, so you start with data types (integer, real, Boolean, character, string), variables (named stores whose value can change) and constants (fixed named values). You combine them with operators: arithmetic (including integer division DIV and modulus MOD), comparison, and the Boolean operators AND, OR and NOT, applying correct precedence so that multiplication and division happen before addition and subtraction.

The three constructs

Every program is built from sequence, selection and iteration. Selection uses IF or CASE; iteration is definite (a FOR loop) or indefinite (WHILE or REPEAT UNTIL), and a WHILE loop can run zero times because it tests before the body. Constructs can be nested inside one another.

Data structures: arrays and records

To store collections you use arrays (many values of the same type, accessed by index, including 2D arrays for grids) and records (related values of possibly different types, accessed by field name). These let a program handle many items without a separate variable for each.

Subroutines, strings and files

Subroutines (procedures and functions) break a program into named, reusable blocks; functions return a value, procedures do not, parameters pass data in, and scope decides where a variable can be used. String handling covers length, substrings, concatenation, case changes and converting between strings and numbers. File handling lets data persist by opening, reading or writing line by line, and closing a file.

Structured programming

Finally, structured programming ties it together: design a program as well-organised subroutines, each doing one task with a clear interface, built only from the three constructs. This makes programs easier to write, read, test, debug and maintain.

Check your knowledge

A mix of recall and applied questions covering area 3.2. Attempt them, then check against the solutions.

  1. Name the five common data types. (3 marks)
  2. State the difference between a variable and a constant. (2 marks)
  3. Calculate 19 MOD 619 \text{ MOD } 6. (1 mark)
  4. State the difference between definite and indefinite iteration. (2 marks)
  5. State the difference between an array and a record. (2 marks)
  6. State the difference between a function and a procedure. (2 marks)
  7. Give one reason a local variable is preferred to a global variable. (1 mark)
  8. Give one benefit of structured programming. (1 mark)

Sources & how we know this

  • computer-science
  • gcse-aqa
  • aqa-computer-science
  • programming
  • gcse
  • data-types
  • constructs
  • operators
  • subroutines
  • file-handling