Grade 12 — Questions & Memos Grade 12

Matric-level questions across the whole NSC syllabus, with memo wording taken from real marking guidelines. Answer first, then click Show memo and mark each .

Section A — Short Questions

A1 · Multiple choice5

1.1 The variation in the delay of packets arriving over a network is called …  A) bandwidth  B) latency  C) jitter  D) throttling

1.2 A distributed ledger of tamper-resistant linked records is a …  A) data warehouse  B) blockchain  C) botnet  D) cache

1.3 Which key uniquely identifies each record in a table?  A) foreign key  B) candidate key  C) primary key  D) sort key

1.4 Software whose source code is freely available to view and modify is …  A) freeware  B) shareware  C) proprietary  D) open-source

1.5 Examining large datasets to discover patterns and new information is called …  A) data mining  B) data capturing  C) normalisation  D) mirroring

Show memo
  • 1.1 C) jitter
  • 1.2 B) blockchain
  • 1.3 C) primary key
  • 1.4 D) open-source
  • 1.5 A) data mining
A2 · True / False (correct if false)3

2.1 RAM is non-volatile memory that keeps its contents when the power is switched off.
2.2 A script kiddie is an amateur who modifies existing malware code written by others.
2.3 Mbps (with a small b) measures network speed in megabytes per second.

Show memo
  • 2.1 FALSE — RAM is volatile; its contents are lost when the power is switched off
  • 2.2 TRUE
  • 2.3 FALSE — Mbps = megabits per second (a capital B would mean bytes)

Systems Technologies

Q1 · Memory6

1.1 Explain the function of RAM (primary memory). (2)
1.2 Discuss what cache memory is and how it improves performance. (3)
1.3 Why does heavy use of virtual memory slow a computer down? (1)

Show memo
  • 1.1 Fast, temporary memory that stores data/instructions while they are actively being used by the CPU
  • 1.2 A small amount of high-speed memory on/near the CPU that stores frequently/previously used data and instructions so a slower medium does not bottleneck a faster one
  • 1.3 Virtual memory is on slower secondary storage, so constant swapping with RAM (thrashing) wastes time
Q2 · Virtualisation & the cloud4

2.1 Define cloud computing. (2)
2.2 Give ONE benefit of running several virtual machines on one physical server. (2)

Show memo
  • 2.1 The use of shared resources offered as services over the internet to store, manage and process data
  • 2.2 One server does the work of many → saves money/electricity/space, or lets you test risky software safely in isolation

Networks & Communication

Q3 · Connection5

3.1 Define the term bandwidth. (2)
3.2 Distinguish between shaping and throttling. (2)
3.3 A learner writes their line speed as "20 MBps". Why is this notation wrong? (1)

Show memo
  • 3.1 The amount of data that can be sent over a network in a specific amount of time
  • 3.2 Shaping = the ISP prioritises certain traffic over others ; throttling = the ISP deliberately slows the connection (e.g. after a cap)
  • 3.3 Speed is measured in bits per second (lowercase b); a capital B means bytes, which is for file size
Q4 · Security5

4.1 Explain the term spoofing. (2)
4.2 Describe how data is encrypted and decrypted using SSL (public/private keys). (3)

Show memo
  • 4.1 An email/website/source that appears to be from a legitimate organisation but is a replica created to collect personal information
  • 4.2 The public key encrypts the data ; the encrypted data is sent over the internet ; the matching private key decrypts it

Data & Databases

Q5 · Data management5

5.1 What is meant by data mining? (2)
5.2 Explain what physical data integrity refers to. (2)
5.3 Define disk mirroring. (1)

Show memo
  • 5.1 Examining large datasets in databases/data warehouses to discover patterns and generate new information
  • 5.2 Guarding stored data against physical threats (power failure, disasters, theft of hardware) to protect its accuracy/completeness
  • 5.3 Keeping identical copies of the data/database so a duplicate is always available
Q6 · Normalisation & keys5

6.1 What is a primary key? (1)
6.2 What is a foreign key? (1)
6.3 State ONE goal of normalising a database. (1)
6.4 Give ONE problem caused by data redundancy. (2)

