Specifications that use this resource:

Switching to AQA: from OCR

To save you time and help you compare our GCSE Computer Science with the OCR GCSE Computer Science specification, we’ve created some comparison tables.

These tables highlight the content and requirements side by side, so you can make the right choice for your students.

For further information and resources, visit the subject pages of our GCSE Computer Science specification.

Administration comparison

 

AQA

OCR

Option/entry codes

8525A (C#)

8525B (Python)

8525C (VB.NET)

J277

Component/exam paper codes

8525/1A, B, or C

Paper 1 - Computational thinking and programming skills

Programming paper, offered in one of three languages (C#, Python 3.x, and VB.NET). It will contain AQA pseudo-code and code in the language for which they have been entered.

120 minutes

90 marks (50% weighting)

No calculator allowed

J277/01

Paper 1 - Computing systems

Theory paper, contains no A03¹ marks

90 minutes

80 marks (50% weighting)

No calculator allowed

Component/exam paper codes

8525/2

Paper 2 - Computing concepts

Theory paper, includes some AO3¹ marks, eg using SQL (4.4% weighting of the component)

105 minutes

90 marks (50% weighting)

No calculator allowed

J277/02

Paper 2 - Computational thinking, algorithms and programming

Programming paper, contains OCR Exam Reference Language (pseudo-code), but in Section B students will be given the chance to use either OCR Exam Reference Language or the language of their choice.

90 minutes

80 marks (50% weighting)

No calculator allowed

¹AO3: Analyse problems in computational terms:

  • to make reasoned judgements
  • to design, program, evaluate and refine solutions

Exam paper content comparison

Paper 1

AQA

OCR

8525/1A, B, or C: Paper 1 - Computational thinking and programming skills assesses:

  • 3.1 Fundamentals of algorithms
  • 3.2 Programming

J277/01: Paper 1 - Computer Systems assesses:

  • 1.1 Systems architecture
  • 1.2 Memory and storage
  • 1.3 Computer networks, connections and protocols
  • 1.4 Network security
  • 1.5 Systems software
  • 1.6 Ethical, legal, cultural and environmental impacts of digital technology

Paper 2

AQA

OCR

8525/2: Paper 2 - Computing concepts assesses:

  • 3.3 Fundamentals of data representation
  • 3.4 Computer systems
  • 3.5 Fundamentals of computer networks
  • 3.6 Cyber security
  • 3.7 Relational database and structured query language (SQL)
  • 3.8 Ethical, legal and environmental impacts of digital technology on wider society, including issues of privacy

J277/02: Paper 2 - Computational thinking, algorithms and programming assesses:

  • 2.1 Algorithms
  • 2.2 Programming fundamentals
  • 2.3 Producing robust programs
  • 2.4 Boolean logic
  • 2.6 Programming languages and Integrated Development Environments

Specification content comparison

AQA

OCR

3.1 Fundamentals of algorithms

  • 3.1.1 Representing algorithms
  • 3.1.2 Efficiency of algorithms
  • 3.1.3 Searching algorithms
  • 3.1.4 Sorting algorithms (merge and bubble)

3.2 Programming

  • 3.2.1 Data types
  • 3.2.2 Programming concepts
  • 3.2.3 Arithmetic operations in a programming language
  • 3.2.4 Relational operations in a programming language
  • 3.2.5 Boolean operations in a programming language
  • 3.2.6 Data structures
  • 3.2.7 Input/output (in programming languages)
  • 3.2.8 String handing operations in a programming language
  • 3.2.9 Random number generation in a programming language
  • 3.2.10 Structures programming and subroutines (procedures and functions)
  • 3.2.11 Robust and secure programming

3.3 Fundamentals of data representation

  • 3.3.1 Number bases
  • 3.3.2 Converting between number bases
  • 3.3.3 Units of information
  • 3.3.4 Binary arithmetic
  • 3.3.5 Character encoding
  • 3.3.6 Representing images
  • 3.3.7 Representing sound
  • 3.3.8 Data compression (including Huffmann and RLE encoding)

3.4 Computer systems

  • 3.4.1 Hardware and software (topic not in OCR)
  • 3.4.2 Boolean logic (includes Boolean expressions not in OCR)
  • 3.4.3 Software classification (broadly OCR's 1.5.1, 1.5.2)
  • 3.4.4 Classification of programming languages and translators (broadly OCR's 2.5.1)
  • 3.4.5 Systems architecture (broadly OCR's 1.1.1 without virtual memory)

3.5 Fundamentals of computer networks

3.6 Cyber security

  • 3.6.1 Fundamentals of cyber security
  • 3.6.2 Cyber security threats
  • 3.6.3 Methods to detect and prevent cyber security threats

3.7 Relational databases and structured query language (SQL)

  • 3.7.1 Relational databases
  • 3.7.2 Structured query language (SQL)

3.8 Ethical, legal and environmental impacts of digital technology on wider society, including issues of privacy

1.1 Systems architecture

  • 1.1.1 Architecture of the CPU
  • 1.1.2 CPU performance
  • 1.1.3 Embedded systems

1.2 Memory and storage

  • 1.2.1 Primary storage (memory)
  • 1.2.2 Secondary storage
  • 1.2.3 Units
  • 1.2.4 Data storage
  • 1.2.5 Compression (not including AQA's Huffman and RLE encoding)

1.3 Computer networks and protocols

  • 1.3.1 Networks and topologies
  • 1.3.2 Wired and wireless networks, protocols and layers

1.4 Network Security

  • 1.4.1 Threats to computer systems and networks
  • 1.4.2 Identifying and preventing vulnerabilities

1.5 Systems software

  • 1.5.1 Operating systems
  • 1.5.2 Utility software

1.6 Ethical, legal, cultural and environmental impacts of digital technology

  • 1.6.1 Ethical, legal, cultural and environmental impacts

2.1 Algorithms

  • 2.1.1 Computational thinking
  • 2.1.2 Designing, creating and refining algorithms
  • 2.1.3 Searching and sorting algorithms (bubble, merge, and insertion)

2.2 Programming fundamentals

  • 2.2.1 Programming fundamentals (broadly AQA's 3.2.2, 3.2.3, 3.2.4, 3.2.5)
  • 2.2.2 Data types (broadly AQA 3.2.1 with conversions/casting corresponding to AQA's 3.2.8)
  • 2.2.3 Additional programming techniques (broadly AQA's 3.2.8. 3.2.6, 3.7 (SQL, but with no
    INSERT, UPDATE,
    or
    DELETE)
    , 3.2.10, 3.2.9)
  • 2.2.3 Additional programming techniques (broadly AQA's 3.2.8. 3.2.6, 3.7 (SQL, but with no
    INSERT, UPDATE,
    or
    DELETE)
    , 3.2.10, 3.2.9)

2.3 Producing robust programs

  • 2.3.1 Defensive design
  • 2.3.2 Testing

2.4 Boolean logic

  • 2.4.1 Boolean logic (broadly AQA's 3.4.2 but lacking the XOR gate, Boolean expressions, or conversions Boolean expressions ⇔ logic circuits)

2.5 Languages

  • 2.5.1 Languages
  • 2.5.2 The Integrated Development Environment (IDE)

Program representation

 

AQA - pseudo-code

OCR - Exam Reference Language

Where language agnostic algorithms are presented in 8525/1, Paper 1 (AQA) or J277/02, Paper 2 (OCR) the language used will be either AQA pseudo-code or OCR Exam Reference Language.   
Keywords Upper case keywords eg
CONSTANT
to stand out from other content
Lower case keywords eg
const 
Global variables Not used Allows global variables with the
global 
keyword
Comments
# starts a comment (Python) 
// starts a comment (C# etc) 
Assignment
a 🡠 3 
(students may write assignment as in their preferred language)
a = 3 
Arithmetic operators
+, –, *, /, MOD
and
DIV
(no exponentiation)
+, -, *, /, ^, MOD
and
DIV 
Relational operators
<, >, =, ≠, ≤, ≥ 
(students may write operators as in their preferred language)
==, !=, <, <=, >, >= 
Boolean operators
AND, OR, NOT 
AND, OR, NOT 
Iteration
REPEAT

UNTIL BooleanExp

WHILE BooleanExpression

ENDWHILE

FOR … = … TO … [STEP …]
# STEP optional

ENDFOR

FOR … IN StringExpression

ENDFOR

do

until BooleanExpression

while BooleanExpression

endwhile


for … = … to … [step …]
# step optional

next


Not in OCR Exam Reference Language
Selection
IF … THEN

ELSE IF … THEN

ELSE

ENDIF 
 

Not in AQA pseudo-code

switch …:
case …:

case …:


default:

endswitch
String handling Functions
LEN, POSITION, SUBSTRING
and operator + (concatenation)
Methods (called with dot notation)
length, substring, left, right, upper, lower 
Arrays (one and two dimensional) Defined in the same way as Python lists eg
primes 🡠 [2, 3, 5, 7, 11, 13]
table ← [[1, 2],[2, 4],
[3, 6],[4, 8]]
Very similar but with keyword
array
, or can be defined before use eg
array colours[5]
or
array colours = ["Blue", "Pink", "Green", "Yellow", "Red"]
array gameboard[8, 8]
Elements assigned and retrieved using 0 based indexes
primes[2]
is
5

table[3][1] 
is
8 
colours[2]
is
 "Green"
gameboard[7, 7]
is the bottom right of the board
Iterating over elements
A FOR … IN … 
can be used to iterate over an array
Not in OCR Exam Reference Language
Finding length of an array
LEN
to get the length
(LEN(table[0]) 
can be used to find second dimension)
Not in OCR Exam Reference Language due to explicit declaration
Records

Design declared with eg

RECORD Car
make : String
model : String
reg : String
price : Real
noOfDoors : Integer
ENDRECORD


Instance created with eg

myCar 🡠 Car('FORD', 'FIESTA', 'XHG 971R', 1399.9, 5)


Fields accessed with dot notation eg

myCar.model = 'Focus'
Not in OCR Exam Reference Language
Subroutines Defined using
SUBROUTINE / ENDSUBROUTINE
keywords
                     
May return a value using the
RETURN
keyword
Defined with
procedure / endprocedure
keywords or
function / endfunction
if a value is to be returned (using
return
as with AQA)
Conversion functions
STRING_TO_INT
INT_TO_STRING
STRING_TO_REAL
REAL_TO_STRING
CHAR_TO_CODE
CODE_TO_CHAR
int
str
float
or
real

ASC
CHR
.upper
.lower
bool
(converts a string to a Boolean)
File handling Not in AQA pseudo-code
open (myFile = open("sample.txt))
close (myFile.close())
readLine  
(myFile.readLine() returns next line)
writeLine (myFile.writeLine() 
writes a line to end of file)
endOfFile (myFile.endOfFile 
returns true if at end of file)
newFile (newFile("newSample.txt") 
creates a file which will need to be opened
Input/output from keyboard to screen
name 🡠 USERINPUT
OUTPUT StringExpression, …
name = input(prompt)
print(..)
Random number generation
RANDOM_INT(1, 6)
returns a random integer between 1 and 6 inclusive
random(1, 6)
random(1.0, 6.0)
returns a random real number between 1.0 and 6.0 inclusive

Support materials

 

AQA

OCR

Code used in exams

Conversion documents for translating AQA pseudo-code into the three AQA supported languages (C#, Python 3, VB.NET).

Similar resources for C# and Python.

Marking Support for examiners when marking hand written C#, Python 3, VB.NET.

Specifications that use this resource: