Every effort has been made to trace all copyright holders, but if any have been inadvertently overlooked the Publishers will be pleased to make the necessary arrangements at the first opportunity.

Although every effort has been made to ensure that website addresses are correct at time of going to press, Hodder Education cannot be held responsible for the content of any website mentioned in this book. It is sometimes possible to find a relocated web page by typing in the address of the home page for a website in the URL window of your browser.

Hachette UK’s policy is to use papers that are natural, renewable and recyclable products and made from wood grown in sustainable forests. The logging and manufacturing processes are expected to conform to the environmental regulations of the country of origin.

Orders: please contact Bookpoint Ltd, 130 Milton Park, Abingdon, Oxon OX14 4SB.

Telephone: +44 (0)1235 827720. Fax: +44 (0)1235 400454. Lines are open 9.00a.m.–5.00p.m.,

Monday to Saturday, with a 24-hour message answering service. Visit our website at www.hoddereducation.co.uk

© Steve Cushing 2017

First published in 2017 by

Hodder Education,
An Hachette UK Company
Carmelite House
50 Victoria Embankment
London EC4Y 0DZ

Impression number  10    9    8    7    6    5    4    3    2    1

Year   2021   2020   2019   2018   2017

All rights reserved. Apart from any use permitted under UK copyright law, no part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying and recording, or held within any information storage and retrieval system, without permission in writing from the publisher or under licence from the Copyright Licensing Agency Limited. Further details of such licences (for reprographic reproduction) may be obtained from the Copyright Licensing Agency Limited, Saffron House, 6–10 Kirby Street, London EC1N 8TS.

Cover photo © Vladyslav Otsiatsia/Thinkstock/Getty Images

Typeset in India by Aptara, Inc.

Printed in Italy

A catalogue record for this title is available from the British Library

ISBN 978 1 4718 8659 1
eISBN 978 1 4718 8660 7

Get the most from this book

Everyone has to decide his or her own revision strategy, but it is essential to review your work, learn it and test your understanding. These Revision Notes will help you to do that in a planned way, topic by topic. Use this book as the cornerstone of your revision and don’t hesitate to write in it – personalise your notes and check your progress by ticking off each section as you revise.

Track your progress

Use the revision planner on pages 4 and 5 to plan your revision, topic by topic. Make a note when you have:

•  revised and understood a topic

•  tested yourself

•  practised the exam questions and checked your answers at the back of the book

You can also keep track of your revision by noting each topic heading in the book. You may find it helpful to add your own notes as you work through each topic.

Features to help you succeed

Exam tips

Expert tips are given throughout the book to help you polish your exam technique in order to maximise your chances in the exam.

Exam practice

Practice exam questions are provided for each topic. Use them to consolidate your revision and practise your exam skills.

Summaries

The summaries provide a quick-check bullet list for each topic.

Answers

Answers to exam practice questions can be found at the back of the book.

My revision planner

Paper 1 only

3.1 Fundamentals of algorithms

3.1.1 Representing algorithms

           Algorithms

           Input, output and process model

           More than one solution to any problem

           Trace tables

           Exam practice

3.1.2 Efficiency of algorithms

           Time measure

           Exam practice

3.1.3 Searching algorithms

           Linear search

           Binary search

           Comparing linear search and binary search

           Exam practice

3.1.4 Sorting algorithms

           Bubble sort

           Merge sort

           Comparing merge sort and bubble sort

           Exam practice

3.2 Programming

3.2.1 Data types

           Primitive data types

           Integer types

           Character data type

           String data type

           Floating-point types

           Boolean data type

           Variables

           Exam practice

3.2.2 Programming concepts

           Variable declaration

           Constant declaration

           Assignment

           Iteration

           Pre-test loops

           Post-test loops

           Count loops

           Selection

           Nested loops

           Modularity

           AQA pseudo-code for modularity

           Exam practice

3.2.3 Arithmetic operations in a programming language

           Algorithms

           AQA pseudo-code for arithmetic operations

           Exam practice

3.2.4 Relational operations in a programming language

           Operators

           AQA pseudo-code for relational operators

           Exam practice

3.2.5 Boolean operations in a programming language

           Boolean operators

           AQA pseudo-code for Boolean operations

           Exam practice

3.2.6 Data structures

           Arrays

           One-dimensional arrays

           Two-dimensional arrays

           AQA pseudo-code for arrays

           Exam practice

3.2.7 Input/output and file handling

           AQA pseudo-code for input and output Reading and writing to an external file

           Sequential files

           Data types

           Opening a file

           Processing a file

           Closing a file

           Exam practice

