## General advice
- Read the question carefully, especially if it refers to sorting specific data.
- Attempt an answer to every question, even if you are not confident.
- Remember that the way we write the multiplication operator is `*` and not `x`
## 1
### a
The question explicitly forbids spyware so don't write about examples of spyware (including key loggers).
Descriptions for malware were often under-developed. The question has three marks available: one for identification, two for description. This means you need to make two points in your description.
## b
Common mistake: only ticking penetration testing as a prevention method for brute-force. Firewall is the primary method the mark scheme wants.
We did this exam question in class so the number of incorrect responses is surprising.
## 2
Universally poor. Defensive design and network security are not the same thing.
## 3
Good.
Remember to merge and sort in the first step, do not merge *then* sort.
## 4
The purpose of a temporary variable, e.g., `temp`, is to store a value so that it can be changed without being overwritten. Consider trying to swap the values of these two variables:
```python
x = 5
y = 10
```
The only[^1] way to do this without losing either value is with a temporary variable:
```python
x = 5
y = 10
temp = x
x = y
y = temp
```
A temporary variable like this is required in insertion and bubble sort as both algorithms require the swapping of values in an array.
## 5
### i
Make sure you apply your answer explicitly to the question and talk about whether things are **sorted** rather than **inserted**.
### ii
Significant issues with exam technique.
The questions refers to the array `data` so your response should likewise refer to the array `data`. The question also says that you should describe the steps to **complete** the sort—not do it from scratch. Remember that insertion sort works backwards (as far as OCR are concerned): it compares to the item on the left, and not to the item at the start of the array.
This is a **describe** question which means you need to describe the steps rather than just talking abstractly about sorting things alphabetically.
Many incorrect responses to part ii followed a correct response to part i. This puzzles me.
## 6
### i
- Make sure to use the same identifiers as in the question
- Do not include spaces in your variable identifiers
- Do not ever write `≥`, `≤`, or `≠` in code as you will not get marks
- Remember the order of comparison operators: `>=` and `<=` and **not** `=<` or `=>`
- Remember that `==` is a comparison operator and cannot be used for assignment
- Don't write a subprogram unless the question tells you to
Also, RTQ to make sure your calculation is complete.
It was nice to see that almost everyone remembered to write complete logical expressions either side of `and` in their attempts at BP 3.
### ii
Most who attempted it got full marks. Good.
## 7
### i
Read the question carefully. Validation of the nights value is not required.
`*` and `x` are not equivalent in programming. `*` is correct, `x` is not.
### ii
Many forgot string delimiters (`""`) which cost a mark.
## 8
If you are going to write bullet points, you must write in full sentences.
It was good to see lots of people following the heading and bullet point structure. However, you need to make sure that each bullet point is a developed point on its own. Bullet points are not permission to write short unsubstantiated claims—instead, they are a structure for you to ensure that your argument has balance and sufficient breadth across the listed considerations.
You must argue both sides.
Be wary of sweeping claims about the illegality of CCTV. CCTV is everywhere!
## Notes
[^1]: Strictly speaking untrue with Python syntax but GCSEs are no time for being clever.