Teacher guide

How version 5 of ICT Revise is organised, how to edit the questions, notes and settings, and how the marking, Smart Practice and practice exams work. You only need a text editor (for example Notepad, TextEdit or VS Code). No database or server is needed. Ideas for using the site with a class are on the separate page For teachers.

What is new in version 5

Opening and hosting the site

On a computer, offline: unzip the site, open the folder and double-click index.html. It works from a local folder, a USB drive or a shared network drive. Keep all the folders together.

Putting the site online (upload the contents of the folder so that index.html is at the top level)
WhereHow
School web server (Apache, Nginx, IIS)Copy the folder into the web root or a sub-folder, for example /var/www/html/ict-revision/ or C:\inetpub\wwwroot\ict-revision\. No database, PHP or server settings are needed.
Cloudflare Pages (free)In the Cloudflare dashboard, create a Pages project with direct upload and upload the folder (or the zip). To use your own domain, add it under the project's Custom domains.
Netlify (free)Sign in, choose Add new site > Deploy manually and drag the folder onto the page.
GitHub Pages (free)Upload the files to a repository, then go to Settings > Pages > Deploy from a branch (main, root).
VLE (Moodle, Canvas and others)Upload the zip as a file or folder resource shown in a browser, or link to a hosted copy. If pages stay blank, the VLE is blocking JavaScript, so link to a hosted copy instead.
OneDrive, Google Drive, SharePointThese do not run websites. Share the zip for students to download and open, or use a host above.

The full instructions are in README.md in the site folder.

Where the content comes from

Folders

index.html, theory.html, practical.html, topics/ (one page per subtopic)
learn.html (learning units), smart.html (Smart Practice), mistakes.html (Review My Mistakes),
topic.html (topic hubs with levels), games.html (activities), challenge.html, exam.html,
practice-exam.html, glossary.html, search.html, progress.html, teacher.html,
topics.html (all topics), practice.html (practice and exam preparation), help.html (how to use this site),
about.html (about and copyright, privacy, image credits; credits.html forwards to it),
contact.html (contact and support), bank.html (question bank browser), coverage.html (coverage report)
css/style.css             design (colours, layout, dark mode, print)
js/                       the site's code (you do not need to edit it)
js/config.js              settings you can change (see Smart Practice and Practice exams)
js/rewards.js             XP rules and badge targets
data/manifest.js          the list of content files: add new files here
data/checklist.js         the 142 learning objectives, mapped to the Revision Guide
data/notes/2.4.js         the guide's notes and key terms for one subtopic
data/topics/2.4.js        that subtopic's page details, interactive tools and practical tasks
data/questions/2.4.js     questions for that subtopic (a few files cover two subtopics,
                          for example 3.3-3.4.js); 2.4-v3.js holds questions added in version 3
data/questions/2.4-units.js  questions written for that subtopic's learning units
data/units/2.4.js         learning units for one subtopic
data/devices.js           device photos, clues and facts used by units and activities
data/glossary.js          extra glossary terms
data/credits.js           image credits and licences
images/, images/devices/  diagrams and device photos
files/                    sample files for practical tasks

Content files are JSON data wrapped in one function call, for example ICT.addQuestions([ ... ]);. This lets the site work when opened straight from a folder, where browsers block plain .json files. Edit only what is inside the brackets.

Editing questions

Open the question file for the subtopic, for example data/questions/2.4-v3.js. Each question is one { ... } block, separated by commas. Every question has these fields:

FieldMeaningExample
idUnique id. Keep the topic and learning objective in it"W2-2.4.3-lan"
topic, subtopic, loTopic number, subtopic and learning objective2, "2.4", "2.4.3"
sectiontheory or practical"theory"
typeOne of the question types below"mcq"
difficultyEasy, Intermediate or Advanced"Intermediate"
questionThe question text. Use **bold** for the command word and `code` for code"**State two** benefits…"
explanationShown after answering"Blu-ray holds 25 GB…"
whyMultiple choice only: why each wrong option is wrong, shown when a student picks it{"A larger touch screen": "A bigger screen does not…"}
marksMarks for the question2
sourceWhere the content comes from"Revision Guide 2.4"
kcOptional. true for the guide's knowledge-check questions, shown in the page's Knowledge checktrue
extraOptional. true for "Extra, not examinable" questions: they never appear in the bank, challenges, Smart Practice or practice examstrue
challengeOptional. false keeps a question out of the Revision Challenge and practice examsfalse

