← GOAT NOTESPreviewInformation Technology · Exam RevisionENYear Summary →

INFORMATION TECHNOLOGY · GRADE 12

Exam Revision: mark-targeted revision organised the way the papers are sat. The four lettered sections of Paper 1 practical at 40/40/40/30, the six sections of Paper 2 theory, and an exam-strategy section covering the per-step marking grid, the code-from-first-principles rule and paper timing.
CAPS-aligned · Distinction-level Notes
Information Technology · Grade 12 · Exam Revision Date: TopJournal

Every distinction begins with one topic at a time.- start now

Overview · two papers · 300 external marks
Orientation Exam Format

Information Technology is examined twice over: once with your hands on a keyboard, and once with a pen. Neither paper forgives a learner who only prepared for the other one.· two papers, equal weight, one subject

This is your map of the whole Information Technology examination, not a re-teach of the content. Read it once, then use the section tables below to decide where every remaining revision hour goes. The one question that shapes all of it: which marks are earned by writing working Delphi code at a machine, and which are earned by writing exact facts on paper?

How to read the flags in this guide

SymbolLabelWhat it flags for you
⭐EXAM FAVOURITEA task type that appears in almost every sitting. Rehearse it until the steps are automatic.
🔥FREQUENTLY TESTEDA high-yield skill the papers keep returning to. Never leave it half-learnt.
⚠️COMMON MISTAKEThe exact slip that costs marks. Reading it now stops you repeating it under pressure.
💡EASY MARKA low-effort one or two mark grab. Weak candidates leave these on the table.
📖KEY DEFINITIONA term the marker wants stated precisely. Loose wording loses the mark.
⚡MUST MEMORISEA syntax pattern, list or rule you should be able to write with your eyes shut.
📖 KEY DEFINITION Paper 1 is the PRACTICAL paper and Paper 2 is the THEORY paper. Get this the right way round and keep it that way round: Paper 1 is written at a computer, one machine per candidate, in Delphi (Object Pascal), with incomplete programs and a pre-connected database supplied to you. Paper 2 is a written theory paper answered on paper across all six curriculum topics. Several websites publish the two the other way about. They are wrong, and revising to them wastes the wrong week.
PaperTypeMarksTimeWhat it looks like on the day
Paper 1Practical1503 hoursYou sit at a machine with a folder of supplied Delphi projects and a supplied database, and you write, complete and repair code. Your marks live inside the files you save.
Paper 2Theory1503 hoursA written paper of six lettered sections, ending with one long integrated scenario. Every answer is tick-marked fact by fact.

The two papers add to 300 external marks and they carry exactly equal weight. A candidate who can code beautifully but cannot explain virtual memory loses precisely as much as one who can recite theory but freezes at a keyboard.

Paper 1: the practical paper, section by section

Four lettered sections, and their split has been identical across the last three sittings. Each question carries its own small scenario; there is no single storyline running through the paper.

SectionWhat it examinesMarksRough time budget
ABasic and general programming: data types, operators, selection, repetition, strings, dates, maths functions, one-dimensional arrays40≈ 48 min
BDatabase programming: an SQL tab sheet and a Delphi-code tab sheet against a supplied database40≈ 48 min
CObject-oriented programming: complete a supplied incomplete class, then use it from the form unit40≈ 48 min
DGeneral problem-solving, unseen: arrays, text files, a customised algorithm built for the scenario30≈ 36 min
TOTAL150180 min

Paper 2: the theory paper, section by section

Six lettered sections. Two of them are pinned: Section A has been 20 marks and Section B 25 marks in every recent sitting. The other four move by a few marks each year around a published band, so revise to the band and never to a single year's number.

SectionTopicGuideline bandRecent papers
AShort questions: multiple choice, one-word answers, matching columns, modified true or false. Draws on every topic, and it is the only regular home of HCI and social implications.≈ 2020, 20, 20
BSystems Technologies: hardware, the operating system, software, licensing, cloud≈ 2525, 25, 25
CCommunication and Network Technologies, with internet technologies folded in≈ 2530, 26, 25
DData and Information Management: design, keys, normalisation, collection and mining≈ 2520, 24, 20
ESolution Development: the theory behind the code, design tools, testing, the development life cycle≈ 2522, 22, 30
FIntegrated scenario drawing on B to E at once, and where the emerging-technology marks usually land≈ 3033, 33, 30
TOTAL150
🔥 FREQUENTLY TESTED The theory paper is cumulative from Grade 10, not Grade 12 only. This is stated policy, not a rumour, and the recent papers prove it: the motherboard's function, RAM against VRAM, virtual memory, personal and wide area networks, the FTP protocol and static against dynamic websites all surfaced in a Grade 12 paper and all are Grade 10 or 11 work. Revising only this year's term plan under-prepares you by roughly a third of Paper 2.

Where the subject's content weight actually sits

The curriculum weights the six topics unevenly across the whole subject, which is why the practical paper exists at all. Solution Development is the giant, and it feeds both papers.

TopicShare of subject contentWhere it is examined
Solution Development≈ 60%All of Paper 1, plus Section E and much of Section F in Paper 2
Systems Technologies≈ 10%Paper 2 Section B, plus Sections A and F
Data and Information Management≈ 10%Paper 2 Section D, plus Paper 1 Section B in practical form
Internet Technologies≈ 8%Paper 2 Section C, folded in with networks
Communication Technologies≈ 7%Paper 2 Section C
Social Implications≈ 5%Paper 2 Sections A and F only, never a section of its own

How your final Information Technology mark is built

Promotion in this subject is a clean split into quarters. Half of your final mark is already banked before you walk into either external paper, which cuts both ways: strong school work protects you, and a neglected project cannot be rescued in November.

⚡ MUST MEMORISE

The four rules that decide marks in this subject:

  1. Paper 1 is marked per step. Every tick on the grid is one mark, so code that does not compile still scores most of a question. There is no all-or-nothing question in the practical paper.
  2. An alternate correct solution earns full credit. There is no single expected answer. If your loop reaches the same right result by another route, it is marked right.
  3. Paper 2 pays per fact. The mark allocation tells you how many distinct facts are wanted. Two marks means two different facts, never one fact said twice in different words.
  4. Only the first N facts are marked. If a question asks for two and you list five hoping one lands, the marker reads the first two and stops. A scattergun answer can score zero with the right fact sitting fourth.
⚠️ COMMON MISTAKE Writing general answers in the theory paper. "It is cheaper", "it is faster" and "it is better" score nothing on their own. The marker wants the reason attached to the situation in front of you: faster than what, cheaper for whom, and why that matters to the business in the scenario. The same rule kills the one-word answer to a two-mark question.
💡 EASY MARK Both papers run 150 marks in 180 minutes, so a mark is worth about 1 minute and 12 seconds in each. Write the mark value of each question next to your working and check yourself against the clock at the halfway point. In the practical paper, keep the final 10 minutes to save every project, close it cleanly and confirm the files are in the exam folder under the names the paper gave.

Cognitive levels and difficulty

Both papers are set to the same spread of thinking, and a second axis of difficulty is crossed over it. The practical consequence is simple: roughly two marks in five are straightforward recall or a single routine step, and roughly one in twenty is genuinely hard. Chasing the very difficult marks first is how candidates run out of time with easy marks unclaimed.

BandWhat it asks of youShare of each paper
C1 Knowledge and rememberingState a term, name a component, recall a syntax pattern≈ 30%
C2 Understanding and applyingApply a construct, write a routine loop, explain a term in context≈ 40%
C3 Analysing, evaluating and creatingBuild an algorithm, motivate a choice, solve an unseen problem≈ 30%
Difficulty axis crossed over the above: easy ≈ 40%, moderately challenging ≈ 32%, difficult ≈ 23%, very difficult ≈ 5%.

Two administrative facts worth knowing before the day

BEFORE YOU START

Warm your memory up with these six. No answers given, deliberately. Any hesitation shows you where tonight's revision begins.

  1. Which paper is written at a computer, and in which programming language?
  2. What are the four sections of the practical paper worth, in order?
  3. Which two sections of the theory paper have not moved off their mark total recently?
  4. Which two components make up half your subject mark before you write either paper?
  5. Why does a five-fact answer to a two-mark question sometimes score zero?
  6. From which grade onwards is the theory paper allowed to examine you?
IN THE EXAM
  • Pace both papers at roughly one mark a minute and check yourself against the clock at the halfway mark.
  • In the practical paper, save each project as you finish its question, and never leave a question blank when a partial routine still earns step marks.
  • In the theory paper, count the marks, then count your distinct facts, and put your best fact first.
  • Answer only what is asked. Extra validation nobody requested earns nothing in Paper 1 and extra facts are not read in Paper 2.
Paper 1 · Section A · 40 marks · Delphi at a machine
PAPER 1 · PRACTICAL · 40 MARKS SECTION A: GENERAL PROGRAMMING

Section A is not about clever code. It is about forty small correct decisions made calmly in forty-eight minutes.· the steps are the marks

This is the section most candidates can afford to lose the least, because almost none of it is unseen. The scenario changes every year but the machinery does not: a value comes in from a component, you convert it, you decide something with it, you loop over something, you build a string, and you write a formatted line out. If you drill those six moves until they are automatic, Section A becomes forty marks of typing rather than forty marks of thinking, and that buys you the time you will need in Section D.

What you must be able to do

How the forty marks are actually awarded

