OxfordAQA International GCSE Computer Science (9210) Exhaustive Study Guide

Introduction to OxfordAQA International GCSE Computer Science

  • The OxfordAQA International GCSE Computer Science (9210) is designed for students following an English curriculum outside the United Kingdom.

  • This qualification is relevant and appealing to students worldwide, reflecting a deep understanding of teacher and school needs globally.

  • It is a collaboration between Oxford University Press and AQA, the leading awarding body in the UK.

  • The qualifications have been independently validated by UK ENIC as comparable to the GCE A-level and GCSE standards offered in the UK and accredited by Ofqual.

  • The course takes a highly practical approach, with a focus on designing, writing, and testing computer programs using high-level programming languages.

  • Learners develop skills in web page design (HTML) and relational databases (SQL) alongside core computer science principles.

  • The Oxford International Programme learner attributes are integrated into the curriculum to support academic, social, and personal success, emphasizing higher-order critical thinking skills.

Specification and Assessment Overview

  • The title of the qualification is OxfordAQA International GCSE Computer Science.

  • The specification is linear; all assessments must be completed at the end of the course in the same series.

  • Exams are available in May/June and November, starting from May/June 2019.

Paper 1: Programming

  • Weighting: 50%50\% of the total GCSE.

  • Marks: 8080 marks.

  • Duration: 22 hours.

  • Assessment Method: On-screen programming exam based on a pre-released skeleton program provided to centres on March 1st for May/June exams and August 1st for November exams.

  • Languages Available: C#, Python 3, and Visual Basic.

  • Sections:

    • Section A: Questions on programming concepts and non-programming aspects of the skeleton program.

    • Section B: Short programming questions involving small modifications to the skeleton program (e.g., correcting errors or writing several lines of code).

    • Section C: Longer programming questions involving major modifications and analysis (e.g., writing new subroutines or adding significant functionality).

  • Response Format: Responses are recorded in an electronic answer document (word-processed).

Paper 2: Concepts and Principles of Computer Science

  • Weighting: 50%50\% of the total GCSE.

  • Marks: 8080 marks.

  • Duration: 22 hours.

  • Assessment Method: Written exam consisting of multiple-choice, short-answer, and longer-answer questions.

Algorithms

  • Algorithm Definition: An algorithm is a sequence of steps that can be followed to complete a task. It is an implementation of a solution, whereas a computer program is the implementation of an algorithm.

  • Decomposition: The process of breaking a problem into a number of sub-problems, where each sub-problem accomplishes an identifiable task and may be further subdivided.

  • Abstraction: The process of removing unnecessary detail from a problem to focus on the essential components.

  • Problem Solving: Algorithms must be created using a systematic approach and represented using pseudocode (Oxford International AQA standard) or flowcharts.

  • Efficiency: Different algorithms can solve the same problem. Efficiency is compared primarily in terms of time. Formal algorithmic efficiency calculations are not required.

  • Searching Algorithms:

    • Linear Search: Mechanics, following, and writing pseudocode.

    • Binary Search: Iterative version mechanics, following, and writing pseudocode. Requires sorted data.

    • Comparison: Understanding the advantages and disadvantages of each.

  • Sorting Algorithms:

    • Merge Sort: Recursive version mechanics. Students must be able to explain it in prose and demonstrate it on data but do not need to write pseudocode.

    • Bubble Sort: Mechanics using two nested loops (outer loop controlled indefinitely by a swap flag, inner loop controlled definitely). Writing and following pseudocode is required.

    • Comparison: Understanding the advantages and disadvantages of merge sort versus bubble sort.

Programming Concepts and Data Types

Data Types

  • Standard types: integer, real (also known as float), Boolean, character, and string.

Core Concepts

  • Basic Statements: Variable declaration, constant declaration, assignment, iteration, selection, and subroutines.

  • Combining Principles: Sequence, iteration (repetition), and selection (choice).

  • Iteration Types:

    • Definite: FOR i ← 1 TO 5

    • Indefinite (Condition at Start): WHILE NotSolved

    • Indefinite (Condition at End): REPEAT ... UNTIL Solved

  • Identifier Names: Importance of meaningful names for variables, constants, and subroutines.