Text goes inside double quotes. If the text contains a double quote, put a backslash before it: "the \"Save As\" dialog". Copy an existing question of the same type and change it: that is the quickest way to get the format right.

Question types

typeExtra fieldsIn Challenge?
mcq Multiple choiceoptions: [...], answer (the text of the right option), why (see above). Options are shuffled unless the question has keepOrder: true (use it when the order matters, for example numbers from smallest to largest)Yes
written Written answercmd, marks, points, model, rule, optional ctx and scenario: true. See Written questionsYes
justify Choose and justify (version 5)options: [...], answer, why: {"wrong option": "why it is not the best"}, marks (usually 3 or 4), choiceMarks (default 1), points (the reasons for the right option, one mark each, marked like a written answer), model, rule, ctx, optional link (scenario words). The reasons earn marks only when the choice is right. Write new ones in v4tools/specs-v5/ and build them with node v4tools/apply-v5.js; node v4tools/test-v5.js checks that each model answer gets full marksYes
levels Extended answer (6 or 8 marks)cmd (discuss or evaluate), marks, indicative, model, optional ctx and levels (three level descriptions of your own). See Extended answersNo (but used in practice exams)
tf True or falseanswer: true or falseYes
match Matchingpairs: [["term", "definition"], …]Yes
gap Fill the gaptext: "A CD holds ___ MB.", answers: [["700"]] (one list of accepted answers per gap), optional bank: [...]Yes
odd Odd one outoptions, answerYes
sort Sort into groupsgroups: [{name: "…", items: [...]}]Yes
order Put in orderitems: [...] in the correct order (the site shuffles them)Yes
mistake Identify the mistakesegments: [{text: "…", wrong: true, fix: "…"}]Yes
label Label a diagramimage, alt, labels: [{n: 1, answer: "…"}], optional distractorsYes
dragdrop Complete a tablecolumns: [...], rows: [{label: "…", cells: [...]}], optional distractorsYes
pick Identify the pictureoptions: [{label: "Tracker ball", img: "images/devices/trackball.jpg", alt: "…"}, …], answer. Use only credited imagesYes
flashcardscards: [{front: "…", back: "…"}]No
quickfire Timed recallseconds: 60, items: [{q: "…", a: ["accepted", "answers"]}]No

Three version 2 types still work but are not used in the version 3 bank: short (a short answer the student marks against a model answer), extended (a longer answer marked the same way) and scenario (a scenario with several linked parts: scenario text and parts, each a question of another type). Version 3 uses written, with ctx for the scenario, and levels instead.

Written questions and marking points

A written question is marked by the site. The mark is an estimate: the site looks for each marking point in the student's answer, sentence by sentence. The feedback has three parts: What you got right (each point made, quoting the student's own words, and any explanation that earned a mark), What was missing (the marks still needed, the accepted ways to earn each one, and points that were nearly there) and How to improve (advice and an improved answer). The model answer and all the marking points follow. Students can change the mark if they disagree.

FieldMeaning
cmdThe command word: state, identify, give, define, describe, explain, compare, justify, calculate, or write (for a formula or code). It decides how the points are counted (below)
pointsThe marking points: {"t": "text shown in the mark scheme", "k": [groups]}, with optional "dev" (a development, also {t, k}), "m" (marks, default 1; 0.5 for "four ways, half a mark each"), "share": true and "hint" (advice when the point is nearly there). A point for a formula or HTML code has "re", a list of regular expressions, instead of k
modelA full-mark answer. It must score full marks
ruleHow the marks are given, shown with the mark scheme, for example "One mark for each benefit, up to 2 marks."
ctx, scenarioThe scenario text shown in a box above the question, and true for questions that must be applied to it
linkA group of words from the scenario, for example "mia|she|her|holiday". An answer that uses none of them gets the advice to apply it to the scenario (the mark is not changed)
bothCompare questions: the two things compared, for example ["ram", "rom"]. Each point must mention one of them and a comparing word such as whereas, but, cheaper or faster
needOptional: {"points": [0], "tip": "…"} gives full marks only when those points (counted from 0) are found, for example an evaluation that must include a drawback
capOptional: {"points": 2} means at most 2 marks can come from main points

