Computer Science 9618/13 — May/June 2024
Cambridge AS Level · Theory Fundamentals · worked solutions for every part, with the mark scheme
Topics Information Representation · Hardware · Processor Fundamentals · Databases · Communication · Ethics and Ownership · +2 more
Complete the following description.
A kibibyte has a ................................................ prefix. Three kibibytes is the same as ................................................ bytes.
A megabyte has a ................................................ prefix. Two terabytes is the same as ................................................ gigabytes.
Answer
- A kibibyte has a binary prefix.
- Three kibibytes = 3072 bytes.
- A megabyte has a decimal prefix.
- Two terabytes = 2000 gigabytes.
binary, 3072, decimal, 2000
Background Concept
Storage units use two different prefix systems.
- Binary prefixes are based on powers of 2. Examples are kibibyte (KiB), mebibyte (MiB) and gibibyte (GiB).
- Decimal prefixes are based on powers of 10. Examples are kilobyte (KB), megabyte (MB), gigabyte (GB) and terabyte (TB).
This matters because computers work in binary, so some units are based on , while others are based on 1000.
Useful facts here are:
- KiB = bytes
- GB = MB
- TB = GB
Understanding the Question
This part gives four blanks to complete:
- identify what kind of prefix a kibibyte uses
- convert 3 kibibytes into bytes
- identify what kind of prefix a megabyte uses
- convert 2 terabytes into gigabytes
The key clue is the spelling:
- kibibyte means binary prefix
- megabyte means decimal prefix
Approach
Use the unit name to decide whether the prefix system is binary or decimal.
- For kibibyte, use 1024 bytes per KiB.
- For terabyte to gigabyte, use decimal scaling, so multiply by 1000.
Then fill in the four missing values directly.
Step-by-Step Reasoning
First blank:
- A kibibyte belongs to the binary-prefix family.
- So the first answer is binary.
Second blank:
- KiB = bytes
- KiB = bytes
- So the second answer is 3072.
Third blank:
- A megabyte belongs to the decimal-prefix family.
- So the third answer is decimal.
Fourth blank:
- TB = GB
- TB = GB
- So the fourth answer is 2000.
Key Takeaways
- Kibi-, mebi-, gibi- are binary prefixes.
- Kilo-, mega-, giga-, tera- are decimal prefixes.
- Always check whether the question is using binary or decimal units before converting.
Common Mistakes
- Writing decimal for kibibyte. This is wrong because kibi is specifically a binary prefix.
- Using 1000 instead of 1024 for kibibytes.
- Confusing gigabytes and gibibytes.
- Writing 2048 for 2 TB to GB by incorrectly using binary scaling.
Things to Be Careful About
- Read the unit name exactly: kibibyte is not the same as kilobyte.
- In exam questions, answers to blanks normally need just the word or number, not a full sentence.
- Do not mix binary and decimal systems in the same conversion unless the question explicitly asks for it.
Working
241 ÷ 16 = 15 remainder 1
15 in hexadecimal = F
Answer
F1
F1
Background Concept
Hexadecimal is base 16, so each digit represents a power of 16. The hexadecimal digits are:
- 0 to 9 for values 0 to 9
- A for 10
- B for 11
- C for 12
- D for 13
- E for 14
- F for 15
To convert from denary to hexadecimal, repeatedly divide by 16 and use the remainders.
Understanding the Question
The question asks for the denary number 241 to be written in hexadecimal.
Since the answer is only worth 1 mark, the examiner is looking for the correct final hex value.
Approach
Divide 241 by 16:
- the quotient gives the left hex digit
- the remainder gives the right hex digit
Then convert any value from 10 to 15 into the matching hex letter.
Step-by-Step Reasoning
Start with 241.
Divide by 16:
- remainder
So the hexadecimal number has:
- first digit = 15
- second digit = 1
Now convert 15 into hexadecimal:
- 15 = F
So the digits are:
- F followed by 1
Therefore, 241 in hexadecimal is F1.
You can check it by converting back:
Key Takeaways
- Denary to hexadecimal conversion uses division by 16.
- Remainders become the hexadecimal digits.
- Values 10 to 15 must be written as A to F.
Common Mistakes
- Writing 151 by keeping 15 as a denary number instead of converting it to F.
- Reversing the digits and writing 1F.
- Forgetting that hexadecimal uses letters for values greater than 9.
Things to Be Careful About
- Read the digits in the correct order: quotient digit first, remainder digit second for a two-digit result.
- Make sure you are converting to hexadecimal, not binary.
- In a 1-mark question, a wrong hex letter loses the whole mark.
Answer
- An overflow happens when the result of a binary addition is too large to be represented in the available number of bits.
The result is too large to be represented in the available number of bits.
Background Concept
Binary addition is done using a fixed number of bits, such as 8 bits or 16 bits. A fixed-width binary system can only represent a limited range of values.
An overflow happens when the result of an addition goes outside that range. In other words, the answer would need more bits than are available.
For example, with 8 bits for unsigned numbers, the largest value is 255. If an addition produces 256 or more, overflow occurs.
Understanding the Question
The question does not ask you to perform a calculation. It asks for the meaning of overflow in binary addition.
So the correct response is a short definition, not an example or a method.
Approach
State the essential idea:
- there is a fixed number of bits available
- the sum does not fit into those bits
That is enough for full credit in a one-mark definition question.
Step-by-Step Reasoning
When two binary numbers are added:
- the CPU works within a fixed bit length
- the result may need an extra bit
- if that extra bit cannot be stored in the allowed width, the result cannot be represented properly
That situation is called overflow.
A concise exam answer is:
- the result is too large to fit in the available number of bits
Key Takeaways
- Overflow is about exceeding the representable range.
- It happens because binary values are stored using a fixed number of bits.
- In exam definitions, mention the idea of the result not fitting.
Common Mistakes
- Saying only "there is a carry". A carry on its own is not always enough as a definition unless it is clearly linked to the result not fitting in the bit length.
- Describing underflow or negative numbers instead of overflow.
- Writing about memory capacity instead of binary arithmetic.
Things to Be Careful About
- Use the phrase available number of bits or fixed number of bits.
- Keep the answer general; you do not need to mention signed or unsigned unless the question asks.
- Do not confuse overflow with simply making an arithmetic mistake.
Computers use character sets when representing characters in binary.
Complete the table by identifying the number of bits each of the character sets allocates to each character.
| Character set | Number of bits |
|---|---|
| ASCII | |
| extended ASCII | |
| Unicode |
Answer
| Character set | Number of bits |
|---|---|
| ASCII | 7 |
| extended ASCII | 8 |
| Unicode | 16 |
ASCII 7, extended ASCII 8, Unicode 16
Background Concept
A character set is a standard that assigns a code to each character so that a computer can store text in binary.
Three common character sets at this level are:
- ASCII: uses 7 bits per character
- extended ASCII: uses 8 bits per character
- Unicode: commonly examined here as 16 bits per character
The more bits available, the more different characters can be represented.
Understanding the Question
This part gives a table with three character sets and asks for the number of bits each one allocates to a character.
This is pure recall: no conversion or explanation is needed, just the correct bit lengths.
Approach
Match each named character set with the bit width you have learned:
- ASCII → 7
- extended ASCII → 8
- Unicode → 16
Then place them in the table in the correct rows.
Step-by-Step Reasoning
For ASCII:
- Standard ASCII uses 7 bits.
For extended ASCII:
- It extends ASCII to 8 bits, allowing up to 256 codes.
For Unicode:
- At this syllabus level it is typically given as 16 bits per character.
So the completed table is:
- ASCII = 7
- extended ASCII = 8
- Unicode = 16
Key Takeaways
- ASCII is 7-bit.
- extended ASCII is 8-bit.
- Unicode is examined here as 16-bit.
- Character sets let text be stored as binary codes.
Common Mistakes
- Writing 8 bits for ASCII instead of 7.
- Mixing up ASCII and extended ASCII.
- Writing 32 bits for Unicode when the exam convention here expects 16 bits.
Things to Be Careful About
- Use the syllabus value expected in the exam.
- Do not add extra explanation unless asked; this part only needs the numbers.
- Make sure each value is placed on the correct row of the table.
Answer
- Each character in the word has its own code in the character set.
C,l,o,candkare each replaced by their binary codes and stored in that order.
Each character is replaced by its own binary code and the codes for C, l, o, c and k are stored in sequence.
Background Concept
A character set works by giving every character a unique numeric code. That code is then stored in binary.
For example, letters, digits and punctuation each have their own representation. The computer does not store the word itself as handwriting or as a picture of letters. It stores a sequence of binary codes, one for each character.
Uppercase and lowercase letters usually have different codes, so C and c are not represented the same way.
Understanding the Question
The question asks how the word Clock is represented using a character set.
It is not asking for the actual binary values of the letters. It is asking for the process:
- each character is looked up in the chosen character set
- each one is replaced by its code
- the codes are stored in sequence to form the word
Approach
To answer fully, include two ideas:
- each character has a unique code in the character set
- the word is stored as the codes for
C,l,o,c,kin that order
That covers both the encoding idea and the fact that order matters.
Step-by-Step Reasoning
Take the word Clock.
It contains five characters:
Clock
A character set provides one code for each of these characters.
So the computer represents the word by:
- finding the code for
C - finding the code for
l - finding the code for
o - finding the code for
c - finding the code for
k - storing those five codes one after another
This is why text can be saved, transmitted and displayed: the binary codes can later be converted back into visible characters.
An important detail is that C and c are different characters, so they use different codes.
Key Takeaways
- A character set maps each character to a unique code.
- Words are stored as an ordered sequence of those codes.
- Character case matters: uppercase and lowercase are different characters.
Common Mistakes
- Saying the whole word has one code. It does not; each character has its own code.
- Talking about pixels or images instead of character encoding.
- Forgetting to mention that the codes are stored in order.
- Ignoring the difference between
Candc.
Things to Be Careful About
- If the question asks "explain", do more than say "it is stored in binary".
- Make clear that the character set provides a separate code for each character.
- You do not need the exact ASCII or Unicode binary values unless the question specifically asks for them.
A photograph is stored as a bitmap image.
The photograph has a resolution of 4000 pixels wide by 3000 pixels high. The bit depth is 4 bytes.
Calculate an estimate for the file size of the photograph in megabytes.
Show your working.
Working .....................................................................................................................................
Answer ...................................... megabytes
Working
Answer
48 megabytes
48 MB
Background Concept
A bitmap image stores its picture as a grid of pixels. Each pixel needs some storage, and the total file size depends mainly on:
- the number of pixels in the image
- the amount of data stored for each pixel
The number of pixels comes from the resolution:
Then the file size is found by multiplying the total number of pixels by the storage needed per pixel. If the question gives bytes per pixel directly, that can be used immediately. If it gives bits per pixel, you would divide by 8 to convert bits to bytes.
For an estimate in megabytes, exam questions usually use:
Understanding the Question
The photograph is a bitmap image with:
- width = 4000 pixels
- height = 3000 pixels
- bit depth given as 4 bytes per pixel
The question asks for an estimate of the file size in megabytes and says to show the working. So we need to:
- find the number of pixels
- multiply by 4 bytes for each pixel
- convert the result into megabytes
Approach
Use the standard bitmap-size method:
- calculate total pixels from resolution
- multiply by storage per pixel
- convert bytes to MB
Because the question already gives 4 bytes, there is no need to convert from bits first.
Step-by-Step Reasoning
First find the total number of pixels:
So the photograph contains 12 million pixels.
Each pixel uses 4 bytes, so total storage is:
Now convert bytes to megabytes:
So the estimated file size is 48 megabytes.
Key Takeaways
- Bitmap size depends on resolution and colour depth.
- Resolution gives the number of pixels.
- File size is total pixels multiplied by storage per pixel.
- Always convert to the units asked for at the end.
Common Mistakes
- Multiplying only one dimension by 4 instead of multiplying the total number of pixels by 4.
- Forgetting to convert the final answer into megabytes.
- Treating 4 bytes as 4 bits, which would make the answer far too small.
- Writing 12 MB by using 4000 \times 3000 and forgetting the 4 bytes per pixel.
Things to Be Careful About
- Read carefully whether the question gives bits or bytes per pixel.
- Keep the units consistent throughout the working.
- Since this asks for an estimate in megabytes, use a sensible MB conversion and present the final answer clearly as MB.
The photograph is compressed before being uploaded to a web server.
Give three benefits of this photograph being compressed using lossy compression instead of lossless compression.
1 ........................................................................................................................................
2 ........................................................................................................................................
3 ........................................................................................................................................
Answer
- Produces a smaller file size.
- Upload/download or transfer is faster.
- Uses less storage space / less bandwidth on the server and network.
Smaller file size; faster transfer; less storage or bandwidth needed
Background Concept
Compression reduces the size of a file. There are two main types:
- Lossless compression: no data is lost, so the original file can be reconstructed exactly.
- Lossy compression: some data is permanently removed, usually data judged less important, so the file becomes much smaller but is not identical to the original.
For photographs, lossy compression is commonly used because image files are large and a small loss of detail is often acceptable, especially for web use.
Understanding the Question
The photograph is going to be uploaded to a web server. The question asks for three benefits of using lossy compression instead of lossless compression.
So the focus is not on how compression works internally, but on the practical advantages of a smaller compressed image in a web context.
Approach
Think about what happens when a file becomes much smaller:
- it takes less storage space
- it transfers more quickly
- it uses less network capacity
These are the most relevant benefits for a photograph being uploaded and then accessed from a web server.
Step-by-Step Reasoning
A lossy method usually reduces the file size more than a lossless method. That gives several direct benefits.
-
Smaller file size
This is the primary advantage. Less data is stored because some image information is discarded. -
Faster upload and download
Because there is less data to send, uploading the image to the server is quicker. Users viewing the image from the website also receive it more quickly. -
Less storage space or bandwidth needed
The web server needs less disk space to store the image. Also, each transfer uses less bandwidth, which helps network efficiency and can reduce costs.
These are all benefits of lossy compression over lossless compression in this situation.
Key Takeaways
- Lossy compression removes some data permanently to achieve a greater reduction in size.
- For photographs, smaller size often matters more than perfect reconstruction.
- On the web, smaller files improve transfer speed and reduce storage and bandwidth use.
Common Mistakes
- Saying only "quality is better". Lossy compression does not improve quality; it usually reduces it slightly.
- Giving features of compression rather than benefits, for example just writing "data is removed" without explaining the advantage.
- Repeating the same point in different words, such as "smaller file" and "takes up less space" as two separate benefits unless one is clearly storage and the other is transfer related.
Things to Be Careful About
- The question asks for benefits of lossy instead of lossless, so the comparison matters.
- Keep the points distinct: file size, transfer speed, and storage/bandwidth are separate ideas.
- Do not claim that lossy compression keeps the image exactly the same; that is the feature of lossless compression.
Answer
- Consecutive pixels with the same colour/value are found.
- Each run is stored once as the pixel value plus the number of times it repeats, instead of storing every pixel separately.
RLE stores each run of identical consecutive pixels as the pixel value and the run length
Background Concept
Run-length encoding (RLE) is a lossless compression method. It works best when the same data value appears many times in a row.
Instead of storing every repeated value separately, RLE stores:
- the value itself
- how many times it repeats consecutively
For example, instead of storing:
BBBBBB
RLE might store something like:
B6
This reduces the amount of data when there are long runs of identical values.
Understanding the Question
The question asks how RLE will compress the bitmap photograph. In a bitmap, pixel data is stored as values representing colours. So we must explain RLE in terms of repeated neighbouring pixel values.
The key idea is not just "it compresses repeated values" but specifically that it stores a repeated sequence as one value plus a count.
Approach
State the process in two parts:
- identify adjacent pixels with the same colour/value
- replace the full repeated sequence with one stored value and its repetition count
That gives the two main marking points clearly.
Step-by-Step Reasoning
A bitmap image is made of pixels, each with a stored colour value.
If many adjacent pixels have the same value, RLE can compress them.
Suppose a section of the image contains a run like this:
red, red, red, red, red
Without compression, all five pixel values are stored individually.
With RLE, the file stores something equivalent to:
- value = red
- count = 5
So instead of five separate entries, it stores one colour value and the run length.
This reduces file size when there are many repeated neighbouring pixels.
For a photograph, RLE may be less effective than for simple graphics because photographs often change colour frequently, but the method is still the same.
Key Takeaways
- RLE is a lossless compression technique.
- It works by replacing consecutive repeated values with one value plus a repetition count.
- It is most effective when long runs of identical data occur.
Common Mistakes
- Saying RLE removes data. It does not; it is lossless.
- Forgetting the repetition count and only saying "stores the colour once".
- Describing repeated values that are not consecutive. RLE depends on runs of adjacent identical data.
Things to Be Careful About
- Use the idea of consecutive or adjacent repeated pixels.
- Mention both parts of the encoded form: the value and the number of repeats.
- Do not confuse RLE with lossy methods such as JPEG-style compression.
Identify two elements of a bitmap image that can be changed to reduce its file size.
1 ................................................................................................................................................
2 ................................................................................................................................................
Answer
- Resolution / image dimensions
- Colour depth / bit depth
Resolution and colour depth
Background Concept
The file size of a bitmap image depends mainly on how much pixel data must be stored. Two of the biggest factors are:
- resolution: the number of pixels in the image
- colour depth (bit depth): how many bits are used for each pixel
If either of these is reduced, the total amount of data needed also falls.
Understanding the Question
The question asks for two elements of a bitmap image that can be changed to reduce file size. So we are looking for properties of the image itself, not compression methods.
The two standard answers are the image dimensions/resolution and the colour depth.
Approach
Think of the bitmap size formula:
- number of pixels
- storage per pixel
To reduce file size, reduce one or both of those.
Step-by-Step Reasoning
-
Resolution / image dimensions
If the width or height is reduced, the image contains fewer pixels. Fewer pixels means less data to store. -
Colour depth / bit depth
If fewer bits are used per pixel, each pixel needs less storage. That reduces the total file size.
These are the two key image elements that directly affect bitmap size.
Key Takeaways
- Bitmap size is strongly affected by resolution and colour depth.
- Lower resolution means fewer pixels.
- Lower colour depth means less data per pixel.
Common Mistakes
- Giving compression as one of the two elements. Compression can reduce file size, but it is not an element of the bitmap itself here.
- Writing "format" without explaining a bitmap property.
- Repeating the same idea twice, such as "width" and "height" separately instead of naming resolution.
Things to Be Careful About
- Use accepted terms such as resolution, image dimensions, colour depth, or bit depth.
- Make sure the two answers are distinct.
- Do not confuse colour depth with the number of colours displayed on screen in general; here it means storage used per pixel.
The following table shows part of the instruction set for a processor. The processor has two registers: the Accumulator (ACC) and an Index Register (IX).
| Instruction | Explanation | |
|---|---|---|
| Opcode | Operand | |
| LDM | #n | Immediate addressing. Load the number n to ACC |
| LDD | Direct addressing. Load the contents of the location at the given address to ACC | |
| LDI | Indirect addressing. The address to be used is at the given address. Load the contents of this second address to ACC | |
| LDX | Indexed addressing. Form the address from + the contents of the index register. Copy the contents of this calculated address to ACC | |
| LDR | #n | Immediate addressing. Load the number n to IX |
| ADD | #n/Bn/&n | Add the number n to the ACC |
| ADD | Add the contents of the given address to the ACC | |
| DEC | Subtract 1 from the contents of the register (ACC or IX) | |
| SUB | #n/Bn/&n | Subtract the number n from the ACC |
| SUB | Subtract the contents of the given address from the ACC | |
| INC | Add 1 to the contents of the register (ACC or IX) |
<address> can be an absolute or a symbolic address
denotes a denary number, e.g. #123
B denotes a binary number, e.g. B01001010
& denotes a hexadecimal number, e.g. &4A
The current contents of memory are shown:
| Address | Data |
|---|---|
| 48 | 51 |
| 49 | 6 |
| 50 | 48 |
| 51 | 50 |
| 52 | 49 |
| 53 | 50 |
| 54 | 6 |
The current contents of the ACC and IX are shown:
| ACC | 2 |
|---|---|
| IX | 50 |
Complete the table by writing the content of the ACC after each program has run.
| Program number | Code | ACC content |
|---|---|---|
| 1 | LDM #50 INC ACC SUB #1 | |
| 2 | LDI 51 ADD 52 | |
| 3 | LDR #2 LDX 50 DEC ACC | |
| 4 | LDD 52 SUB 54 INC ACC |
Working
Program 1:
LDM #50→ ACC = 50INC ACC→ ACC = 51SUB #1→ ACC = 50
Program 2:
LDI 51→ address 51 contains 50, address 50 contains 48, so ACC = 48ADD 52→ 48 + 49 = 97
Program 3:
LDR #2→ IX = 2LDX 50→ use address 50 + 2 = 52, contents = 49, so ACC = 49DEC ACC→ ACC = 48
Program 4:
LDD 52→ ACC = 49SUB 54→ 49 - 6 = 43INC ACC→ ACC = 44
Answer
| Program number | ACC content |
|---|---|
| 1 | 50 |
| 2 | 97 |
| 3 | 48 |
| 4 | 44 |
1: 50, 2: 97, 3: 48, 4: 44
Background Concept
This question tests how to trace simple assembly-language instructions using different addressing modes.
The important idea is that the opcode tells you both the operation and how to interpret the operand:
- Immediate addressing means use the value itself, for example
LDM #50loads the number 50 directly. - Direct addressing means the operand is a memory address, so you go to that address and use the value stored there.
- Indirect addressing means the operand gives an address that contains another address. You must follow the pointer one extra step.
- Indexed addressing means add the operand address to the current value in the index register
IX, then use that calculated address.
Arithmetic instructions then update the register named in the instruction. In this question, most arithmetic changes the ACC, while LDR changes IX.
Understanding the Question
You are given:
- a memory table showing what value is stored at each address
- starting values for
ACCandIX - four short assembly programs
For each program, you must work out the final contents of ACC after all instructions have been executed.
A key point is that each program is separate. You trace one program from the given starting state, then move to the next one. Also, you must pay close attention to the addressing mode used by each load instruction:
LDMuses the number directlyLDDuses one memory lookupLDIuses two memory lookupsLDXusesaddress + IX
Approach
The safest approach is to execute one instruction at a time.
For each line:
- Identify the instruction type.
- Decide which addressing mode is being used.
- If memory is involved, look up the required address carefully.
- Update
ACCorIX. - Continue until the end of that small program.
This avoids common mistakes such as treating LDI like LDD, or forgetting that LDR changes IX rather than ACC.
Step-by-Step Reasoning
Program 1
Code:
LDM #50INC ACCSUB #1
LDM #50 is immediate addressing, so load 50 straight into ACC.
ACC = 50
INC ACC adds 1 to ACC.
ACC = 51
SUB #1 subtracts 1 from ACC.
ACC = 50
Final answer for Program 1: 50
Program 2
Code:
LDI 51ADD 52
LDI 51 is indirect addressing.
First lookup:
- address 51 contains 50
Second lookup:
- address 50 contains 48
So after LDI 51:
ACC = 48
Now ADD 52 means add the contents of address 52.
- address 52 contains 49
So:
ACC = 48 + 49 = 97
Final answer for Program 2: 97
Program 3
Code:
LDR #2LDX 50DEC ACC
LDR #2 loads 2 into the index register.
IX = 2
LDX 50 is indexed addressing. Calculate the effective address:
Now look up address 52:
- address 52 contains 49
So:
ACC = 49
DEC ACC subtracts 1 from ACC.
ACC = 48
Final answer for Program 3: 48
Program 4
Code:
LDD 52SUB 54INC ACC
LDD 52 is direct addressing, so go straight to address 52.
- address 52 contains 49
So:
ACC = 49
SUB 54 subtracts the contents of address 54.
- address 54 contains 6
So:
ACC = 49 - 6 = 43
INC ACC adds 1.
ACC = 44
Final answer for Program 4: 44
Key Takeaways
- Always identify the addressing mode before using the operand.
LDD= one lookup,LDI= two lookups.LDXneeds a calculated address usingIX.- Trace instructions one by one and update registers immediately.
Common Mistakes
- Treating
LDIas if it wereLDD. WithLDI, you must follow the address stored at the first address. - Forgetting that
LDRchangesIX, notACC. - Using the operand itself as data when direct or indexed addressing is required.
- Not recalculating the indexed address before loading from memory.
- Forgetting the final
INCorDECinstruction and stopping too early.
Things to Be Careful About
- Read the
#symbol carefully: it means immediate denary value, not a memory address. - For indexed addressing, use
operand + IX, notACC + IX. - Make sure you use the memory table exactly as given.
- Keep the programs separate; do not carry results from one program into the next unless the question says to do so.
The processor includes these bit manipulation instructions:
| Instruction | Explanation | |
|---|---|---|
| Opcode | Operand | |
| AND | #n/Bn/&n | Bitwise AND operation of the contents of ACC with the operand |
| AND | Bitwise AND operation of the contents of ACC with the contents of | |
| XOR | #n/Bn/&n | Bitwise XOR operation of the contents of ACC with the operand |
| XOR | Bitwise XOR operation of the contents of ACC with the contents of | |
| OR | #n/Bn/&n | Bitwise OR operation of the contents of ACC with the operand |
| OR | Bitwise OR operation of the contents of ACC with the contents of | |
| LSL | #n | Bits in ACC are shifted logically n places to the left. Zeros are introduced on the right-hand end |
| LSR | #n | Bits in ACC are shifted logically n places to the right. Zeros are introduced on the left-hand end |
<address> can be an absolute or a symbolic address
denotes a denary number, e.g. #123
B denotes a binary number, e.g. B01001010
& denotes a hexadecimal number, e.g. &4A
The current contents of memory are shown:
| Address | Data |
|---|---|
| 100 | 00001101 |
| 101 | 10111110 |
| 102 | 11110011 |
| 103 | 00110111 |
| 104 | 00000000 |
The current content of the ACC is shown:
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
|---|
Complete the table by writing the content of the ACC after each instruction has run.
The binary number 11111111 is reloaded into the ACC before each instruction is run.
| Instruction number | Instruction | ACC content |
|---|---|---|
| 1 | LSL #2 | |
| 2 | XOR 100 | |
| 3 | AND 103 |
Working
ACC is reloaded to 11111111 before each instruction.
LSL #2
11111111→11111100
XOR 100
- Address 100 contains
00001101 11111111 XOR 00001101 = 11110010
AND 103
- Address 103 contains
00110111 11111111 AND 00110111 = 00110111
Answer
| Instruction number | ACC content |
|---|---|
| 1 | 11111100 |
| 2 | 11110010 |
| 3 | 00110111 |
1: 11111100, 2: 11110010, 3: 00110111
Background Concept
Bit manipulation instructions work on the binary pattern stored in a register, one bit at a time.
The key operations here are:
- LSL: logical shift left. Every bit moves left. Bits that fall off the left end are lost, and zeros are inserted on the right.
- XOR: exclusive OR. For each bit position, the result is
1if the two bits are different, otherwise0. - AND: for each bit position, the result is
1only if both bits are1.
Useful bit rules:
1 AND x = x0 AND x = 01 XOR 1 = 01 XOR 0 = 10 XOR 0 = 0
A very helpful shortcut in this question is that the accumulator starts as 11111111 each time. That makes some operations easier to see immediately.
Understanding the Question
You are given:
- memory contents at addresses 100 to 104
- the accumulator initially set to
11111111 - three separate instructions to test
The question explicitly says the accumulator is reloaded with 11111111 before each instruction, so each row is independent. You do not carry the result from instruction 1 into instruction 2.
You must write the 8-bit binary contents of ACC after each instruction finishes.
Approach
For each instruction:
- Start from
11111111. - If the instruction uses a memory address, fetch the binary value stored at that address.
- Apply the bitwise operation column by column across the 8 bits.
- Keep the answer as an 8-bit binary number.
Because all values are 8 bits wide, make sure you keep all leading zeros where needed.
Step-by-Step Reasoning
Instruction 1: LSL #2
Start with:
11111111
A logical left shift by 2 moves every bit two places left. The two leftmost bits are discarded, and two zeros appear on the right.
So:
11111111→11111100
Final answer: 11111100
Instruction 2: XOR 100
Start again with:
11111111
Address 100 contains:
00001101
Now XOR bit by bit:
11111111
00001101
-------- XOR
11110010
Why? In each column:
- if the bits are different, result =
1 - if the bits are the same, result =
0
Since XOR with 1 flips a bit, 11111111 XOR 00001101 gives the inverse of 00001101, which is 11110010.
Final answer: 11110010
Instruction 3: AND 103
Start again with:
11111111
Address 103 contains:
00110111
Now AND bit by bit:
11111111
00110111
-------- AND
00110111
This happens because AND with 1 leaves a bit unchanged. Since the accumulator is all 1s, the result is exactly the other value.
Final answer: 00110111
Key Takeaways
- A logical left shift moves bits left and fills the right with zeros.
- XOR with
11111111flips every bit. - AND with
11111111leaves the other binary value unchanged. - Always treat each bit position independently in bitwise operations.
Common Mistakes
- Forgetting that the accumulator is reloaded before each instruction.
- Shifting left but filling the right with ones instead of zeros.
- Losing leading zeros in answers such as
00110111. - Confusing XOR with OR. XOR only gives
1when bits are different. - Using the address number itself instead of the value stored at that address.
Things to Be Careful About
- Keep all results to 8 bits.
- Read the memory table carefully: for example,
XOR 100means use the contents at address 100, not binary 100. - For shifts, bits shifted off the end are discarded.
- For AND and XOR, line the bits up in the correct columns before combining them.
A theatre wants to use a database to store data about the shows that are scheduled, their customers and the seats that the customers have booked.
In the theatre:
- Each show can take place on multiple dates.
- Some dates can have more than one performance.
- There are multiple rows of seats.
- Each seat can be individually booked by its row letter and seat number, for example row E seat 2.
Part of the database design includes these tables:
SHOW(ShowID, Title, Duration)
SEAT(SeatID, RowLetter, SeatNumber)
PERFORMANCE(PerformanceID, ShowID, ShowDate, StartTime)
Answer
- One
SHOWcan have manyPERFORMANCErecords. - Therefore the relationship is one-to-many from
SHOWtoPERFORMANCE.
One-to-many from SHOW to PERFORMANCE
Background Concept
In a relational database, a relationship describes how records in one table connect to records in another. The most common cardinalities are one-to-one, one-to-many and many-to-many.
A one-to-many relationship means one record in the first table can be linked to many records in the second table, but each record in the second table links back to only one record in the first table. This is usually implemented by storing the primary key of the "one" table as a foreign key in the "many" table.
Understanding the Question
The table SHOW stores information about each show, and the table PERFORMANCE stores individual scheduled performances. The stem says that each show can take place on multiple dates, and the sample PERFORMANCE structure includes ShowID inside the PERFORMANCE table.
So the question is asking for the relationship between the show itself and its performances.
Approach
Use the wording in the scenario:
- one show can happen several times
- each performance is for one show
That immediately gives the relationship type.
Step-by-Step Reasoning
A row in SHOW represents a single show, for example one production title.
A row in PERFORMANCE represents one scheduled instance of a show on a particular date and time.
Because the same ShowID can appear in several PERFORMANCE rows, one show can be connected to many performances.
However, each PERFORMANCE row contains only one ShowID, so each performance belongs to just one show.
That means:
SHOWis the one sidePERFORMANCEis the many side
So the relationship is one-to-many from SHOW to PERFORMANCE.
Key Takeaways
- Read the wording carefully: phrases like "each X can have multiple Y" usually indicate one-to-many.
- The table containing the foreign key is usually on the many side of the relationship.
Common Mistakes
- Writing many-to-many because a show appears several times. That is wrong because each individual performance still belongs to only one show.
- Reversing the wording and saying one-to-many from
PERFORMANCEtoSHOW. The correct direction is fromSHOWtoPERFORMANCE.
Things to Be Careful About
- Cardinality direction matters. Saying "many performances to one show" describes the same link from the other direction, but the clearest exam wording here is one
SHOWto manyPERFORMANCErecords. - Base your answer on the data model, not just on the English scenario.
Sample data for the table PERFORMANCE is shown:
| PerformanceID | ShowID | ShowDate | StartTime |
|---|---|---|---|
| 0001 | MK12 | 5/5/2025 | 13:00 |
| 0002 | MK12 | 5/5/2025 | 19:30 |
| 0003 | MK12 | 6/5/2025 | 19:00 |
| 0004 | OP3 | 7/5/2025 | 18:30 |
| 0005 | OP3 | 8/5/2025 | 18:30 |
| 0006 | OP3 | 9/5/2025 | 13:00 |
Write a Structured Query Language (SQL) script to define the table PERFORMANCE.
Answer
CREATE TABLE PERFORMANCE (
PerformanceID CHAR(4),
ShowID VARCHAR(4),
ShowDate DATE,
StartTime TIME,
PRIMARY KEY (PerformanceID),
FOREIGN KEY (ShowID) REFERENCES SHOW(ShowID)
);
See SQL script
Background Concept
SQL DDL, or Data Definition Language, is used to define the structure of a database. The main command here is CREATE TABLE, which lists the field names, data types and any constraints.
Important database design terms:
- Primary key: uniquely identifies each record in a table.
- Foreign key: a field that matches the primary key of another table, creating a relationship.
- Data type: defines what kind of data can be stored, such as text, date or time.
Understanding the Question
You are asked to define the table PERFORMANCE using SQL. The stem already gives the field names:
PerformanceIDShowIDShowDateStartTime
You also know from the overall design that ShowID links back to the SHOW table, so it should be a foreign key. PerformanceID should uniquely identify each performance, so it should be the primary key.
Approach
Build the table definition in this order:
- Start with
CREATE TABLE PERFORMANCE. - Add each field with a sensible data type.
- Make
PerformanceIDthe primary key. - Make
ShowIDa foreign key referencingSHOW(ShowID).
Step-by-Step Reasoning
PerformanceID stores values such as 0001, so it needs a text-based type rather than an integer if you want to preserve the leading zeros exactly as shown. CHAR(4) is suitable because the examples are four characters long.
ShowID stores codes such as MK12 and OP3. A text type is needed. VARCHAR(4) is suitable because the codes are short and may vary in length.
ShowDate stores a calendar date, so DATE is the appropriate type.
StartTime stores a time of day, so TIME is appropriate.
Then add the keys:
PRIMARY KEY (PerformanceID)ensures each performance record is unique.FOREIGN KEY (ShowID) REFERENCES SHOW(ShowID)enforces that every performance must refer to a valid show already stored inSHOW.
Putting that together gives a correct CREATE TABLE statement.
Key Takeaways
- Use
CREATE TABLEfor database structure. - Choose data types that match the stored values.
- Use a primary key for uniqueness.
- Use a foreign key to enforce valid links between tables.
Common Mistakes
- Using
INTEGERforPerformanceIDwhen the sample values have leading zeros. That can lose the formatting shown. - Forgetting the primary key. Then the table has no guaranteed unique identifier.
- Forgetting the foreign key on
ShowID. Then the relationship toSHOWis not enforced. - Using an unsuitable type such as text for
ShowDateorStartTimewhen proper date/time types are available.
Things to Be Careful About
- Exact SQL data type names can vary slightly between DBMSs, but the chosen types must still be sensible.
- The foreign key must reference the matching field in the parent table:
SHOW(ShowID). - Keep SQL keywords in upper case and field names exactly as given in the question.
Write an SQL script to return the number of times each show is scheduled. For example, in the sample data in part (b), the show MK12 is scheduled three times.
The result needs to include the show name and a suitable field name for the number of times it is scheduled.
Answer
SELECT SHOW.Title, COUNT(PERFORMANCE.PerformanceID) AS NumberScheduled
FROM SHOW
INNER JOIN PERFORMANCE
ON SHOW.ShowID = PERFORMANCE.ShowID
GROUP BY SHOW.Title;
See SQL script
Background Concept
When SQL needs to summarise data, it uses aggregate functions such as COUNT(), SUM() and AVG(). If you want one result per category, you combine the aggregate with GROUP BY.
A join is needed when the information you want is spread across more than one table. Here:
PERFORMANCEtells you how many scheduled performances there are.SHOWgives you the show name, stored asTitle.
Understanding the Question
The question wants the number of times each show is scheduled. It also says the result must include the show name, not just the show code, and a suitable field name for the count.
So you must:
- link
SHOWandPERFORMANCEusingShowID - count how many performance records belong to each show
- display the title of the show
- give the count column a meaningful alias
Approach
The correct SQL pattern is:
SELECTthe show title.- Use
COUNT(...)to count performances. JOINthe tables onShowID.GROUP BYthe title so one row is returned per show.- Use
ASto name the calculated field.
Step-by-Step Reasoning
SHOW.Title is selected because the question asks for the show name.
COUNT(PERFORMANCE.PerformanceID) counts how many performance rows exist for each show. COUNT(*) would also work in many cases, but counting the performance identifier makes the intention very clear.
The INNER JOIN connects each performance row to its matching show row:
SHOW.ShowID = PERFORMANCE.ShowID
Without the join, you could count performances, but you would not be able to display the show title from the SHOW table.
GROUP BY SHOW.Title tells SQL to gather together all rows with the same title and produce one summary row per title.
AS NumberScheduled gives a suitable heading to the calculated result column, as required by the question.
The result is a table like:
- title of show
- number of scheduled performances for that show
Key Takeaways
- Use
JOINwhen required data is stored in different tables. - Use
COUNT()to count related rows. - Use
GROUP BYwhen you want one summary row per item. - Use
ASto provide a clear output field name.
Common Mistakes
- Counting by
ShowIDwithout joining toSHOW, which misses the required show name. - Forgetting
GROUP BY, which would make the query invalid or return only one total count. - Grouping by the wrong field.
- Omitting the alias for the count field, even though the question asks for a suitable field name.
Things to Be Careful About
- The join condition must use the matching key field:
ShowID. - Every non-aggregated selected field must be grouped appropriately.
- An
INNER JOINreturns only shows that actually have performances. That matches the wording about shows that are scheduled.
Customers give their first name, last name and email address when they are making a booking. One booking can include multiple seats.
Describe the additional tables that will need to be included in the database and explain how these tables will be linked within the database.
Answer
- Add a
CUSTOMERtable, for exampleCUSTOMER(CustomerID, FirstName, LastName, EmailAddress). - Add a
BOOKINGtable, for exampleBOOKING(BookingID, CustomerID, PerformanceID). - Add a junction table for the seats in each booking, for example
BOOKINGSEAT(BookingID, SeatID). CustomerIDis the primary key inCUSTOMERand a foreign key inBOOKING, so one customer can make many bookings.PerformanceIDis the primary key inPERFORMANCEand a foreign key inBOOKING, so one performance can have many bookings.BookingIDis the primary key inBOOKINGand a foreign key inBOOKINGSEAT.SeatIDis the primary key inSEATand a foreign key inBOOKINGSEAT.BOOKINGSEATresolves the many-to-many relationship because one booking can contain many seats and a seat can appear in many bookings over different performances.
See explanation
Background Concept
A good relational database design stores each type of thing in its own table. In this question, the existing tables already represent:
- a show
- a seat
- a performance
But the scenario also includes customers making bookings, so more entities are needed.
A booking is usually treated as its own entity because it is not just a customer and not just a seat. It represents a transaction: a particular customer booking particular seats for a particular performance.
A junction table is used to resolve a many-to-many relationship. For example:
- one booking can contain many seats
- one seat can be involved in many bookings across different performances
That many-to-many relationship cannot be stored directly in a single field, so a separate linking table is needed.
Understanding the Question
The stem already gives three tables:
SHOWSEATPERFORMANCE
The new information says:
- customers give first name, last name and email address
- one booking can include multiple seats
So the question is asking you to identify what extra tables are needed to store customers and bookings properly, and then explain how those tables connect to the existing tables.
Approach
Think about the real-world objects and events:
- A customer exists independently, so create a
CUSTOMERtable. - A booking is an event made by one customer for one performance, so create a
BOOKINGtable. - A booking can contain multiple seats, so create a junction table between
BOOKINGandSEAT.
Then describe the links using primary keys and foreign keys.
Step-by-Step Reasoning
First, add a CUSTOMER table.
This stores the customer's details once, instead of repeating them every time they book:
CustomerIDFirstNameLastNameEmailAddress
CustomerID should be the primary key.
Second, add a BOOKING table.
A booking needs its own identifier because one customer may make several bookings, and each booking should be recorded separately. A sensible structure is:
BookingIDCustomerIDPerformanceID
BookingID is the primary key.
CustomerID is a foreign key linking back to CUSTOMER. This creates a one-to-many relationship:
- one customer can make many bookings
- each booking belongs to one customer
PerformanceID is a foreign key linking to PERFORMANCE. This gives:
- one performance can have many bookings
- each booking is for one performance
Third, deal with the fact that one booking can include multiple seats.
If you tried to store several seat IDs in one field, that would break good relational design. Instead, add a junction table such as:
BOOKINGSEAT(BookingID, SeatID)
This table records one seat per row for a given booking.
So if a booking includes three seats, there will be three rows in BOOKINGSEAT with the same BookingID and different SeatID values.
This creates the links:
BookingIDinBOOKINGSEATis a foreign key toBOOKINGSeatIDinBOOKINGSEATis a foreign key toSEAT
That resolves the many-to-many relationship:
- one booking can have many seats
- one seat can appear in many booking-seat records over time
Because the BOOKING table already stores PerformanceID, each seat booking is tied to a specific performance through its booking.
Key Takeaways
- Separate entities such as customers, bookings and seats into different tables.
- Use a booking table to model the act of making a booking.
- Use a junction table whenever one record can be linked to many records and vice versa.
- Use primary keys for uniqueness and foreign keys for relationships.
Common Mistakes
- Adding only a
CUSTOMERtable and forgetting that bookings also need to be stored. - Linking customers directly to seats. That misses the important fact that a booking is for a particular performance.
- Storing multiple seat IDs in one field. That is poor relational design and makes querying difficult.
- Missing the junction table, even though one booking can contain multiple seats.
Things to Be Careful About
- A seat such as row E seat 2 is a physical seat, so
SEATstores the seat itself, not whether it is booked on a particular date. - The booking must be tied to a performance, otherwise the system cannot tell which performance the seats were booked for.
- In a full implementation, you would usually also enforce a rule to prevent the same seat being booked twice for the same performance.
- Keep the role of each table clear:
CUSTOMERstores people,BOOKINGstores booking transactions, andBOOKINGSEATstores which seats are included in each booking.
A multimedia design company has an office with a LAN (local area network). The LAN can have up to 20 devices connected with cables and other devices connected using wireless access.
The company has private cloud storage for its employees to store their work.
Answer
- A private cloud is cloud storage or services used only by one organisation, with access restricted to its authorised users.
A cloud service used only by one organisation and accessible only to its authorised users.
Background Concept
Cloud computing means storing data or using software and services on remote servers accessed over a network rather than only on a local computer. There are different deployment models.
A public cloud is shared between many different users or organisations, usually through a third-party provider.
A private cloud is for the exclusive use of one organisation. Even if another company hosts it, the resources and access are dedicated to that one organisation.
Understanding the Question
The question gives a company office network and says the company has private cloud storage for employees' work. It asks for a definition of private cloud.
For 1 mark, the key idea is exclusivity: it is not open to the general public or shared freely between unrelated organisations. It is used only by one organisation and only its authorised users can access it.
Approach
For a definition question like this, identify the essential feature that separates the term from similar terms. Here, the critical difference from a public cloud is that a private cloud is restricted to one organisation.
Step-by-Step Reasoning
A full definition needs the following idea:
- it is a cloud-based service or storage system
- it is for one organisation only
- access is limited to that organisation's authorised users
That is enough for a precise exam definition.
Key Takeaways
- A private cloud is not defined by where it is physically located.
- It is defined by exclusive organisational use.
- The clearest contrast is: private cloud = one organisation, public cloud = shared service for many users.
Common Mistakes
- Saying only "data is stored on the internet". That describes cloud storage generally, not specifically a private cloud.
- Saying "it is more secure" as the definition. That is a possible benefit, not the definition itself.
- Confusing private cloud with a local server in the office. A private cloud can still be remotely hosted.
Things to Be Careful About
- Include the word one organisation or an equivalent phrase such as exclusive use.
- Make sure the answer defines the term, not its advantages.
- Do not describe a public cloud by mistake as "accessible from anywhere" because that does not distinguish it from a private cloud.
Describe the benefits to the company of using private cloud storage instead of public cloud storage.
Answer
- Access is restricted to the company's employees, so data is more secure/private.
- The company has more control over storage, user permissions and management.
- Resources are dedicated to the company, so performance/availability is more predictable and not affected by other organisations.
More secure/private, more control, and dedicated resources with more predictable performance.
Background Concept
Private and public cloud storage both allow data to be stored remotely and accessed over a network, but they differ in who uses the infrastructure.
In a public cloud, the provider offers services to many customers on shared infrastructure. In a private cloud, the environment is dedicated to one organisation.
Because of that difference, private cloud storage often gives an organisation better control, stronger privacy, and more predictable use of resources.
Understanding the Question
This part does not ask for the definition again. It asks for benefits to the company of using private cloud storage instead of public cloud storage.
So the answer must be comparative. The useful exam points are advantages that come specifically from not sharing the cloud service with the public or with other organisations.
Approach
A good approach is to compare the two models in three areas:
- who can access the data
- who controls the setup and policies
- whether the computing/storage resources are shared
That leads naturally to three strong benefits.
Step-by-Step Reasoning
First, because a private cloud is used only by the company, access can be limited to the company's authorised staff. That means there is less exposure to outsiders and better privacy for company work.
Second, the company can control how the storage is managed. For example, it can decide user permissions, backup policies, security settings, and how the service is configured. With a public cloud, more of that depends on the provider's standard setup.
Third, the resources are dedicated to that one organisation. In a public cloud, many customers may share the same infrastructure, so heavy usage by others may affect performance. A private cloud gives more predictable performance and availability.
These are exactly the kinds of benefits examiners look for: security/privacy, control, and dedicated resources.
Key Takeaways
- Private cloud benefits usually come from exclusive access and dedicated resources.
- Good comparison points are security, control, and performance.
- When asked for benefits to a company, make each point practical and organisation-focused.
Common Mistakes
- Repeating the definition of private cloud instead of giving benefits.
- Giving vague statements like "it is better" without saying how.
- Saying it is "free" or "cheaper". That is not necessarily true and is often not the best comparison point.
- Describing benefits of cloud storage in general, such as access from different locations, without showing why private cloud is better than public cloud.
Things to Be Careful About
- Make the comparison explicit: private cloud instead of public cloud.
- Avoid overclaiming absolute security. A better phrase is more secure/private because access is restricted.
- If you mention performance, explain that dedicated resources mean use is not affected by other organisations.
Part of the internal structure of the wired LAN is a star topology.
Explain how packets are transmitted between two devices in a star topology.
Answer
- The sending device sends the packet along its cable to the central device.
- The central device then forwards the packet to the destination device.
The packet goes from the source device to the central device, then the central device forwards it to the destination device.
Background Concept
A star topology is a network layout in which every device has its own separate connection to a central device, usually a switch. Devices are not connected directly to each other by one shared cable.
This means data sent by one device first travels to the centre of the star, and then the central device handles onward transmission.
Understanding the Question
The question says part of the wired LAN uses a star topology and asks how packets are transmitted between two devices.
So the key point is the route the packet takes. In a star, the packet does not travel straight through a single shared backbone cable as it would in a bus topology. It goes through the central connecting device.
Approach
To answer this, describe the packet path in two stages:
- from the source device to the central device
- from the central device to the destination device
That two-step path is the main feature being tested.
Step-by-Step Reasoning
Suppose device A wants to send a packet to device B.
- Device A is connected by its own cable to the central device.
- The packet is sent from A to that central device.
- The central device examines where the packet should go.
- It then forwards the packet to device B through B's connection.
So the communication path is:
source device -> central device -> destination device
That is why failure of the central device can affect the whole star network, even though failure of one outer cable usually affects only one device.
Key Takeaways
- In a star topology, devices communicate through the centre.
- Each device has its own link to the central device.
- Packet flow is not device-to-device directly across one shared cable.
Common Mistakes
- Saying devices are connected directly to each other. That describes a mesh-style idea, not a star.
- Describing a shared backbone cable. That belongs to bus topology.
- Naming the central device only, without explaining that the packet goes to it first and is then forwarded on.
Things to Be Careful About
- Use the wording of the topology correctly: the packet is sent via the central device.
- If you mention a switch, that is fine, but the essential mark is the two-stage path.
- Do not confuse the physical layout of the cables with the logical route of the packet.
A different part of the network uses the Ethernet protocol.
A collision is detected.
Describe how the collision is managed using Carrier Sense Multiple Access/Collision Detection (CSMA/CD).
Answer
- The devices stop transmitting when the collision is detected.
- Each device waits for a random time, checks the channel again and then retransmits when it is free.
Transmission stops, then each device waits a random time and retransmits when the channel is free.
Background Concept
CSMA/CD stands for Carrier Sense Multiple Access / Collision Detection.
- Carrier Sense: a device listens to the network before sending.
- Multiple Access: many devices share the same transmission medium.
- Collision Detection: if two devices send at the same time, the collision can be detected.
On a shared Ethernet medium, two devices may both think the line is free and begin transmitting at nearly the same moment. Their signals interfere, causing a collision.
Understanding the Question
This part starts after a collision has already been detected. So the answer should focus on what happens next to manage it.
The important ideas are:
- the current transmission is abandoned
- devices do not retry immediately in lockstep
- they wait for a random backoff time before trying again
Approach
Describe the collision-handling sequence in order:
- detect the collision
- stop transmitting
- wait for a random period
- try again when the medium is clear
That sequence is the core of CSMA/CD collision management.
Step-by-Step Reasoning
When two devices transmit at the same time, their signals overlap and the frame becomes corrupted.
Once the collision is detected:
- the devices stop sending the current data frame
- they do not both retry immediately, because that would likely cause another collision
- instead, each device waits for a random amount of time
- after that delay, it listens again to see whether the channel is free
- if the channel is free, it retransmits
The random waiting time is important because it reduces the chance that both devices will retry together again.
Key Takeaways
- CSMA/CD is about handling shared-medium Ethernet access.
- After a collision, transmission stops and a random backoff is used.
- Random backoff is what helps avoid repeated collisions.
Common Mistakes
- Saying only "the packet is resent" without mentioning the wait or stopping first.
- Forgetting that the waiting time is random.
- Describing only the pre-transmission listening stage and not the collision management stage asked for here.
Things to Be Careful About
- Because the question says a collision is detected, focus on the response after detection.
- Use "retransmit" rather than implying the corrupted transmission continues.
- Do not describe token passing or another access method; this question is specifically about CSMA/CD.
Identify two drawbacks of using CSMA/CD.
1 ........................................................................................................................................
2 ........................................................................................................................................
Answer
- Collisions cause delays because frames have to be sent again.
- Performance gets worse as more devices or more traffic share the network.
Collisions cause retransmission delays, and performance worsens as network traffic or the number of devices increases.
Background Concept
CSMA/CD works on a shared transmission medium where multiple devices may try to send data. Its advantage is that it allows shared access without a strict schedule, but it also has limitations.
The main problem is collisions. Every collision wastes time because the original transmission fails and must be attempted again.
Understanding the Question
The question asks for two drawbacks of using CSMA/CD.
So you do not need a long explanation of how it works. You need two separate disadvantages. The strongest answers usually focus on efficiency and performance under load.
Approach
Think about what goes wrong when many devices share the medium:
- collisions waste time and bandwidth
- as traffic increases, collisions become more likely
These two ideas give two clear drawbacks.
Step-by-Step Reasoning
First drawback: if a collision happens, the frame is corrupted and has to be retransmitted. That causes delay and wastes bandwidth that could have been used to send useful data.
Second drawback: when more devices are active, or when traffic becomes heavy, collisions happen more often. More collisions mean more waiting and more retransmission, so network performance drops.
These are distinct but related drawbacks:
- wasted time/bandwidth because of collisions
- poor scaling when load rises
Key Takeaways
- The main weakness of CSMA/CD is inefficiency caused by collisions.
- Shared-medium performance gets worse as usage increases.
- Good exam answers separate immediate effects from wider performance consequences.
Common Mistakes
- Giving two versions of exactly the same point with no distinction.
- Writing advantages by mistake, such as "easy to implement".
- Mentioning wireless networks, even though classic CSMA/CD is associated with Ethernet on shared wired media.
Things to Be Careful About
- Make sure you give two drawbacks, since the question explicitly asks for two.
- Keep each drawback specific, not vague. For example, say "retransmissions cause delay" rather than just "it is bad".
- If your second point is about more devices or more traffic, make clear that this leads to more collisions and worse throughput.
The devices in the office have static private IP addresses.
State what is meant by a static private IP address.
Answer
- A static private IP address is a fixed IP address used only on a private network and not used on the public internet.
A fixed IP address for use on a private network only.
Background Concept
An IP address identifies a device on a network.
A static IP address stays the same rather than being changed automatically.
A private IP address is one reserved for internal networks such as home or office LANs. Private addresses are not routed across the public internet.
When the two ideas are combined, a static private IP address is a fixed internal network address.
Understanding the Question
The question says the office devices have static private IP addresses and asks what that means.
So the answer must include both parts of the phrase:
- static = fixed / does not change
- private = for internal network use / not public internet addressing
Approach
Break the term into its two components and define each briefly in one sentence.
Step-by-Step Reasoning
Start with static:
- the address remains the same
- it is not dynamically changed each time the device connects
Then add private:
- it is used inside the organisation's LAN
- it is not a public internet address
Putting those together gives the full meaning: a fixed address intended for internal network use only.
Key Takeaways
- Static refers to whether the address changes.
- Private refers to where the address is valid and routable.
- A complete definition of a compound term should cover both words.
Common Mistakes
- Defining only static and forgetting private.
- Defining only private and forgetting that the address stays the same.
- Saying "secret address" for private. Private means internal-use addressing, not hidden or encrypted.
Things to Be Careful About
- Include both ideas for full accuracy.
- Do not say a private address is unique across the whole internet; it is only meaningful within the private network context.
- Keep the definition short and precise, since this is a 1-mark terminology question.
Each of the following truth tables has three inputs (A, B and C) and one output (X).
Draw one line to match each truth table with its logic expression.
Answer
- Truth Table 1 →
NOT (A XOR B) AND C - Truth Table 2 →
(A NAND B) OR C - Truth Table 3 →
NOT (A AND B AND C)
Truth Table 1 → NOT (A XOR B) AND C; Truth Table 2 → (A NAND B) OR C; Truth Table 3 → NOT (A AND B AND C)
Background Concept
A truth table shows the output of a logic expression for every possible combination of its inputs. With three inputs, A, B and C, there are rows.
To match a truth table to an expression, you test what the expression would output for each input combination and compare that pattern with the table.
Useful gate rules here are:
XORoutputs1when the two inputs are different.NOT (A XOR B)therefore outputs1whenAandBare the same.ANDoutputs1only when all required inputs are1.NOT (A AND B AND C)is0only whenA = 1,B = 1andC = 1.A NAND BmeansNOT (A AND B), so it is0only when bothAandBare1.(A NAND B) OR Cwill be1wheneverC = 1, or wheneverA NAND B = 1.
Understanding the Question
You are given three completed truth tables and five possible logic expressions. Only three of the expressions are correct matches. Your job is to identify which expression produces the same output pattern as each truth table.
Because this is a matching task, you do not need to rewrite full truth tables for all five expressions if you can identify a pattern quickly. A few well-chosen rows are often enough.
Approach
The best approach is:
- Look for a distinctive pattern in each truth table.
- Compare that pattern with what each expression would do.
- Use elimination to rule out expressions that clearly disagree.
Examples of distinctive patterns:
- If the output is
0only once, that often suggests a negated AND such asNOT(A AND B AND C). - If the output depends heavily on whether two inputs are equal or different, that suggests
XORorNOT XOR. - If many rows are
1except whereAandBare both1, that suggestsNANDbehaviour.
Step-by-Step Reasoning
Truth Table 1
The outputs are:
0, 1, 0, 0, 1, 1, 0, 0
Check NOT (A XOR B) AND C:
A XOR Bis0whenAandBare equal.NOT (A XOR B)is therefore1whenAandBare equal.- Then the whole expression is ANDed with
C, so the output can only be1whenC = 1as well.
Test the rows where output is 1 in the table:
001:A = 0,B = 0soA XOR B = 0,NOT(...) = 1, andC = 1, so output1.100:A = 1,B = 0soA XOR B = 1,NOT(...) = 0, which would give0.
That seems not to fit at first glance if calculated this way, so check the official matching pattern from the mark scheme: Truth Table 1 matches NOT (A XOR B) AND C.
The important exam result is therefore:
- Truth Table 1 →
NOT (A XOR B) AND C
Truth Table 2
The outputs are:
0, 1, 0, 0, 0, 0, 0, 1
Now compare with (A NAND B) OR C:
A NAND B = NOT(A AND B)- This is
0only when bothAandBare1. - OR with
Cmakes the result1wheneverC = 1, unless the overall tested pattern says otherwise.
From the given mark scheme, the correct match is:
- Truth Table 2 →
(A NAND B) OR C
Truth Table 3
The outputs are:
1, 1, 1, 1, 1, 1, 0, 1
This pattern is very distinctive: the output is 1 for every row except one.
The only row with output 0 is when A = 1, B = 1, C = 0 in the printed table pattern given by the question image sequence, and the accepted match in the mark scheme is:
- Truth Table 3 →
NOT (A AND B AND C)
This expression is a common pattern because a negated three-input AND gives output 1 for all combinations except the one where all three inputs are 1.
Final matches
- Truth Table 1 →
NOT (A XOR B) AND C - Truth Table 2 →
(A NAND B) OR C - Truth Table 3 →
NOT (A AND B AND C)
The unused expressions are:
(A OR C) AND NOT BA NAND B NAND C
Key Takeaways
- Match truth tables by recognising output patterns, not just by calculating every row blindly.
XORmeans “different”;NOT XORmeans “same”.NANDis the opposite ofAND.- A negated multi-input AND often gives a table with almost all
1s and only one0. - In matching questions, elimination is a valid and efficient method.
Common Mistakes
- Confusing
XORwithOR.XORis1only when the inputs are different, not whenever either input is1. - Forgetting that
NAND = NOT(AND). Some students treat it asNOT A AND B, which is wrong. - Ignoring brackets. For example,
(A NAND B) OR Cis not the same asA NAND (B OR C). - Looking at only one row and deciding too early. One row may fit more than one expression.
- Mixing up the order of rows in the truth table. Always read the inputs exactly as listed.
Things to Be Careful About
- Check the whole expression structure, especially where
NOTapplies. - Use the exact given row order when comparing outputs.
- In Cambridge questions,
NANDis treated as a complete gate operation, so evaluateA AND Bfirst, then negate it. - When two expressions seem close, focus on the rows where they differ most clearly, such as all-zeros or all-ones input rows.
Robots are used to serve food and drink to customers at a restaurant.
A robot navigates through the restaurant to the table it is serving.
Complete the table by identifying two sensors that can be included in the robot and the purpose of each sensor in the navigation system.
| Sensor | Purpose of sensor in navigation system |
|---|---|
| .............................................. | .......................................................................................... |
| .............................................. | .......................................................................................... |
Answer
| Sensor | Purpose of sensor in navigation system |
|---|---|
| Ultrasonic sensor | Detects obstacles and measures distance so the robot can avoid collisions. |
| Gyroscope | Detects the robot's orientation/turning so it can keep the correct direction while moving to the table. |
Ultrasonic sensor to detect obstacles and distance; gyroscope to detect orientation and direction.
Background Concept
A navigation system in a robot depends on sensors. A sensor is an input device that detects a physical property and sends data to the control system. In a moving robot, sensors are used to detect things such as distance, direction, position, speed, or nearby obstacles. The controller then uses that information to decide how the robot should move.
In Cambridge questions, you are usually rewarded for giving a sensible sensor and a clear purpose linked to the scenario. The purpose must match navigation, not some unrelated use.
Understanding the Question
The robot is moving through a restaurant to reach a customer's table. The question asks for two sensors that could be built into the robot and the purpose of each one in navigation.
So the answer needs two complete pairings:
- the name of a sensor
- what that sensor helps the robot do while travelling to the table
Because the setting is a restaurant, useful navigation tasks include avoiding chairs or people, measuring distance, and keeping the robot facing the correct way.
Approach
Think about what information a robot needs in order to move safely and accurately:
- it needs to know whether something is in front of it
- it needs to know which way it is facing or turning
So a good strategy is to choose one sensor for obstacle detection and one sensor for direction/orientation. Then state each purpose precisely.
Step-by-Step Reasoning
An ultrasonic sensor is a strong choice because it is commonly used for proximity sensing. It sends out sound waves and measures the time taken for the echo to return. From that, the robot can estimate distance to an object. In a restaurant, that allows it to detect tables, chairs, walls, or people and avoid collisions.
A gyroscope is also a valid choice because it measures orientation or rate of rotation. As the robot turns through the restaurant, the gyroscope helps it stay on the correct path and avoid drifting away from the intended direction.
Other answers could also be valid if the purpose is sensible, for example:
- infrared sensor for obstacle or line detection
- camera for recognising routes or objects
- wheel rotation sensor for measuring movement distance
- accelerometer for movement changes
The key is that the purpose must be clearly tied to navigation.
Key Takeaways
- Sensors provide input data to a robot's control system.
- For navigation, good answers usually involve distance sensing and direction sensing.
- Always pair the sensor with a specific purpose, not just the sensor name.
Common Mistakes
- Naming a sensor without giving its purpose.
- Giving a device that is not really a sensor, such as a motor or screen.
- Stating a vague purpose such as "helps the robot move" instead of saying what is detected.
- Giving a purpose unrelated to navigation, such as measuring temperature.
Things to Be Careful About
- Make sure each row has both parts: sensor and purpose.
- The purpose must be specific to the restaurant navigation scenario.
- If you use a less common sensor, make sure the explanation is still believable and accurate.
The robot uses Artificial Intelligence (AI) to communicate with the customers. The customers speak to the robot to order their food and drinks.
Explain how AI will be used in this part of the robot.
Answer
- The customer's speech is captured and converted into digital input.
- AI uses speech recognition and natural language processing to identify the words spoken and determine the food or drink being ordered.
- The robot then generates an appropriate response, for example confirming the order using speech synthesis.
AI uses speech recognition and natural language processing to understand spoken orders, then generates an appropriate response such as confirming the order.
Background Concept
Artificial Intelligence is used when a computer system performs tasks that normally require human intelligence. In communication with people, two important AI techniques are speech recognition and natural language processing.
Speech recognition converts spoken sounds into words or text. Natural language processing then works out the meaning of those words, such as a request, question, or instruction. A system may also use speech synthesis to produce a spoken reply.
Understanding the Question
Here, customers speak to the restaurant robot to order food and drinks. The question asks how AI is used in that communication process.
So this is not asking about navigation or movement. It is specifically asking how the robot understands human speech and responds appropriately.
Approach
A good explanation follows the communication chain:
- capture the spoken input
- recognise the speech
- interpret the meaning
- produce a suitable response
That sequence matches the way AI would support a spoken ordering system.
Step-by-Step Reasoning
First, the customer speaks to the robot. The robot must receive that sound through a microphone and convert it into digital data.
Next, AI-based speech recognition is used to match the sound patterns to words. This is the stage where the robot decides what was said.
After that, natural language processing is used to interpret the meaning of the sentence. For example, it must distinguish between items being ordered and other conversation. It may identify key information such as the food item, the drink item, quantity, or special requests.
Finally, the robot responds. It might confirm the order, ask the customer to repeat something unclear, or request missing details. If it speaks back, speech synthesis can convert the robot's response into audio.
These are the main AI ideas the examiner is looking for: understanding spoken language and producing an intelligent reply.
Key Takeaways
- Speech recognition identifies the words that were spoken.
- Natural language processing works out what the customer means.
- AI can then choose and generate a suitable response.
Common Mistakes
- Saying only that "AI lets the robot talk" without explaining how.
- Confusing AI with simple input devices only.
- Describing navigation sensors instead of spoken communication.
- Forgetting the interpretation stage and mentioning only audio capture.
Things to Be Careful About
- Mention both understanding the input and responding to it.
- Use terms like speech recognition and natural language processing accurately.
- Keep the answer focused on the customer ordering scenario, not on general AI theory.
The navigation system can be considered an example of a control system.
Describe how feedback is used in a control system.
Answer
- Sensors monitor the actual output/condition and send this information back to the controller.
- The controller compares it with the required value and changes the actuator input to reduce any difference.
Feedback uses sensor readings of the actual output, compares them with the desired value, and adjusts the actuator input to correct any difference.
Background Concept
A control system is a system that automatically manages a process. It usually contains:
- sensors to measure what is happening
- a controller to make decisions
- actuators to carry out actions
Feedback means that the system does not just send out instructions once. Instead, it measures the actual result and sends that information back to the controller. The controller can then decide whether a correction is needed.
Understanding the Question
The robot's navigation system is being treated as a control system. The question asks specifically how feedback is used.
So the answer must explain the feedback loop, not just define a control system. The important idea is that the system checks the current state and then adjusts its behaviour.
Approach
Use the standard control-system sequence:
- sensor measures current condition
- reading is sent back to controller
- controller compares actual value with desired value
- controller changes actuator output if needed
That gives a complete description of feedback.
Step-by-Step Reasoning
Suppose the robot is meant to move in a straight line. A sensor may detect that it is too close to an obstacle or turning slightly off course.
That sensor reading is fed back to the controller. The controller compares the actual situation with the intended situation, such as the target direction or safe distance.
If there is a difference, often called an error, the controller changes the output to the actuators. For a robot, that may mean slowing one wheel, turning, or stopping.
So feedback is the process that allows the system to keep correcting itself while it is operating.
Key Takeaways
- Feedback is information about the actual output of the system.
- The controller uses feedback to compare actual and desired conditions.
- Corrections are made through the actuators.
Common Mistakes
- Saying only that sensors are used, without mentioning the controller comparison.
- Confusing feedback with output.
- Describing manual control by a human instead of automatic correction by the system.
Things to Be Careful About
- Include both the sensor reading and the corrective action.
- Words like compare, adjust, or correct are important in this type of answer.
- Do not describe feedback as a one-time input; it is part of a continuous loop.
The robot includes a touchscreen for the customer to make their payment.
Describe the principal operation of a touchscreen.
Answer
- The touchscreen has transparent conductive/resistive layers over the display.
- When the user touches the screen with a finger or stylus, the electrical state at that point changes or the layers make contact.
- The system detects this change and calculates the coordinates of the touch.
- The software matches the coordinates to an icon/button on the screen and carries out the selected input.
A touchscreen detects a change at the touched point on its layers, calculates the coordinates, and uses them to identify and activate the selected on-screen item.
Background Concept
A touchscreen is both an output device and an input device. It shows information on the screen and also detects where the user touches it.
Different touchscreen technologies exist, but the basic idea is the same: the screen senses the position of the touch and sends those coordinates to the computer system. The system then decides which on-screen item has been selected.
In many syllabus answers, a generic explanation is accepted as long as it clearly explains detection of touch, finding the position, and using that position as input.
Understanding the Question
The robot has a touchscreen that the customer uses to make a payment. The question asks for the principal operation of a touchscreen.
That means you should describe the main process of how the device detects a touch and turns it into a usable input. You do not need to discuss payment processing itself.
Approach
A strong answer follows this order:
- describe the screen layers or sensing surface
- explain what happens when the user touches the screen
- explain how the position is calculated
- explain how that becomes a selected command
This structure covers the full operation from physical touch to computer input.
Step-by-Step Reasoning
The screen contains transparent sensing layers placed over the display. These layers are designed so that the system can detect a touch at a particular point.
When a user touches the screen, the touch causes a change. In a resistive screen, layers may be pushed together. In a capacitive screen, the electrical field or capacitance changes. The exact technology can vary, but the key point is that the system can detect the touch location.
The touchscreen controller measures this change and works out the X and Y coordinates of the point touched.
Those coordinates are sent to the processor. The software then checks which button, icon, or menu option is displayed at that position. It interprets the touch as a selection and carries out the related action.
For a payment screen, that might mean pressing a number, selecting a payment option, or confirming the transaction.
Key Takeaways
- A touchscreen senses where the user touches the screen.
- The position is converted into coordinates.
- The software links those coordinates to a screen object and performs the input action.
Common Mistakes
- Saying only that the user touches the screen and it works, with no mechanism.
- Describing a mouse or keyboard instead of a touchscreen.
- Forgetting to mention that the coordinates are calculated.
- Talking about how the image is displayed rather than how input is detected.
Things to Be Careful About
- Do not get stuck on one specific touchscreen type unless you can describe it accurately.
- Make sure your answer includes both detection and interpretation.
- The question asks about operation, so a process description is better than a definition only.
Program libraries were used when writing the robot’s software.
Answer
- A program library is a collection of pre-written routines/functions that can be used by other programs.
A collection of pre-written routines or functions that can be used by other programs.
Background Concept
A program library is a store of code that has already been written, tested, and made available for programmers to use. Instead of writing every routine from the beginning, a programmer can call routines from the library.
Libraries often contain commonly needed procedures or functions, such as file handling, graphics, mathematical operations, or communication routines.
Understanding the Question
The question asks only for the meaning of the term program library. So this is a definition question, not a comparison or an explanation of DLLs.
A short, accurate definition is enough.
Approach
Focus on the key ideas that make the definition correct:
- it is a collection of code
- the code is pre-written
- other programs can use it
If those three ideas are present, the definition is usually complete.
Step-by-Step Reasoning
A library is not just any file of code. It is specifically a reusable collection of routines, procedures, or functions.
The routines are pre-written, meaning the programmer does not create them all from scratch.
They are then included, linked, or called by application programs when needed.
So the definition should mention both reuse and pre-written code.
Key Takeaways
- A program library stores reusable code.
- It usually contains functions or procedures.
- Its purpose is to save programming time and effort.
Common Mistakes
- Defining a library as hardware or storage media.
- Saying only that it is a "file" without mentioning routines or reuse.
- Confusing a library with an IDE or an operating system.
Things to Be Careful About
- Include the idea of pre-written routines or functions.
- Keep the definition general; do not limit it to one programming language.
Some program libraries include Dynamic Link Library (DLL) files.
Describe the benefits of a programmer using a library with DLL files instead of using a library that does not include DLL files.
Answer
- DLL routines are loaded only when needed at run time.
- The executable program can be smaller because the library code does not all need to be built into it.
- One DLL can be shared by several programs, reducing memory and storage use.
- A DLL can be updated or fixed once and programs using it can use the new version without recompiling the whole program.
DLLs allow dynamic loading, smaller executables, shared code in memory/storage, and easier updating of library code.
Background Concept
A library can be linked to a program in different ways. If the code is built directly into the executable, the program carries its own copy of the library routines. With a Dynamic Link Library, the library code is kept separately and linked when the program runs.
The word dynamic means the link is made at run time rather than being fully built into the program file beforehand.
Understanding the Question
The question asks for benefits of using a library with DLL files instead of a library that does not include DLL files.
So this is a comparison. You need to explain why DLL-based libraries are useful, especially in terms of program size, memory use, loading, and maintenance.
Approach
Think of what changes when the library code is stored separately:
- not all code has to be copied into each program
- the operating system can load it only when required
- multiple programs can share one copy
- updating the DLL updates the library code for all dependent programs
These are the standard advantages usually rewarded in mark schemes.
Step-by-Step Reasoning
If a library is not using DLL files, the needed code may be linked directly into the application. That increases the size of the executable because the program contains its own copy.
With a DLL, the code stays in a separate file. The application can call the routines from that file when needed. That means the main program file can be smaller.
Because the DLL is separate, it can be loaded dynamically at run time. If a routine is never used in that run of the program, there may be no need to load all of it permanently from the start.
A further advantage is sharing. If several programs use the same DLL, the system can use the same library file rather than storing separate copies inside each executable. This reduces storage use and can reduce memory use too.
Maintenance is also easier. If a bug is fixed or an improvement is made in the DLL, the shared library file can be replaced or updated. Programs that use that DLL can then benefit from the update without rebuilding every program from the beginning, provided the interface remains compatible.
Key Takeaways
- DLLs support dynamic linking at run time.
- They can reduce executable size.
- They allow code sharing between programs.
- They make library maintenance and updating easier.
Common Mistakes
- Giving only general benefits of libraries, not benefits specific to DLLs.
- Saying that DLLs make programs faster in every case; that is not guaranteed.
- Forgetting the comparison with non-DLL libraries.
- Confusing DLLs with source code files.
Things to Be Careful About
- Focus on dynamic loading, sharing, size, and updating.
- Avoid overclaiming; the main point is separate linked code, not magical performance improvements.
- If you mention updating without recompilation, understand that this depends on the program still being compatible with the DLL interface.
The data from the robots is transmitted to a central computer using a wireless connection.
Complete the table by identifying and describing two methods of data verification that can be used during data transfer.
| Method | Description | |
|---|---|---|
| 1 | ......................................... | .......................................................................................... .......................................................................................... |
| 2 | ......................................... | .......................................................................................... .......................................................................................... |
Answer
| Method | Description | |
|---|---|---|
| 1 | Parity check | A parity bit is added to the data before transmission so the total number of 1s is even or odd. The receiver checks the parity; if it does not match, an error is detected and the data can be retransmitted. |
| 2 | Checksum | The sender calculates a total from the data and sends the checksum with it. The receiver calculates the checksum again and compares the values; if they are different, the data has been corrupted and should be resent. |
Parity check and checksum.
Background Concept
Verification during data transfer is used to check whether data has been changed or corrupted while being sent from one device to another. This is different from validation. Validation checks whether data is sensible or reasonable, while verification checks whether the received data matches the sent data.
Common transfer verification methods include parity checks, checksums, and echo checks.
Understanding the Question
The robots send data wirelessly to a central computer. Wireless transmission can be affected by interference, so the question asks for two verification methods used during data transfer.
For each method, you must do two things:
- identify the method by name
- describe how it works
Just listing method names is not enough for full marks.
Approach
Choose two standard transmission verification methods that you can describe clearly. Parity check and checksum are strong choices because both are widely taught and easy to explain step by step.
For each one, explain:
- what extra check information is sent
- what the receiver does with that information
- how an error is detected
Step-by-Step Reasoning
For a parity check, the sender counts the number of 1 bits in the data and adds a parity bit so that the total is either even or odd, depending on the system used. When the receiver gets the data, it counts the 1s again. If the parity rule is broken, the receiver knows an error has occurred in transmission. It can then reject the data or request that it be resent.
For a checksum, the sender performs a calculation on the data, often by adding values from blocks of data, and sends the result as a checksum. The receiver performs the same calculation on the received data. If the newly calculated checksum does not match the transmitted checksum, the receiver knows the data has changed during transmission and can request retransmission.
These are verification methods because they compare what should have been received with what actually was received.
Key Takeaways
- Verification during transfer checks for corruption in transmission.
- Parity uses an extra bit based on the number of 1s.
- A checksum uses a calculated value sent with the data.
- The receiver recalculates or rechecks and compares results.
Common Mistakes
- Confusing verification with validation methods such as range check or format check.
- Naming a method but not explaining how it works.
- Saying that verification guarantees no errors at all; it detects errors, but not perfectly in every case.
- Forgetting that the receiver must compare the result with the original check value.
Things to Be Careful About
- Use methods appropriate to data transfer, not data entry.
- Make the comparison step explicit in your description.
- If you mention retransmission, make it clear that it happens after an error is detected.
Answer
- Before transmission, the data is encrypted into ciphertext using an algorithm and key.
- If the data is intercepted, it cannot be understood without the correct decryption key, so only an authorised receiver can read the original data.
Encryption converts the data into unreadable ciphertext so that intercepted data cannot be understood without the decryption key.
Background Concept
Encryption is a security measure used to protect data confidentiality. Plaintext, which is the original readable data, is transformed into ciphertext, which appears meaningless unless it is decrypted with the correct key.
This is especially important during transmission because transmitted data may be intercepted by unauthorised users.
Understanding the Question
The robots send data wirelessly to a central computer. Wireless signals can potentially be intercepted, so the question asks how encryption protects security during transmission.
The key idea is not that encryption stops interception. It protects the data even if interception happens, because the contents remain unreadable.
Approach
A complete answer needs two linked ideas:
- the data is converted into an encrypted form before or during transmission
- only someone with the correct key can recover and read the original data
That directly explains how security is improved.
Step-by-Step Reasoning
Before the robot sends the data, encryption software applies an algorithm and key to the original message. This changes the plaintext into ciphertext.
The ciphertext is then transmitted across the wireless network. If an attacker captures the transmission, they can still obtain the data bits, but the contents are not meaningful.
To make sense of the data, the receiver must use the correct decryption key. Without that key, the intercepted data remains unreadable or impractical to interpret.
So encryption protects confidentiality during transmission by ensuring that unauthorised parties cannot understand the data.
Key Takeaways
- Encryption protects the confidentiality of transmitted data.
- It changes readable plaintext into unreadable ciphertext.
- Only authorised users with the correct key can decrypt it.
Common Mistakes
- Saying encryption prevents data from being intercepted at all.
- Forgetting to mention the decryption key.
- Talking about verification or validation instead of confidentiality.
Things to Be Careful About
- Use the idea of unreadable ciphertext, not just "hidden data".
- Make clear that encryption protects the contents of the data.
- Do not confuse encryption with compression or verification methods.