Show memo
  • 6.1 A field (or fields) that uniquely identifies each record in a table
  • 6.2 A field in one table that refers to the primary key of another table (creating the link)
  • 6.3 Remove/reduce data redundancy (duplication) / avoid anomalies
  • 6.4 Wasted storage ; risk of inconsistent data when one copy is updated but others are not

Internet & Social Implications

Q7 · Cybercrime5

7.1 Define the term ransomware. (2)
7.2 What is a DDoS attack and its effect on a business? (2)
7.3 Name ONE South African law that protects personal information. (1)

Show memo
  • 7.1 Malware that locks or encrypts a user's data/device until a ransom is paid to restore access
  • 7.2 Many computers flood a server with traffic until it is overloaded and goes offline ; customers cannot access the site → lost sales/reputation
  • 7.3 POPIA (Protection of Personal Information Act)
Q8 · Emerging technology4

8.1 Define virtual reality. (2)
8.2 What is convergence? Give ONE example. (2)

Show memo
  • 8.1 An artificial, computer-generated environment created with software that appears as a 3D space the user interacts with using VR equipment
  • 8.2 When separate technologies/functions are combined into a single multi-purpose device ; e.g. a smartphone that is also a camera, GPS and music player

Practical — SQL

P1 · SELECT & WHERE5

Table tblLearner(LearnerID, Name, Grade, Average, Town).

P1.1 List the names of all learners in Grade 12. (2)
P1.2 List all learners with an average of 80 or more, highest first. (3)

Show memo
SELECT Name FROM tblLearner WHERE Grade = 12;

SELECT * FROM tblLearner
WHERE Average >= 80
ORDER BY Average DESC;
  • P1.1 correct SELECT field + FROM table ; correct WHERE condition
  • P1.2 WHERE Average >= 80 ; ORDER BY Average ; DESC
P2 · Aggregate & JOIN5

Tables tblLearner(LearnerID, Name, TownID) and tblTown(TownID, TownName).

P2.1 Count how many learners there are. (1)
P2.2 Show the average mark per grade. (2)
P2.3 List each learner's Name together with their TownName. (2)

Show memo
SELECT COUNT(*) FROM tblLearner;

SELECT Grade, AVG(Average) FROM tblLearner
GROUP BY Grade;

SELECT Name, TownName
FROM tblLearner INNER JOIN tblTown
ON tblLearner.TownID = tblTown.TownID;
  • P2.1 COUNT(*)
  • P2.2 AVG(Average) ; GROUP BY Grade
  • P2.3 correct JOIN of the two tables ; correct ON condition (matching TownID)

Practical — OOP, 2D Arrays & Recursion

P3 · OOP concepts4

P3.1 Distinguish between a class and an object. (2)
P3.2 What is encapsulation? (1)
P3.3 What is the purpose of a constructor? (1)

Show memo
  • P3.1 A class is a blueprint/template that defines attributes and methods ; an object is an actual instance created from that class
  • P3.2 Grouping attributes and the methods that work on them in one unit, and hiding the data (private) so it is accessed only through methods
  • P3.3 A method that runs when an object is created, used to initialise its attributes
P4 · 2D array (Delphi)4

An array arrM : array[1..5, 1..4] of Integer holds 5 learners' marks for 4 subjects. Write code to calculate and display the total for learner 3 (row 3).

Show memo
iTotal := 0;
for c := 1 to 4 do
  iTotal := iTotal + arrM[3, c];
ShowMessage(IntToStr(iTotal));
  • Initialise total to 0
  • Loop through the 4 columns
  • Add arrM[3, c] each time (fixed row 3)
  • Display the result
P5 · Recursion4

P5.1 What is recursion? (1)
P5.2 Why must every recursive method have a base case? (1)
P5.3 Complete the recursive factorial function:

function Factorial(n : Integer) : Integer;
begin
  if n <= 1 then
    Factorial := ____
  else
    Factorial := ____;
end;
Show memo
  • P5.1 A method that calls itself to solve a smaller version of the same problem
  • P5.2 To stop the recursion; without it the method calls itself forever (stack overflow)
  • P5.3 base case Factorial := 1 ; recursive case Factorial := n * Factorial(n - 1)