Groups of key words. Each point has one or more groups, and every group must be found in the same sentence. A group is a list of alternatives separated by |; an alternative can be a phrase, and a word ending in * matches any ending (encrypt* finds encrypt, encrypted and encryption). A group that starts with ! must not be in the sentence: use it so that "do not need a PIN" does not earn a point about entering a PIN, or so that a well-known mix-up such as "ROM is volatile" earns nothing. Inside an alternative, ~ stands for up to four other words, so rom holds ~ in use finds "ROM holds the programs in use". Answers and key words are both tidied before matching, so colour/color, centre/center, organise/organize and licence/license match, and so do joined forms such as back up/backup, log in/login, web site/website and wi-fi/wifi, and common misspellings such as becuase, recieve and seperate.

How the command word changes the marking
Command wordsRule
state, identify, give, define, nameOne mark for each point found, up to the marks. A list on one line is fine.
describe, explain, justifyEach sentence earns one main point (unless the point has "share": true), but a long sentence that joins separate ideas with "and", "also" or commas can earn one for each part of five or more words. The points can come in any order. Where points have developments, at most half the marks (rounded up) come from main points: the rest need the development, in the same sentence or the next one, in a sentence that reads as an explanation. A list of key words cannot reach full marks.
compareAs for explain, and each point must be a comparison (see both).

Writing good marking points. Give every describe or explain point at least two groups (for example a thing and what it does) or a development, so that a single keyword cannot earn the mark. Put the more specific point first when two points share a word. Test the question on the subtopic's Exam practice: try the model answer, a weak answer and an answer that only repeats the question. The developer tools also include robustness tests that rewrite every model answer (spelling mistakes, another order, one long sentence, keyword lists) and mark a set of hand-written student answers; add your own answers there to test a new question.

Extended answers (6 and 8 marks)

"Discuss" and "evaluate" questions use the levels type. The student writes an answer and then marks it against the level descriptions: Level 1 (1–2 or 1–3 marks), Level 2 (3–4 or 4–6) and Level 3 (5–6 or 7–8). To help, the site lists the indicative points it found in the answer (each is {t, k} like a marking point), a checklist and the model answer. In a practice exam, the student chooses the mark for each extended answer before the results are shown. A How to improve box gives tips from the answer itself: both sides of the argument (sides, with each indicative point tagged "s": 0 or 1), enough points, linking words, the scenario (link), a conclusion (a point tagged "c": true) and length.

The question bank and difficulty

All questions live in data/questions/ and form one central bank. The same question can appear on a subtopic page, in a learning unit, in Exam practice, Smart Practice, a level test, the Revision Challenge, an activity or a practice exam. Open the Question bank browser to filter by topic, subtopic, learning objective, type and difficulty, try any question, or download the whole bank as a JSON file.

How difficulty is set
DifficultyUse it for
EasyRecall of one fact or term: state, identify, define, true or false on a single point.
IntermediateDescribing, matching or sorting several facts, or applying one idea to a simple scenario. Most 2 to 3 mark questions.
AdvancedApplying knowledge to an unfamiliar scenario, choosing the best option with a reason, multi-step working, 4-mark explain or compare questions, and extended answers.

The Revision Challenge takes every question that matches the student's choices, then picks one at a time, preferring subtopics, learning objectives and question types it has not used yet, and avoiding questions from recent challenges. With "Any" difficulty it aims for about 30% Easy, 45% Intermediate and 25% Advanced questions. You can link straight to a challenge, for example challenge.html?sub=6.3 or challenge.html?topic=2.

Notes, tools and practical tasks