Operations

  • Arithmetic: Addition, subtraction, multiplication, real division, and integer division (DIV and MOD).

    • Example: 11 DIV 2 = 5 and 11 MOD 2 = 1.

  • Relational: Equal to (==), not equal to (\neq), less than ( < ), greater than ( > ), less than or equal to (\le), and greater than or equal to (\ge).

  • Boolean: NOT, AND, OR.

Data Structures

  • Arrays: One-dimensional and two-dimensional arrays. In Python, lists are suitable alternatives.

  • Records: Creating structured data.

    • In C#: structs

    • In Visual Basic: structures

    • In Python: Classes used in a non-object-oriented way, e.g.: python class Coordinate(): def __init__(self): self.x = 0 self.y = 0 myposition = Coordinate() myposition.x = 10 myposition.y = 5 &nbsp;&nbsp;&nbsp;&nbsp;

Advanced Programming and Software Translation

  • Subroutines: Named "out of line" blocks of code. Includes the use of parameters and return values.

  • Structured Programming: Characterised by modularization, clear interfaces (local variables, parameters), and return values.

  • Robustness: Simple data validation (checking string length, empty strings, and numeric ranges e.g., 11 to 1010). Authentication using plain text usernames and passwords.

  • Testing: Selecting normal (typical), boundary, and erroneous data with justification.

  • Language Levels:

    • Low-level: Machine code (binary, processor-specific) and assembly language (1:1 correspondence with machine code; used for embedded systems/hardware control).

    • High-level: Most programs are written here for ease of use.

  • Translators:

    • Assembler: Translates assembly into machine code.

    • Compiler: Translates high-level code into machine code directly.

    • Interpreter: Does not generate machine code directly; calls internal subroutines to execute statements.

Data Representation

Number Bases

  • Bases: Decimal (Base 1010), Binary (Base 22), Hexadecimal (Base 1616).

  • Conversions: Between decimal (00 to 255255), binary (0000000000000000 to 1111111111111111), and hexadecimal (0000 to FFFF).

Units of Information

  • Bit (b): Fundamental unit (00 or 11).

  • Byte (B): 8bits8\,bits.

  • Prefixes (using powers of 1010):

    • Kilo (kB): 1,000bytes1,000\,bytes

    • Mega (MB): 1,000kilobytes1,000\,kilobytes

    • Giga (GB): 1,000megabytes1,000\,megabytes

    • Tera (TB): 1,000gigabytes1,000\,gigabytes

Binary Arithmetic and Shifts

  • Addition: Maximum 8bits8\,bits, no carrying beyond the 8th bit.

  • Logical Binary Shift: Used for multiplication or division by powers of 22.

Character Encoding

  • ASCII: 7-bit encoding. 'A' is coded as 6565, 'B' as 6666, etc.

  • Unicode: Supports different alphabets and special symbols. Uses the same codes as ASCII up to 127127.

Images

  • Pixel: Short for picture element; a single point in a graphical image.

  • Bitmap: Defined by width by height notation (W×HW \times H).

  • Colour Depth: Number of bits used to represent each pixel.

  • Calculations:

    • Size in bits=W×H×D\text{Size in bits} = W \times H \times D

    • Size in bytes=W×H×D8\text{Size in bytes} = \frac{W \times H \times D}{8}

Sound

  • Sampling: Sound is analogue; waves are measured for amplitude at points in time to create digital versions.

  • Sampling Rate: Number of samples per second, measured in Hertz (1Hz=1sample/second1\,Hz = 1\,sample/second).

  • Sample Resolution: Number of bits per sample.

  • File size calculation: File size (bits)=rate (Hz)×res×secs\text{File size (bits)} = \text{rate (Hz)} \times \text{res} \times \text{secs}

