Self-learning reading guide — Promo Computing
These recommendations are based on the VJC PDF, A notes and school/MOE resources already in your vault. “Best” here means the most useful fit for your promo chapters and preference for worked examples, rather than a ranking of every available resource.
Default route: VJC to understand → A notes to consolidate → a closed-book diagram or program → an exam question. For ethics, start with your teacher’s deck. For stack/queue implementations, make A and the school Data Structures chapter your main reading.
The senior’s Star notes are now included as an optional concise second pass. They are best used after the primary source named for the chapter. Read the linked topic selectively: several PDFs contain older conventions or over-generalised claims, so the numbered promo chapter and source cautions remain authoritative for this pack. Use the exam answering toolkit instead of memorising the Model Answers PDF verbatim.
VJC references below use the PDF viewer’s page number in the 504-page unabridged file, not the printed page number, which restarts inside chapters. VJC chapter numbers differ from this revision pack. A links open the corresponding split note in Obsidian; when a file covers several topics, the text specifies which section to read.
flowchart LR A[Read the selected source] --> B[Close it and redraw the example] B --> C[Trace or run a changed example] C --> D[Attempt a chapter question] D --> E[Check the solution and repair gaps] E --> F[Rebuild your mindmap from memory]
You do not need to read every source cover to cover. Use the first reading for explanation; open the second when you need another example, a concise recap or the missing coverage identified below.
01. Ethics, impact and laws
Read first: Teacher ethics deck, pp. 2–12 first; then VJC PDF pp. 401–406 for a fuller explanation of ethics and impact.
Then use: A: Ethics and A: Personal Data Protection Act (PDPA). VJC Chapter 19 (PDF pp. 386–400) is optional background on data management.
Star second pass: 3G — Data Protection, Ethics and Social Issues, limited to impact examples, professional conduct and PDPA. It does not replace the teacher deck for CMA, POFMA and POHA, and its information-security sections are outside this promo boundary.
Why this pairing: The teacher deck brings the four named laws and your class framework together. Older VJC/A material is useful background but may not cover every required law or later changes.
Visual / practical checkpoint: Draw four boxes for CMA, POFMA, POHA and PDPA. Sort short scenarios into them; justify each choice using the action and harm. Separately map one technology to social, ethical and economic effects.
02. Data representation and character encoding
Read first: VJC PDF pp. 82–90 for number systems; VJC PDF pp. 24–25 for character encoding.
Then use: A: Data Representation
Star second pass: 3A — Data Representation for number-base conversions and hexadecimal applications only. Do not learn its byte/character or Unicode/UTF-8 definitions; use Chapter 02 and VJC for those distinctions.
Why this pairing: VJC gives you a teaching sequence; A is a compact second pass for definitions and conversions.
Visual / practical checkpoint: Draw a bit-position table. Convert one value between denary, binary and hexadecimal, then explain the difference between a character, its code point and its encoded bytes.
03. Validation, verification, check digits and testing
Read first: VJC PDF pp. 164–181, Chapter 11. Start with validation/verification; check-digit examples begin on PDF p. 179.
Then use: A: Check Digit plus the testing/error sections of A: Chapter 1 - Introduction.
Star second pass: use the validation, verification, program-error and test-case sections of 2A — Programming Elements. Treat its claimed practical mark allocations as historical unless confirmed by the current paper.
Why this pairing: VJC combines explanations with code examples. A supplies a quick check-digit recap. Read regex/date-library details only to the depth used in class.
Visual / practical checkpoint: Make a weighted-digit working table. Then build normal, boundary and invalid test cases with expected results; explain why validation does not establish that data is true.
04. Database foundations, keys and integrity
Read first: VJC PDF pp. 225–230, Chapter 16 Part 1, opening sections.
Then use: A: Intro to DBMS and A: Relational Database
Star second pass: read the database vocabulary, key and anomaly sections of 3B — Relational Database. Retain Chapter 04’s qualifications on secondary keys, optional foreign-key NULLs and cascading updates.
Why this pairing: The small tables in VJC make records, fields, redundancy and keys concrete; A helps consolidate the vocabulary.
Visual / practical checkpoint: Draw two linked tables. Mark candidate, primary and foreign keys, then give one valid and one invalid foreign-key value.
05. Normalisation and ER diagrams
Read first: VJC PDF pp. 231–236, normalisation followed by ER modelling.
Then use: A: Normalisation; use the ER relationships in A: Databases and Data Management as a recap.
Star second pass: use the dependency and normal-form summary in 3B — Relational Database, then attempt the focused normalisation/ERD practice without notes.
Why this pairing: VJC shows the progression from dependencies to tables and relationships. Work through the table changes, not just the normal-form definitions.
Visual / practical checkpoint: Draw dependency arrows, transform a sample through 1NF → 2NF → 3NF, label every key, and show the resulting cardinalities in an ER diagram.
06. SQL and working with SQLite
Read first: VJC PDF pp. 238–251 for SQL and VJC PDF pp. 253–263 for Python sqlite3.
Then use: A: SQL statements (part 1), A: SQL statements (part 2) and A: SQL & SQLite Summary. For guided GUI practice: MOE DB Browser tutorial.
Why this pairing: VJC is the main walkthrough. Add A Part 2 for aggregation/GROUP BY/HAVING coverage and the MOE tutorial when you need step-by-step database practice.
Visual / practical checkpoint: Create two tiny tables. Predict a JOIN result by hand, run it, then add GROUP BY and HAVING. Complete a parameterised insert → commit → select → fetch workflow.
07. NoSQL theory
Read first: VJC PDF pp. 264–267, Chapter 17 Part 1, sections 1–4; stop before the MongoDB practical sections.
Then use: A: NoSQL databases, theory portions; compare with school NoSQL introduction, pp. 1–3.
Why this pairing: Use these for data models and reasons to choose a database. Their relational-versus-NoSQL comparisons need qualification; product capabilities vary.
Visual / practical checkpoint: Represent the same customer/order data as tables and as a document. Compare schema flexibility, relationships, scaling and consistency requirements. Skip MongoDB/PyMongo setup and CRUD coding for this theory-only scope.
08. Network foundations, hardware and architectures
Read first: VJC PDF pp. 438–449 for network types; VJC PDF pp. 466–470 for client-server/P2P architectures.
Then use: A: Network 1 for hardware and fundamentals; A: Networks 4 for architectures.
Star second pass: 4F — Networks is a broad recap of network types, devices and architectures. Use the network deep dive when its wording conflicts with the numbered chapters.
Why this pairing: VJC provides context; A brings together devices and concise comparisons. A Network 4 and VJC Part 3 also contain socket material—select the relevant theory sections.
Visual / practical checkpoint: Sketch a home/school LAN with switch, access point and router. Trace a request to a server and explain each device’s role.
09. OSI and TCP/IP layers
Read first: VJC PDF pp. 407–421, Chapter 21 Part 1: protocols, OSI, TCP/IP and encapsulation.
Then use: A: Network 1 for OSI and A: Network 2 for TCP/IP and layering.
Star second pass: use the TCP/IP and encapsulation sections of 4F — Networks. Keep the school five-layer model and Chapter 09’s router-hop explanation as the exam reference.
Why this pairing: VJC supplies the layered explanation and diagrams; A works well for rebuilding a comparison chart from memory.
Visual / practical checkpoint: Draw OSI beside the TCP/IP model used in your lessons. Trace data down the sender and up the receiver, labelling encapsulation, addresses and protocol data units.
10. IP addressing, subnetting and switching
Read first: VJC PDF pp. 450–459 for addresses/subnetting; VJC PDF pp. 429–435 for packet/circuit switching.
Then use: A: Network 2 for addressing/subnet calculations; use school Network3 slides for additional worked subnet examples.
Star second pass: use the IPv4/IPv6, MAC, switching and network-device portions of 4F — Networks. Correct the senior model answer: subnet bits extend the network prefix, not the host/device portion.
Why this pairing: VJC gives the conceptual picture. A and school exercises provide the calculation practice that reading alone cannot supply.
Visual / practical checkpoint: Draw network bits and host bits for a given prefix. Calculate the network, broadcast and usable host range, then sketch packet-switched and circuit-switched paths.
11. TCP, UDP, checksums and application protocols
Read first: A: Network 3 for checksum/TCP/UDP; then A: Networks 4 for application protocols.
Then use: VJC PDF pp. 422–428 for HTTP/FTP/email and VJC PDF pp. 459–464 for DNS. Use school Network4, checksum pp. 4–8 for extra calculation practice.
Star second pass: use the DNS, client-server and protocol overview in 4F — Networks, but use Chapters 09–11 for the corrected distinctions between frames/packets/segments, DNS recursion/referrals and checksum locations.
Why this pairing: A is the most convenient starting point for this combined chapter. VJC adds fuller protocol explanations; the school slides help with checksum working.
Visual / practical checkpoint: Draw a TCP handshake, a DNS lookup and a DHCP message sequence. Calculate a checksum using an end-around carry; explain what an accepted checksum does and does not establish.
12. Python 1: algorithms and problem solving
Read first: A: Chapter 1 - Introduction first.
Then use: VJC PDF pp. 1–14 is optional Python orientation, not a substitute for the algorithm-design material.
Star second pass: 1A — Algorithmic Representation is useful for algorithms, modular design and function/procedure language. Skip its decision-table and rigid pseudocode details unless your teacher specifically assigns them; the current syllabus requires logical, unambiguous pseudocode without one prescribed syntax.
Why this pairing: A follows this chapter’s computational-thinking and problem-solving structure more closely than VJC Chapter 1. Skip old installation instructions if your environment already works.
Visual / practical checkpoint: For one problem, draw input → processing → output, decompose it into subproblems, then write pseudocode and a trace table. Abstraction removes irrelevant detail—the A wording contains a typo here.
13. Python 2: types, expressions and I/O
Read first: VJC PDF pp. 15–32, Chapter 2. Focus first on types, conversion, input/output, arithmetic and Boolean expressions.
Then use: A: Chapter 2 - Getting Started with Python
Why this pairing: VJC’s short examples are good for predicting output before running code. Revisit the longer string sections with Chapter 16 of this pack.
Visual / practical checkpoint: Make an expression table with predicted value AND type. Include / versus //, conversion of input(), precedence and a compound Boolean condition.
14. Python 3: control statements
Read first: VJC PDF pp. 33–47, Chapter 3.
Then use: A: Chapter 3 - Control Statements
Why this pairing: Use VJC for the first explanation and A to organise selection, iteration and common loop patterns.
Visual / practical checkpoint: Trace a sentinel loop and a nested loop. Record the condition, index/counter, accumulator and output at each step; include zero-iteration and boundary cases.
15. Python 4: functions and recursion
Read first: VJC PDF pp. 70–81 for functions, especially scope on pp. 77–79; then VJC PDF pp. 108–121 for recursion.
Then use: A: Chapter 4 - Functions
Star second pass: use the call-stack and recursion sections of 2A — Programming Elements. The concise response frames are retained and corrected in the exam answering toolkit.
Why this pairing: VJC separates functions and recursion into teaching units, which is helpful when learning independently. A brings them back into your class chapter order.
Visual / practical checkpoint: Draw stack frames for a small recursive call, showing descent and returned values. Also trace a same-named local/global variable and distinguish print from return.
16. Python 5: strings and text files
Read first: VJC PDF pp. 24–32 for strings, followed by VJC PDF pp. 91–107, Chapter 7 File I/O.
Then use: A: Chapter 5 - Strings and Text Files
Why this pairing: This pairing supplies both string operations and the file-processing workflow. Prioritise text-file examples matching your lab work.
Visual / practical checkpoint: Draw file line → strip/split → convert → process → output. Run it on an empty file, a one-line file and a file with a trailing newline.
17. Python 6: arrays, lists and dictionaries
Read first: VJC PDF pp. 48–69, Chapter 4; lists on pp. 49–61 and dictionaries on pp. 65–69.
Then use: A: Chapter 6 - Array, List, Dictionary
Why this pairing: VJC’s list-copy examples are particularly useful for understanding references. Use A for the array/list distinction and your class’s organisation.
Visual / practical checkpoint: Draw references for assignment, shallow copy and nested lists. Trace a two-dimensional list and build a frequency dictionary from a short input.
18. Python 7: object-oriented programming
Read first: VJC PDF pp. 184–192, Chapter 12.
Then use: A: Chapter 7 - Object Oriented Programming 2
Star second pass: 2B — Object-Oriented Programming is a strong concise recap of classes, encapsulation, inheritance, polymorphism and class diagrams. Apply each definition to the objects/methods in the question.
Why this pairing: Start with VJC’s class/object examples; use A for your class conventions and extra implementation detail.
Visual / practical checkpoint: Draw a class diagram and two separate object-state boxes. Trace constructor calls and method changes, then explain inheritance/overriding where taught.
19. Python 8.1–8.3: collections and linked lists
Read first: VJC PDF pp. 193–205, Chapter 13, singly linked lists.
Then use: A: Chapter 8A; supplement with school Data Structures, §§8.1–8.3, pp. 1–13.
Star second pass: 1G — Linked List is useful for pointer diagrams, operations and static free-list terminology. Use Chapter 19/toolkit for the corrected pointer order when inserting into an ordered list.
Why this pairing: Use VJC to understand the links and A/school notes for collections and the expected operations. Follow the representation specified in each exercise.
Visual / practical checkpoint: Draw before/after pointer diagrams for insertion and deletion at the head and middle. Test empty and single-node lists. Do not continue into trees or doubly/circular linked-list implementations.
20. Python 8.4: stacks
Read first: VJC PDF pp. 206–207 for the initial LIFO picture; then A: Chapter 8B.
Then use: school Data Structures, §8.4, pp. 14–30
Star second pass: 1D — Stack adds concise array/linked comparisons and infix/postfix applications. State which top-pointer convention the current question uses before applying its algorithms.
Why this pairing: VJC is a short introduction. A and the school chapter should carry the implementation practice, including operations and applications.
Visual / practical checkpoint: Draw the stack after each push/pop and track top. Implement the requested representation, then test underflow and overflow where capacity is fixed.
21. Python 8.5: linear, linked and circular queues
Read first: VJC PDF pp. 208–209 for the FIFO picture; then A: Chapter 8C.
Then use: school Data Structures, §8.5, pp. 31–39. Stop before §8.6 / A Chapter 8D (trees).
Star second pass: 1E — Queue gives a helpful linear/circular/linked comparison. Do not mix its rear-pointer/fullness convention with a count-based or reserved-slot implementation from another question.
Why this pairing: A and the school chapter are the main implementation resources. VJC’s two queue pages are too brief to be your sole source for this chapter.
Visual / practical checkpoint: Draw array slots with front, rear and count through a wrap-around sequence; also draw linked-queue head/tail changes. Test empty → one item → empty and full-queue insertion. State the pointer convention before tracing.
How to handle disagreements between sources
- Use your teacher’s stated promo scope and the question’s requirements to decide what to study and which implementation to use. Older notes cover a wider course.
- A’s opening “Practical” note contains blanket bans on constructs such as
range, slicing andbreak. Do not treat those as universal Python or exam rules; apply restrictions when the teacher or particular task specifies them. - A’s Python integer-range statement is misleading: Python integers have arbitrary precision, subject to available resources, rather than a fixed signed 32-bit range. See the official Python numeric-types reference.
- Avoid universal statements such as “NoSQL cannot support transactions”. For example, MongoDB supports multi-document transactions; use qualified comparisons about the particular model and requirements. See MongoDB’s transaction documentation.
- For legal topics, use the teacher deck to organise your exam revision; older source notes are not a guarantee of current legal wording. Distinguish an ethical concern from an offence or statutory obligation.
- For queues, different valid implementations give
reardifferent meanings. Write down the convention and empty/full conditions before comparing code or answers.
Turn reading into exam preparation
- Read one section, then cover it and reproduce its main diagram or algorithm.
- Change the example’s input. Predict the result before checking or running it.
- Attempt the corresponding revision-note question without consulting the mindmap.
- Check the solution and explain any lost point in one sentence.
- Rebuild that chapter’s mindmap the next day, using the other source only to fill a specific gap.
The 21 chapter notes and their linked solutions provide the immediate practice route. Use the supplied school past papers after topic practice, selecting only questions within your stated scope. A source’s coverage or a past question’s recurrence is not a prediction of the upcoming paper.