Every practical question is marked on a grid where each correct step earns its own tick. That single fact should change how you write under pressure: an unfinished routine that declares the right variable, opens the right loop and gets the condition right has already banked several marks before it ever produces an answer. Nothing in this paper is all or nothing.

⚡ MUST MEMORISE

The four practical marking rules, true in every section of Paper 1:

  1. Marking is per step. Partial code still scores. Code that will not compile still scores the steps that are right.
  2. An alternate correct solution earns full credit. A repeat loop where the memo shows a while loop is marked right if it produces the correct result.
  3. Search, sort and selection must be coded from first principles. No marks are allocated for using a predefined class or method to do the work for you.
  4. Answer only what is asked, and never leave a blank. Validation nobody requested earns nothing and costs minutes. An empty question earns nothing at all.

The construct checklist Section A keeps returning to

What the question asks forWhat you reach forWhere the mark is lost
Read a number out of an edit box or panelStrToInt, StrToFloat, and Copy first if the value sits inside a longer captionConverting a caption that still carries the label text, so the conversion raises an error at run time
Show money or a measurement to two decimalsFloatToStrF(rValue, ffFixed, 8, 2)Rounding by hand, or leaving eight decimals on screen when the question said two
Whole packs and what is left overdiv for the packs, mod for the remainderUsing / and then trying to force the result back to an integer
Decide between three or more named optionscase on an ordinal value, or nested ifTrying to switch a case on a string or a real
Repeat a known number of timesfor i := 1 to N doOff-by-one bounds, or changing the loop counter inside the loop
Repeat until a condition changeswhile when it may run zero times, repeat when it must run onceChoosing repeat for a list that may be empty
Pull a piece out of a delimited stringPos to find the delimiter, Copy to take the piece, Delete to move onForgetting that Copy counts characters, not delimiters
Build a neat report lineConcatenation with +, tabs with #9, into a RichEditWriting over the previous line instead of adding to it
📖 KEY DEFINITION Integer division and remainder. div returns how many whole times one integer fits into another and throws the fraction away, so 17 div 5 is 3. mod returns what is left over after that division, so 17 mod 5 is 2. Both take integers on either side and give an integer back. Any question phrased as "how many full boxes and how many loose items" is a div and mod question, and it appears somewhere in Section A almost every year.
⚠️ COMMON MISTAKE A case statement only works on ordinal types. Integers, characters, Booleans and enumerated types are fine. A String or a Real is not, so case sName of will not compile no matter how sensible it reads. The standard workaround is to switch on the first character with sName[1], or to fall back to nested if statements. A second, quieter version of the same slip: dividing two integers with / gives a real, so assigning that straight into an Integer variable fails.
🔥 FREQUENTLY TESTED Splitting a delimited string. A line such as Beans#12#4,50 arrives as one string and has to become three separate values. The pattern is always the same: find the delimiter with Pos, take everything before it with Copy, then Delete that piece plus the delimiter and repeat. Practise it until you can write it without thinking, because it appears in Section A, again in Section D when text files arrive, and often inside a class method in Section C.

Choosing the loop, and the zero-iteration difference

Examiners test loop choice directly, usually by describing a situation where one of the three is clearly wrong. Keep the distinction in one sentence each.

LoopUse it whenTimes it can run zero times
forThe number of repetitions is known before the loop starts, such as every element of an array of known lengthYes, if the upper bound is below the lower bound
while ... doThe condition is tested first, and the body may legitimately never runYes, and this is the reason to choose it
repeat ... untilThe body must run at least once, such as asking a user for input before you can test itNo, never
Worked example · Packing crates (invented practice scenario)

Q: A depot packs bottles into crates of 24. Given iBottles, display the number of full crates and the bottles left over, then the loading fee at R7,25 per full crate, to two decimals.

(a) iCrates := iBottles div 24;

(b) iLoose := iBottles mod 24;

(c) rFee := iCrates * 7.25;

(d) redOut.Lines.Add('Full crates: ' + IntToStr(iCrates));

(e) redOut.Lines.Add('Loose bottles: ' + IntToStr(iLoose));

(f) redOut.Lines.Add('Fee: R' + FloatToStrF(rFee, ffFixed, 8, 2));

With 500 bottles: 20 full crates, 20 loose, fee R145,00. Six ticks are available here and each line carries its own. Writing only (a) and (d) still earns two.

Worked example · Splitting a record line (invented practice scenario)

Q: A string holds Sipho*Grade 12*78. Extract the name, the grade description and the mark.

(a) iPos := Pos('*', sLine);

(b) sName := Copy(sLine, 1, iPos - 1);

(c) Delete(sLine, 1, iPos);

(d) iPos := Pos('*', sLine);

(e) sGrade := Copy(sLine, 1, iPos - 1);

(f) Delete(sLine, 1, iPos);