The notes on each subtopic page are in data/notes/<subtopic>.js: ICT.registerNotes("2.4", { title, los, can, html, terms }), and each topic's introduction is in data/notes/topic-1.js to topic-6.js. These files are generated from the Revision Guide's source by the development tools (supplied separately as v3-dev-tools), so the best way to change the notes is to change the guide and generate them again. A small fix can be made in the file itself, but it will be replaced the next time the notes are generated. (The November 2026 audit made a few such fixes, in 1.3.js and topic-1.js; make the same changes in the guide before generating the notes again.) Edit only the text between the tags, and keep each <h3 data-lo="2.4.1"> heading, because the page's contents list and the coverage report use them. terms holds the key terms ({term, def}), which also feed the glossary and the word activities.

Page layout (version 4). Each subtopic page shows a breadcrumb trail, the title and the one-line learning objective from data/subtopics.js (which also gives the order for the Previous and Next links), an In this topic menu, and after each part of the notes a Key ideas panel and a Check your understanding question. Both come from the learning unit with the same title as the part: the key ideas are the unit's summary points, and the question is the unit's first check question (or its quiz) that the page does not already show. The Common mistakes panel lists mistakes from data/topics/<subtopic>.js; keep each one to what the page's notes teach.

The page title, specification title, learning objectives, interactive tools ("Try it") and practical tasks are in data/topics/<subtopic>.js. Tools are blocks such as {type: 'widget', name: 'caesar'} (the others are wpformat, mailmerge, validation, dbquery, refcopy, chart, htmlpreview, sandbox, slidemaster, bitmapvector, imageresize, filenames and contrast). A practical task is a task block with id (for example 'P6.3-1'), kind, time, title, software, brief, files, steps (a tick list; ticks are saved), hints and example (the worked answer, hidden until opened).

Adding a new subtopic page

  1. Copy a topic file, for example data/topics/2.4.js, rename it (for example 5.1.js) and change the id and content. Add the notes in data/notes/5.1.js (copy the format of another notes file).
  2. Write the questions in a new file such as data/questions/5.1.js.
  3. Add the new files to the list in data/manifest.js. Keep the subtopic in each file name: a subtopic page or learning-unit page loads only the files whose names contain its subtopic (plus the checklist, glossary, credits and devices), so that it opens quickly on a phone.
  4. Copy any page in topics/, for example topics/2-4.html, to topics/5-1.html and change data-topic="2.4" to "5.1". The site links to it automatically.
  5. Add the subtopic, its title and its learning objective to data/subtopics.js, in order, so that it gets Previous and Next links.

Learning units

A learning unit is a 5 to 10 minute lesson on a few ideas from one subtopic. Students move through it one card at a time: learn one idea, check it straight away with 1 to 3 questions and instant feedback, then remember it (summary and key terms) and finish with a quick check. Questions answered wrongly the first time come back once on a "second chance" card. A unit is complete when the quick check score is at least 60%; 80% earns 2 stars and 95% earns 3. Students open units from learn.html, from a subtopic's path such as learn.html?sub=1.4, or from the subtopic page.

Each subtopic's units are in one file, for example data/units/1.4.js: ICT.registerUnits('1.4', { intro: '…', units: [ … ] }). The units were generated from the Revision Guide by the development tools, like the notes; small edits can be made in the file. Each unit has id ('1.4-u1'), title, minutes, los, goal and a list of cards:

Card typeFields
learntitle, lo, blocks: pieces of the Revision Guide notes ({type: 'book', html: '…'}) and blocks such as keyterm (term, def), example, gallery (device photos from data/devices.js), code, more (a "More detail" section that opens on a click) and tasklink
checkids: 1 to 3 question ids from the bank. The student must answer before continuing.
summarypoints (the key facts) and terms: [['term', 'definition'], …] shown as tap-to-reveal cards
quizids: the quick check that completes the unit (3 to 5 questions)

A practical unit can also have tasks: ['P6.4-1'] and taskText: when the unit is complete, a "Now try it for real" box links to that practical task. When a subtopic has units, it counts as complete once every unit is complete.

Smart Practice, levels and settings

