In the space provided below, draw the circuit diagram for the following system only using the AND, OR and NOT logic gate symbols.
(A OR B) AND NOT (C AND D)
To implement this expression, two sub-circuits must first be created. The expression (A OR B) requires an OR gate with inputs A and B. The expression (C AND D) requires an AND gate with inputs C and D. The output of this AND gate must then pass through a NOT gate to create NOT (C AND D).
The final step is to connect the output of the OR gate and the output of the NOT gate into a final AND gate. The output of this final gate represents the complete expression.
Marks: 6
Explain why the result of the following binary subtraction is impossible to represent using standard binary notation.
00001100βΒ Β
- 00011001β
Converting both numbers to decimal shows the problem clearly.
00001100β = 12ββ and 00011001β = 25ββ. The calculation is therefore 12 β 25 which equals β13.
Standard binary notation is unsigned and can only represent positive integers. It does not include a method to store negative values. Because the result of this subtraction is negative, it cannot be represented without using a signed system such as twoβs complement.
Marks: 6
Examine the Python code below and complete the trace table underneath for each iteration of the loop.
x = 1
k = 0
while x <= 6:
Β Β Β Β if x % 2 == 1:
Β Β Β Β Β Β Β Β k += x*2
Β Β Β Β x += 1
The loop begins with x = 1 and k = 0. The condition checks if x is odd. Only odd values of x update k. When x is 1, k becomes 2. When x is 3, k becomes 8. When x is 5, k becomes 18. Even values of x do not change k. The loop finishes when x becomes 7.
Marks: 6
Answer the following in the context of databases.
(a) What is meant by the term βprimary keyβ?
(b) State one reason why a school database might use a foreign key.
A primary key is a field that uniquely identifies each record in a table. No two records can share the same primary key value and it cannot be null.
A foreign key is used to create a relationship between two tables. In a school database, a StudentID in an Attendance table could act as a foreign key linking attendance records to the main Student table.
Marks: 6
Give two specific design features that would support users with additional needs in an online banking app. Explain how each improves accessibility.
One useful feature is screen-reader compatibility. This allows visually impaired users to navigate the app using audio descriptions of buttons and text.
Another feature is high-contrast mode with large scalable fonts. This supports users with visual difficulties by making text easier to read and interface elements easier to identify.
Marks: 6
HTML and JavaScript can both be used to develop websites. Using examples, describe the strengths and weaknesses of both HTML and JavaScript.
HTML is strong for structuring content such as headings, paragraphs and images. It is simple and supported by all browsers, but it is static and cannot perform calculations or respond to user actions.
JavaScript allows interactivity such as form validation and dynamic content updates. However, it is more complex than HTML and can behave differently across browsers if not coded carefully.
Marks: 6
(a) What is the main purpose of the Hypertext Transfer Protocol (HTTP)?
(b) Give one reason why HTTP is important for computer communication.
HTTP is the protocol used to transfer web pages and related resources from a web server to a client browser.
HTTP is important because it provides a standard method for communication on the World Wide Web, allowing different devices and operating systems to exchange information reliably.
Marks: 6
A school wants to know what time of day students borrow books most often.
(a) Name a suitable data field to collect.
(b) Suggest a graph type that would be suitable to show a trend.
A suitable data field would be a timestamp such as Borrow_Time or Hour_Of_Day.
A line graph would be appropriate to show how borrowing changes across the day, as it clearly displays trends over time.
Marks: 6
Draw a flowchart to:
β’ Input a number
β’ Use a loop to display every number from 1 to that number
β’ Count how many even numbers occur
β’ Output the count
The flowchart should begin with an input symbol for n. A counter variable should be set to zero. A loop from 1 to n should test each number using βnumber mod 2 = 0β. If true, the counter increases by one. After the loop, the counter value is output.
Marks: 6
State the purpose of:
(a) Functional testing
(b) System testing
Functional testing checks whether each individual feature meets the specified requirements.
System testing checks the entire integrated system to ensure all components work together correctly.
Marks: 6
Describe two advantages of using a digital signal rather than an analogue signal.
Digital signals are less affected by noise and interference, so data remains more accurate over long distances.
Digital signals can use error detection and correction methods, making communication more reliable.
Marks: 6
State the function of each component and give one application.
β’ Transistor
β’ Capacitor
A transistor acts as a switch or amplifier. It is used in processors to represent binary 1s and 0s.
A capacitor stores electrical charge and releases it when needed. It is used in power supplies to smooth voltage.
Marks: 6
(a)(i) What is meant by the term Machine Learning?
(ii) State an everyday example.
Machine Learning refers to computer systems that improve their performance by learning from data rather than following only explicit instructions. The system identifies patterns and makes predictions based on previous examples.
An everyday example is a streaming service recommending movies based on a userβs viewing history.
Marks: 8
(b)(i) Outline one consequence of algorithmic bias.
Algorithmic bias can reinforce stereotypes and unfair treatment. For example, if an AI mainly shows men when prompted with βengineerβ, it may influence society to view engineering as a male profession, reducing diversity.
Marks: 6
(b)(ii) Two benefits of teachers using AI.
AI can assist teachers by generating differentiated resources quickly, saving preparation time. It can also help with assessment by automatically marking quizzes and identifying student misconceptions.
Marks: 8
(b)(iii) Two risks of AI in education.
Over-reliance on AI may reduce teacher professional judgement. Data privacy is another risk, as student information may be processed by external systems.
Marks: 8
(c) Apply Quicksort to:
32, 15, 7, 45, 23, 5, 12
Using 32 as pivot:
Left: 15,7,23,5,12
Right: 45
Sorting left recursively produces:
5,7,12,15,23
Final sorted list:
5,7,12,15,23,32,45
Quicksort is faster than bubble sort on large lists because it divides the problem into smaller partitions rather than repeatedly swapping adjacent values.
Best case complexity is O(n log n) when partitions are balanced.
Worst case is O(nΒ²) when pivots create very uneven partitions.
Marks: 16
(d) Shortest path A β M
Applying Bellmanβs principle, the best path is built from optimal subpaths. Tracing through the graph gives:
AβCβFβIβJβLβM
Cost = 2 + 3 + 1 + 2 + 1 + 1 = 10
Marks: 12
def sum_even(L):
Β Β Β Β total = 0
Β Β Β Β for i in range(len(L)):
Β Β Β Β Β Β Β Β if L[i] % 2 == 0:
Β Β Β Β Β Β Β Β Β Β Β Β total += L[i]
Β Β Β Β return total
Marks: 8
print(sum_even([2,5,6,9])) Β # Expected 8
Marks: 6
Testing ensures that software behaves as intended, finds defects early, and prevents errors from reaching users.
Marks: 4
Abstraction means hiding internal complexity and showing only necessary details.
A full adder adds two input bits and a carry-in bit to produce a sum and carry-out.
Marks: 10
Concatenation joins data such as strings.
Iteration repeats instructions using loops.
Recursion occurs when a function calls itself.
Marks: 6
The required expression is:
(A AND B AND NOT C) OR D
Marks: 4
The table contains inconsistent date formats, duplicate student IDs, spelling errors such as βabsntβ, and inconsistent capitalisation. These problems make analysis unreliable.
Marks: 10
Poor management could lead to a data breach exposing student information. Good practices include strong access control and encryption of personal data.
Marks: 8
Primary storage such as RAM is fast and temporary. Secondary storage such as SSD is permanent.
TCP stands for Transmission Control Protocol and ensures reliable delivery of data. IP provides addressing so devices can locate each other.
Marks: 12
324ββ
= 3Γ60Β² + 2Γ60 + 4
= 10800 + 120 + 4
= 10924ββ
Marks: 8
Yes β Iβve gone through Section C (Question 16 Parts A & B) in your uploaded paper and extracted the exact coding concepts being assessed.
I checked each task from the screenshots (ratings list, averages, filtering, categories, bar chart, function, etc.) and grouped them into clear curriculum-style concepts you can paste directly into a Google Site revision page .
Below is a clean, student-friendly format, ready to paste.
Using input() to collect data from the user
Converting strings to integers using int()
Creating an empty list
Appending values using .append()
Storing multiple values
Iterating through list elements
for loops (repeat fixed number of times)
while loops (sentinel-controlled loops)
Looping until a stop value (β1)
Running totals (sum of ratings)
Counting specific values (number of 5-star ratings)
Accumulator patterns
Calculating totals
Finding averages
Division
Rounding to 2 decimal places using round()
if, elif, else
Range checking (1β5 only)
Detecting invalid input
Checking values are within bounds
Removing invalid list entries
Preventing bad data from affecting calculations
Manual counting instead of .count()
Manual filtering instead of shortcuts
Writing algorithms yourself
(very common LC exam skill)
Sorting a list
Descending order (reverse=True)
Printing formatted results
Displaying clean summaries
Students must demonstrate ability to:
Collect data
Store data
Process data
Validate data
Summarise data
π This is essentially βData Processing with Listsβ
Creating and managing two separate lists
Grouping data into categories (positive/negative)
Decision logic
if rating >= 4:
Assigning items to correct category
Looping until user types "done"
String comparison in loops
Comparing list lengths
Determining greater/less than
Producing different outputs based on comparison
Percentage formula
Decimal formatting
Numeric precision
Counting occurrences of each rating (1β5)
Building a simple histogram
Creating a horizontal bar chart using *
Repetition with loops
print("*" * count)
Writing reusable functions
Defining with def
Calling functions
Separating logic into modules
(very important LC higher-level skill)
Breaking solution into parts
Organising code logically
Improving readability