3.2.8 String-handling operations in a programming language

           String manipulation

           AQA pseudo-code for manipulating strings

           AQA pseudo-code for string and character conversion

           Exam practice

3.2.9 Random number generation in a programming language

           Pseudo-random numbers

           AQA pseudo-code for random number generation

           Exam practice

3.2.10 Subroutines (procedures and functions)

           The concept of subroutines

           Parameters pass data within programs

           Scope

           AQA pseudo-code for subroutines

           Exam practice

3.2.11 Structured programming

           Benefits of modular programming

           AQA pseudo-code for modular programming

           Exam practice

3.2.12 Robust and secure programming

           Data validation

           Why use validation?

           Validating the presence of data

           Validating data type

           Range checks

           Errors

           Testing

           Exam practice

3.2.13 Classification of programming languages

           Computer languages

           Why different languages?

           Assembly language

           Machine language/code

           Conversion from high-level language to low-level language

           Exam practice

Both Papers

3.3 Fundamentals of data representation

3.3.1 Number bases

           Understanding number bases

3.3.2 Converting between number bases

           Binary code

           Converting to binary numbers

           Adding binary numbers

           Binary shift

           Hexadecimal numbers

           Decimal to hexadecimal

           Hexadecimal to decimal

           Exam practice

3.3.3 Units of information

           Bit

           Nibble

           Byte

           Storage size and data transfer measurements

           Exam practice

3.3.4 Binary arithmetic

           Adding binary numbers

           Binary shifts

           Exam practice

3.3.5 Character encoding

           ASCII

           Extended ASCII

           The Unicode character set

           Exam practice

3.3.6 Representing images

           Bitmaps

           Resolution

           Black and white image size

           Calculating storage requirements

           Exam practice

3.3.7 Representing sound

           Sound

           Analogue to digital converter

           Bit depth

           Calculating file sizes

           Bitrate

           Exam practice

3.3.8 Data compression

           Run-length encoding

           Compression with text

           Lossless compression

           Lossy compression

           Huffman encoding

           Exam practice

3.4 Computer systems

3.4.1 Hardware and software 1

           The main hardware component parts of the computer

           Embedded systems

           Actuators and sensors

           Exam practice

3.4.1 Hardware and software 2

           Fetch, decode and execute

           Exam practice

3.4.2 Boolean logic

           Logic gates

           OR gates

           AND gates

           NOT gates

           Constructing truth tables with more inputs

           Exam practice

3.4.3 Software classification 1

           Types of software

           Operating systems

           Utility software

           Application software

           Translation software

           Exam practice

3.4.3 Software classification 2

           Functions of operating systems

           Memory management

           File management

           Security

           Provision of an interface

           Input/output

           Error reporting

           Exam practice

3.4.4 Systems architecture 1

           Von Neumann architecture

           The CPU – central processing unit

           Speed

           Components of the processor

           Factors affecting processor performance

           Exam practice

3.4.4 Systems architecture 2

           Storage

           RAM and ROM

           Accessing memory

           Secondary storage

           Magnetic storage devices (MSD)

           Optical storage devices (OSD)

           Solid-state disks (SSD)

           Cloud storage

           Exam practice

Paper 2 only

3.5 Computer networks

3.5.1 Fundamentals of computer networks 1

           Networks

           Network hardware

           Bandwidth

           Network stations

           Servers

           Routers

           Network topology

           Exam practice

3.5.1 Fundamentals of computer networks 2

           Protocols

           IP addressing

           MAC address

           TCP/IP

           The application layer

           The transport layer

           The network layer

           The data link layer

           Data packets

           Email protocols

           Exam practice

3.6 Fundamentals of cyber security

3.6.1 Cyber security threats 1

           Social engineering

           Exam practice

3.6.1 Cyber security threats 2

           Malicious code: Malware

           Measures for protecting your personal data from cyber attacks

           Measures for protecting a network and computers from cyber attacks

           Exam practice

3.6.2 Methods to detect and prevent cyber security threats

           Firewalls

           Encryption

           Intrusion detection

           HTTPS

           MAC address filtering

           Automatic updates and patches

           Passwords

           Biometrics

           Security misconfiguration vulnerabilities

           Unpatched and/or outdated software vulnerabilities

           CAPTCHA

           Email verification

           Mobile phone verification

           Exam practice

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

           Ethical use

           The digital divide

           Intellectual property

           Software theft

           Environmental impacts of technology

           What can individuals do?

           Exam practice