Every answered question is stored in the student's browser with its spaced-repetition box (1 to 5), when it is next due and the student's last answer. Smart Practice uses this to bring back mistakes and due questions first, then the weakest subtopics, then new questions at the right difficulty, and shows the reason for each question. Review My Mistakes shows the student's answer next to the correct one. You can link straight to a session, for example smart.html?start=1&sub=2.3 or smart.html?start=due.

Each topic hub (topic.html?t=2) has Levels 1 to 3. A level test of 10 questions unlocks the next level at 80%.

Settings in js/config.js
SettingDefaultWhat it does
unlockPct80Level-test score (%) that unlocks the next level
lockLevelstrueSet to false to open every level without a test
levelTestSize10Questions in a level test
srsIntervalsDays10 minutes, 1, 3, 7, 21 daysHow long before a question comes back from boxes 1 to 5
srsRightPct, srsWrongPct75, 40An answer scoring 75% or more counts as right (the question moves up a box); under 40% counts as wrong (back to box 1, due again in 10 minutes); in between, it stays in its box and comes back the next day
stepUpPct80Smart Practice moves a student up a difficulty in a subtopic when they average this on at least 4 recent questions at their level
timedQuestions, timedSeconds15, 300The timed challenge: number of questions and time allowed
papers, paperMcqPct, paperQuestionMarks, paperAvoidLastsee Practice examsThe practice exam papers
contactEmailictrevise@gmail.comThe address used by the Contact button at the top of every page, the Contact page, the "Report a mistake" link at the bottom of every page and the feedback links. They open the visitor's own email app; the site sends nothing. Set it to '' to hide them, for example on a school's own copy
kofiUrlko-fi.com/pedrorosariolopesThe Ko-fi page for the “Buy me a coffee” button at the top of every page and the Ko-fi links in the footer, on the Contact page, at the end of My progress and in a small closable panel after a completed learning unit (hidden for the rest of the visit once closed). Set it to '' to hide them all

Practice exams

Practice exam builds a whole paper from the bank each time. Every paper says that it is made of practice questions written for this site, not Pearson past papers, and the results give an estimated score with no grade, because grade boundaries change from series to series.

The papers (js/config.js, papers)
PaperMarksTimeContent
Mini paper3027 minutesPaper 1 style, Topics 1–4, with one 6-mark extended answer
Half paper5045 minutesPaper 1 style, Topics 1–4, with one 8-mark extended answer
Full paper10090 minutesPaper 1 style, Topics 1–4, with a 6-mark and an 8-mark extended answer
Paper 2: Theory knowledge check3027 minutesTheory questions on Topics 5–6, with one 6-mark extended answer

How a paper is built. It uses multiple-choice questions, written questions worth 1 to 4 marks and extended answers; extra (not examinable) questions and questions marked challenge: false are left out. The marks are shared between the topics roughly in proportion to their size, with a little variation each time. About paperMcqPct (15) per cent of the marks are multiple choice. The questions are grouped into numbered questions of about paperQuestionMarks (16) marks, each on one topic, with the parts in exam order: multiple choice first, then short and longer written parts, then any extended answer. A new paper avoids the questions in the student's last paperAvoidLast (3) papers of the same kind (Paper 1 style or Paper 2) while others are available. Topics stay hidden until the results.

Sitting a paper. The timer is optional (link with practice-exam.html?paper=half&timer=off to turn it off). When the time is up, the student can mark the paper or carry on writing (the time over is shown). The paper is saved as the student works, so it can be finished later. Before marking, the site lists any unanswered parts.

Results. The estimated score and percentage, the time used, the marks by topic and by type of question, what to revise (the subtopics where most marks were lost, with links to the notes, units and Smart Practice), exam technique advice, and every answer with the marking points, the model answer and an option to change the mark. The result is saved on My progress, answers feed Smart Practice and Review My Mistakes, and the paper gives up to 60 XP (xpPaperMax in js/rewards.js).

Points, stars, badges and activities