Hardware & Performance

Q9 · Performance5

9.1 Name THREE factors that affect a computer's overall performance. (3)
9.2 Explain how replacing a hard drive (HDD) with an SSD improves performance. (2)

Show memo
  • 9.1 Any three: CPU speed/number of cores, amount of RAM, cache memory, storage type/speed, GPU, number of programs running
  • 9.2 An SSD has no moving parts and much faster read/write speeds → faster boot-up and file access, no bottleneck waiting for the disk

Internet Technologies

Q10 · Web5

10.1 Distinguish between HTML and CSS. (2)
10.2 What is the purpose of JavaScript on a web page? (1)
10.3 What is AJAX used for? (1)
10.4 Define e-commerce. (1)

Show memo
  • 10.1 HTML defines the structure/content of a page ; CSS controls its layout and appearance
  • 10.2 To add interactivity / dynamic behaviour that runs in the browser
  • 10.3 To update part of a web page without reloading the whole page
  • 10.4 Buying and selling of goods or services over the internet
Q11 · Clients & access4

11.1 Distinguish between a thin client and a thick (fat) client. (2)
11.2 What is a VPN and ONE reason to use one? (2)

Show memo
  • 11.1 A thin client relies on a server to do most of the processing/storage ; a thick client does most of its own processing/storage locally
  • 11.2 A Virtual Private Network creates a secure, encrypted "tunnel" over a public network ; used to access a private network remotely / keep data private

Communication Technologies

Q12 · Wireless4

12.1 What is RFID and give ONE use of it? (2)
12.2 Distinguish between NFC and Bluetooth in terms of range. (1)
12.3 What does GPS use to determine a device's location? (1)

Show memo
  • 12.1 RFID uses radio waves and tags to automatically identify/track objects ; e.g. stock control, access cards, race timing, toll tags
  • 12.2 NFC works over a very short range (~4 cm, tap); Bluetooth over ~10 m
  • 12.3 Signals from satellites

AI, 4IR & Ethics

Q13 · AI & 4IR5

13.1 Define artificial intelligence. (2)
13.2 Give ONE benefit and ONE concern of AI. (2)
13.3 What does the 4IR refer to? (1)

Show memo
  • 13.1 The ability of a computer or machine to mimic human intelligence — to learn, reason, solve problems and make decisions
  • 13.2 Benefit: automation / efficiency / medical diagnosis / handling big data ; concern: job losses / bias / privacy / over-reliance
  • 13.3 The Fourth Industrial Revolution — the fusion of digital, physical and biological technologies (AI, IoT, robotics, big data)
Q14 · Ethics & the environment3

14.1 What does POPIA protect? (1)
14.2 What is meant by invisible data capturing? (1)
14.3 Give ONE green-computing practice. (1)

Show memo
  • 14.1 Personal information (your right to data privacy)
  • 14.2 Collecting private/unrelated information about a user without their knowledge
  • 14.3 Any one: enable power-saving mode, recycle e-waste, reduce printing, switch devices off

Practical — More SQL

P6 · Updating data (DML)4

Table tblStock(StockID, Item, Qty, Price).

P6.1 Increase every price by 10%. (2)
P6.2 Delete all items where the quantity is 0. (2)

Show memo
UPDATE tblStock SET Price = Price * 1.1;

DELETE FROM tblStock WHERE Qty = 0;
  • P6.1 UPDATE … SET Price = Price * 1.1
  • P6.2 DELETE FROM … WHERE Qty = 0
P7 · GROUP BY & HAVING3

Using tblStock, show each Item with its total stock value (Qty × Price), but only where that total is more than 1000.

Show memo
SELECT Item, SUM(Qty * Price) AS TotalValue
FROM tblStock
GROUP BY Item
HAVING SUM(Qty * Price) > 1000;
  • SUM(Qty * Price)
  • GROUP BY Item
  • HAVING … > 1000 (filter on the aggregate)

Practical — More OOP & Arrays

P8 · OOP relationships3

P8.1 What is inheritance? (1)
P8.2 What is polymorphism? (1)
P8.3 What is the purpose of an accessor (getter) method? (1)

