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
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 ✓
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
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 ✓
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
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 ✓
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
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 ✓
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
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) ✓
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
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 ✓
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.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 ✓
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.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 caseFactorial := n * Factorial(n - 1)✓
Hardware & Performance
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
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 ✓
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
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
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) ✓
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
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 ✓✓
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.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 ✓
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
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 ✓✓
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 ✓
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 ✓
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 ✓✓
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 ✓
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 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.