Rewards (all saved on the student's device)
RewardRule
XP (experience points)10 for a check question right first time, 5 for a second-chance question put right, 50 for completing a unit plus 10 per star, 1 XP for every 10 activity points (up to 40 per round), 1 XP per mark in a finished quiz (up to 30) and 1 XP per mark in a practice paper (up to 60). Every 200 XP is a new XP level.
Stars1 to 3 per unit for the best quick check score (60%, 80%, 95%).
StreaksDaily: days in a row with any revision. Weekly: weeks in a row, Monday to Sunday, with revision on at least 3 days (weekDays).
Badges18 badges, for example First steps, Top marks, Week streak (7 days in a row), Steady reviser (at least 3 days a week for 3 weeks), Terminology Expert (30 key terms named without a hint), MCQ Master (100 different multiple-choice questions with at least 80% right), Speedy Typist (30 words per minute at 95% accuracy or better), Exam Ready (an estimated 70% or more on 20 written questions) and Topic Champion (all three level tests passed in one topic).
Personal bestsKept for each activity, scope and level, and shown on the Activities page and My progress.

The rules and badge targets are at the top of js/rewards.js (ICT.REWARDS and ICT.BADGES). Rewards are kept small next to scores and progress, so that learning stays the focus. The Activities page builds every round from the site's content: Speedy Typing, Guess the Key Term, Crossword, Word Search and Match the Pair use the Revision Guide key terms; True or False and Fill the Gaps use the bank, chosen by spaced repetition so that mistakes come back; Identify the Device uses data/devices.js. A key term's clue is its definition with every word of the term blanked out. You can link straight to an activity, for example games.html?game=crossword&topic=2&level=hard.

Glossary

The glossary lists every Revision Guide key term (from the notes files), plus the extra terms in data/glossary.js: { term: '…', def: '…', sub: '1.6', source: 'Revision Guide 1.6' }. A Revision Guide term wins over an extra term with the same name. The glossary page sorts the terms A to Z and the search page finds them.

The menu at the top of every page has six items: Home, Topics, Practice, Progress, For teachers and Help. Topics, Practice, Progress and Help each open a short list of their pages (on phones, inside the Menu button). The lists are the NAV array near the top of the header code in js/app.js: add { href: 'page.html', text: 'Name' } to a group to add a page. Each page names its menu entry in <body data-nav="page.html">; a page that is not in the menu (a subtopic page, a learning unit) uses the name of its group instead, for example data-nav="topics", so that group is highlighted.

Page width and card grids (version 5.1). The header and the page content share one width, --page-max at the top of the layout section of css/style.css, so their edges line up. Grids of cards fill every row: after a page is built, js/app.js picks the number of columns that spreads the cards evenly (four cards as 2 + 2 or 4, six as 3 + 3) and, when that is not possible, makes the cards in the shorter row wider. The grids it looks after, and the smallest card width of each, are in the BALANCE list in js/app.js; keep them in step with css/style.css when you add a grid or change a width. Add the class no-balance to a grid to keep the plain CSS layout.

The home page has a Continue revising bar and four numbered sections. The bar opens the last learning unit the student opened and has not passed; otherwise the next unfinished unit (the same rule as Smart Practice's "next unit"), or unit 1 of 1.1 on a first visit. The sections link to topics.html, practice.html, practice.html#exam and progress.html.

Images and credits

Use your own diagrams, or images licensed CC0, public domain, CC BY or CC BY-SA from Wikimedia Commons or Openverse. Do not use images with an NC (non-commercial) or ND (no derivatives) licence, scans of textbooks, or images from Pearson materials. Save the image in images/ and add a credit with its title, author, source link, licence and licence link to data/credits.js, including what you changed (for example resized or cropped). It appears on the Credits page automatically.

To add a device for units and Identify the Device: save the photo as images/devices/name.jpg (about 800 pixels wide), add an entry to data/devices.js (the fields are listed at the top of that file: name, kind such as Input or Output, subtopic, alt text that describes the photo, three clues from vague to specific, and a short fact for the feedback that agrees with the Revision Guide), and credit it.

Student progress

Progress is saved automatically in each student's browser using localStorage: ticked learning objectives, every answer with its spaced-repetition box, level tests, practice exam results (the last 30), activity personal bests, rewards, ticked practical-task steps and quiz results. Nothing is sent to a server and no account is needed (the contact and "Report a mistake" links only open the student's own email app). Progress stays on that device and browser only, and clearing browser data removes it. Students can use Save my progress to download a copy and Restore my progress to load it on another device (both are in the Progress menu on every page and near the top of My progress, straight after Next steps), or reset it on My progress (which also deletes an unfinished practice paper). On a first visit a note at the top of the page explains this, until the student presses Got it. The privacy information for students and parents is on the About and copyright page.

How My progress measures progress
MeasureRule
Completed subtopicEvery learning unit in the subtopic complete. (The version 2 rule, every objective ticked with at least 5 questions answered and a latest score of at least 60%, also counts. To change it, edit ICT.MIN_ANSWERED and ICT.MIN_SCORE in js/app.js.)
PerformanceThe latest attempt at each question, so it shows what the student knows now.
Estimated marksEvery mark the site works out (written answers, scores that include them, practice papers and My progress) is labelled "Estimated mark, not an official Pearson mark" (ICT.EST_LABEL in js/app.js). A mark the student chooses for an extended answer is labelled "Your own mark".
Subtopics to reviseSubtopics with at least 3 answered questions (ICT.MIN_RANKED) and a score below 70%.

Coverage report

The Coverage report lists every learning objective with the Revision Guide section and pages that teach it (print edition), the knowledge check and exam practice in the guide, the notes headings and learning units on this site, and the number of questions by type and difficulty, including how many can appear in a practice exam. A table checks the question bank against the minimum numbers set in the plan for each topic. The page is built from the data files, so it updates when you edit content. Use Print or save as PDF or Download as a spreadsheet (CSV) for your records; copies made when the site was finished are in the site folder (4IT1-coverage-checklist.pdf and .csv).

Practical exam preparation

The practical papers are in data/pexam.js: ICT.pexam.areas (the software areas on the page), ICT.pexam.papers (each paper’s scenario and its two sections) and the tasks, added with ICT.addPexamTasks([...]). Each task has id, paper, section (A or B), area, title, marks, minutes, los (the learning objectives it practises, used by the coverage report and the For teachers page), files, intro, steps ({text, marks}, the lettered parts), evidence, scheme (the mark scheme the student ticks: {text, marks}, where marks above 1 shows a list to choose from), model, modelFiles and tips. Keep each section at 50 marks and 90 minutes, and the marks in steps equal to the marks in scheme. The data files and model solutions are in files/exam/seaview/ and files/exam/lakeside/. All the images were drawn for the site. The student’s own mark is saved as progress.pexam[taskId].

Tool challenges

The query, validation and chart tools (js/widgets.js) each end with a set of challenges made by ICT.toolChallenges(holder, key, cfg). Each challenge has a check(state) function that returns an empty string when the tool is set up correctly, or a sentence saying what to change. For queries, the expected records are worked out from the tool’s own data, so they stay right if the data changes. cfg.route names the exam question (by id) and the practical task linked from From notes to the exam. Completed challenges are saved in progress.tools.

Display settings

The Display settings button at the bottom of every page (and in Help) opens a panel for text size, light or dark colours, high contrast, reduced motion and a stronger focus outline. The choices are saved on the device in localStorage (ict4it1-display) and set as attributes on the page (data-text, data-contrast, data-motion, data-focus), styled at the end of css/style.css. The development tools include an accessibility test (a11y-v5.js) that runs the axe checker on the main pages in four display modes.

Version number and What’s new

The version and the date of the last update are set at the top of js/app.js (ICT.version and ICT.updated, as YYYY-MM-DD) and shown at the bottom of every page. When you change the site, update the date and add a line to What’s new (changelog.html).

Checking your changes

Reload the page after saving. If a file has a mistake, such as a missing comma or a question id that does not exist, a yellow box at the top of the page lists the problem. If a page goes blank, the last edit usually has a missing comma, quote or bracket: open the browser console (F12) to see the line number. For a new written question, try the model answer on the subtopic's Exam practice: it should score full marks.