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.
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.
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
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.
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
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.
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.
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.
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.
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.
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.
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
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
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.
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
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).
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.