Show memo
  • P8.1 A child/sub class automatically gains the attributes and methods of a parent class
  • P8.2 The same method name behaves differently depending on the class/object it is used on
  • P8.3 To return the value of a private attribute to code outside the class
P9 · 2D array search3

For arrM : array[1..5, 1..4] of Integer, write code to count how many marks in the whole array are 50 or more.

Show memo
iCount := 0;
for r := 1 to 5 do
  for c := 1 to 4 do
    if arrM[r, c] >= 50 then
      iCount := iCount + 1;
ShowMessage(IntToStr(iCount));
  • Nested loop over all rows and columns
  • Correct condition arrM[r, c] >= 50
  • Increment counter and display

Section B — Mixed Exam Questions

Q9 · Data management4

9.1 Distinguish between a database and a data warehouse. (2)
9.2 Name TWO methods of automated data collection. (2)

Show memo
  • 9.1 A database handles current, day-to-day transactions (read + write); a data warehouse stores historical data from many sources for analysis and reporting (mostly read)
  • 9.2 Any two: online forms, RFID/digital sensors, invisible online collection (browsing/cookies), transaction/loyalty-card tracking, location data
Q10 · Normalisation5

10.1 State ONE goal of normalisation. (1)
10.2 A table is not in 1NF because one cell holds several phone numbers. How do you fix it? (1)
10.3 What is referential integrity? (2)
10.4 What is a composite key? (1)

Show memo
  • 10.1 Remove/reduce data redundancy (duplication) and avoid anomalies
  • 10.2 Split the repeating values so each cell holds a single value (put phone numbers in their own rows/table)
  • 10.3 A rule that a foreign key must match an existing primary key in the linked table , so you cannot link to a record that does not exist
  • 10.4 A primary key made of two or more fields combined
Q11 · Internet technologies4

11.1 Distinguish between a static and a dynamic website. (2)
11.2 What is a cookie used for? (1)
11.3 What does SEO stand for? (1)

Show memo
  • 11.1 A static site shows the same fixed content to everyone; a dynamic site generates content that can change (from a database, per user, interactive)
  • 11.2 A small text file that stores information about the user (preferences, login, browsing) between visits
  • 11.3 Search Engine Optimisation
Q12 · Security4

12.1 What is encryption? (1)
12.2 What is the purpose of a firewall? (1)
12.3 Give TWO ways to protect your online identity. (2)

Show memo
  • 12.1 Scrambling data with a key so only authorised parties with the matching key can read it
  • 12.2 To monitor and control network traffic and block unauthorised connections
  • 12.3 Any two: strong unique passwords, two-factor authentication, don't share sensitive info, beware phishing links, keep software updated
P10 · SQL — join with a count4

Tables tblLearner(LearnerID, Name, ClassID) and tblClass(ClassID, ClassName). Show each class name with how many learners are in it, most learners first.

Show memo
SELECT tblClass.ClassName, COUNT(tblLearner.LearnerID) AS Total
FROM tblLearner, tblClass
WHERE tblLearner.ClassID = tblClass.ClassID
GROUP BY tblClass.ClassName
ORDER BY Total DESC;
  • Both tables in FROM + WHERE join condition (no Cartesian product)
  • COUNT with an alias
  • GROUP BY the class name
  • ORDER BY Total DESC
P11 · OOP — a full class5

Write the interface (class declaration) for a TProduct class with private fields fName (string) and fPrice (real), a constructor, an accessor for each field, a mutator for the price, and a ToString.

Show memo
TProduct = class
private
  fName  : string;
  fPrice : real;
public
  constructor Create(sName: string; rPrice: real);
  function  GetName  : string;
  function  GetPrice : real;
  procedure SetPrice(rNew: real);
  function  ToString : string;
end;
  • Private fields fName and fPrice
  • Constructor with parameters
  • Accessor (getter) for each field
  • Mutator (setter) for the price
  • ToString function declared
Paper 2 reminder

Paper 2 is cumulative across Grades 10–12. Match the verb and give as many facts as there are marks. Definitions are best learned word-for-word from the IT Glossary.