Data Compression

  • Huffman Coding: Using a tree to reduce bit requirements for frequent characters. Students must build/interpret trees and calculate bit savings against ASCII.

  • Run Length Encoding (RLE): Uses frequency/data pairs (e.g., 00000111 becomes 5 0 3 1).

Computer Systems and Architecture

Software and Logic

  • Software: System software (manages resources/platform) and application software (end-user tasks).

  • Operating System (OS): Handles processor, memory, I/O devices, applications, and security.

  • Boolean Logic: Truth tables and circuits for NOT, AND, OR.

    • Notation: NOT: A\text{NOT: } \overline{A}, AND: AB\text{AND: } A \cdot B, OR: A+B\text{OR: } A + B.

Architecture

  • Von Neumann Architecture: Includes main memory and the CPU.

  • CPU Components: Arithmetic Logic Unit (ALU), Control Unit (CU), Clock, and Buses (data wires).

  • Performance Factors: Clock speed, number of cores, cache size.

  • Fetch-Execute Cycle:

    1. Fetch: Instruction brought from main memory to CPU.

    2. Decode: Instruction decoded to determine required action.

    3. Execute: Instruction carried out.

Storage

  • Main Memory: Directly accessible by CPU (RAM, ROM). RAM is volatile; ROM is non-volatile.

  • Secondary Storage: Non-volatile, not directly accessible by CPU (Solid state, optical, magnetic).

  • Cloud Storage: Remote magnetic/solid state storage accessible over a network.

  • Embedded Systems: Dedicated computer systems within larger mechanical/electrical systems.

Computer Networks

  • LAN (Local Area Network): Covers small areas; owned by a single organization.

  • WAN (Wide Area Network): Covers large geographic areas; collective ownership (e.g., the Internet).

  • Topologies: Star and Bus.

  • Protocols: Sets of rules for transmission (Ethernet, Wi-Fi, TCP, UDP, IP, HTTP, HTTPS, FTP, SMTP, IMAP).

  • Security: Authentication, encryption, firewalls, and MAC address filtering.

  • 4-Layer TCP/IP Model:

    1. Application Layer: Network applications (HTTP, HTTPS, SMTP, IMAP, FTP).

    2. Transport Layer: Hosts agree on communication settings/packet size (TCP, UDP).

    3. Network Layer: Addresses and routes packets (IP).

    4. Link Layer: Hardware and drivers (NIC).

Cyber Security

  • Cyber Security Definition: Processes and technologies designed to protect networks, computers, and data from attack or unauthorized access.

  • Threats: Social engineering, malicious code (malware), weak passwords, misconfigured access, removable media, unpatched software.

  • Penetration Testing: Attempting to gain access without credentials to simulate internal or external attacks.

  • Social Engineering Types:

    • Blagging: Invented scenarios to trick victims.

    • Phishing: Fraudulent emails/SMS to obtain private info.

    • Pharming: Redirecting traffic to fake sites.

    • Shouldering: Observing private info over a shoulder.

  • Malware Types: Viruses, Trojans, spyware, adware.

  • Prevention: Biometrics, CAPTCHA, email confirmations, automatic updates.

Relational Databases and SQL

  • Database Concepts: Tables, records, fields, data types, primary keys, and foreign keys.

  • Normalization Benefits: Eliminates data inconsistency and data redundancy.

  • Database Design: Scenarios involve up to three tables; primary keys are underlined.

  • Structured Query Language (SQL):

    • Data Retrieval: SELECT, FROM, WHERE.

    • Data Insertion: INSERT INTO.

    • Data Editing: UPDATE and DELETE FROM.

Web Page Design

  • HTML (Structure): Includes tags like <html>, <title>, <body>, <div>, <p>, <ol>, <ul>, <li>, <a>, <img>.

  • CSS (Style): Uses selectors (type, class) and properties (background-color, color, font-size, etc.) in the format: selector {property : value}.

  • Scripting: Server-side (dynamic generation) and Client-side (additional functionality).

  • HTML5 Features: Built-in graphics/multimedia support (<svg>, <canvas>, <video>), semantic elements (<header>, <article>), and improved API access.