(g) iMark := StrToInt(sLine);

The last piece needs no Pos at all, because nothing follows it. Forgetting the - 1 in step (b) drags the delimiter into the name and costs the tick.

Desk-checking: prove your loop before you run it

When a loop produces the wrong number and you cannot see why, do not stare at it. Walk it by hand, one row per pass, writing down every variable after each iteration. It takes ninety seconds and it finds off-by-one bounds and mis-placed accumulator resets almost every time. The same technique is examined directly in the theory paper, where you may be handed a loop and asked to report the values.

Trace tableiSum := 0; FOR i := 1 TO 4 DO iSum := iSum + i;IterationiiSumCondition i <= 4before loop-0-111true223true336true4410trueAfter the 4th pass ibecomes 5, the conditionis false and the loopends. iSum stays 10.
Own drawing © 2026 The GOAT Notes (Pty) Ltd
Label the column headings, the value of every variable after each iteration, and the row where the loop condition first becomes false.
💡 EASY MARK Three ticks nobody should ever lose in Section A: declaring the accumulator and setting it to zero before the loop, using FloatToStrF with a 2 where the question says two decimals, and clearing the output component with redOut.Clear at the top of the button handler so a second click does not stack a second report on top of the first.

A three-minute pre-flight for every Section A question

  1. Read the required output first. It tells you the data types and the formatting before you write a line.
  2. Underline every number in the question. Constants go above the code, not buried inside it.
  3. Decide the loop before you decide the body. Known count, condition first, or must run once.
  4. Write the output line last, and make it match the wording of the required output exactly.
  5. Run it. If the number is wrong, desk-check one pass by hand rather than guessing at the code.
🧠 ACTIVE RECALL
A depot packs 17 loose items into boxes that hold 5 each. A learner writes iBoxes := 17 div 5; and iLeft := 17 mod 5;. What are the values of iBoxes and iLeft after both lines run?(2)
A candidate writes case sCategory of to choose between the categories 'Bronze', 'Silver' and 'Gold' stored in a String variable, and the project refuses to compile. What is the reason, and what is the standard fix?(2)
A routine must process every record in a list that could legitimately arrive empty. Which loop is the correct choice, and what is the reason a marker would accept?(2)
The string variable sLine holds Sipho*Grade 12*78. A candidate writes iPos := Pos('*', sLine); followed by sName := Copy(sLine, 1, iPos - 1);. What does sName hold afterwards?(2)
A question requires the total cost to be displayed as a money amount with exactly two decimal places. Which line produces that output from the real variable rTotal?(2)
A candidate's totalling routine reads for i := 1 to 5 do begin iSum := 0; iSum := iSum + i; end; and always reports a total of 5 instead of 15. What is the fault?(3)
Explain the difference between a while loop and a repeat loop in Delphi, and suggest one situation in which each is the correct choice. Refer to how many times each can run.(4)
A candidate cannot see how to finish a 6-mark routine with ten minutes left. Justify, with reference to how Paper 1 is marked, why writing an incomplete answer is better than leaving the question blank.(4)
A depot charges R7,25 for every FULL crate of 24 bottles and nothing for loose bottles left over. Explain, step by step and with Delphi statements, how you would calculate and display the number of full crates, the loose bottles and the fee to two decimals.(5)
Explain to a Grade 8: what do div and mod do, and why would a programmer use them instead of ordinary division?
ONE-MINUTE SUMMARY Section A is forty marks of familiar machinery under time pressure. Convert values in and out with StrToInt, StrToFloat and FloatToStrF, and format to the number of decimals the question names. Use div for whole parts and mod for remainders. Remember that case only switches on ordinal values. Pick for for a known count, while when the body may never run, and repeat when it must run once. Split delimited strings with Pos, Copy and Delete. Set accumulators to zero before the loop, never inside it. Every step you write is its own tick, so an unfinished answer still scores and a blank never does.
IN THE EXAM
  • Read the required output before you write anything; it fixes your data types and your formatting for you.
  • When a number comes out wrong, desk-check one pass by hand instead of re-reading the code.
  • Do exactly what is asked. Unrequested validation earns no marks and eats the minutes Section D will need.
  • Write something for every question. Declarations, the right loop and the right condition are ticks in the bank before the answer even appears.
🔒 P1 B: DATABASE
🔒 P1 C: OOP
🔒 P1 D: PROBLEM-SOLVING
🔒 P2 A: SHORT QUESTIONS
🔒 P2 B: SYSTEMS
🔒 P2 C: NETWORKS & INTERNET
🔒

9 more topics locked

This is a free preview of Topic 1. The full guide has every topic, the self-marking quizzes, mock exams, planner, journal and wellbeing tools.

Unlock the full guide on WhatsAppSee pricing

A winner is a loser who tried one more time.- keep going, all the way to the exam