← 返回资讯屏轩教育 · 行业资讯

Year 12 WJEC Computer Science: High-Frequency Topics & Common Mistake Analysis | Year 12 WJEC 计算机:高频考点与易错题分析

2026-07-22 03:00 · 本文部分内容由AI辅助创作

📚 Year 12 WJEC Computer Science: High-Frequency Topics & Common Mistake Analysis | Year 12 WJEC 计算机:高频考点与易错题分析

In Year 12 WJEC Computer Science, questions often target core concepts such as data representation, Boolean logic, computer architecture, and algorithms. A large number of candidates lose marks not because they do not know the material, but because they fall into predictable pitfalls. This article identifies those high-frequency topics and analyses the most common mistakes, providing clear, bilingual explanations to help you avoid them on exam day.

在 Year 12 WJEC 计算机课程中,考题经常针对数据表示、布尔逻辑、计算机体系结构和算法等核心概念。许多考生失分并非因为不懂知识,而是掉入了可以预见的陷阱。本文梳理了这些高频考点,并分析了最常见的错误,提供清晰的中英双语解释,帮助你在考试中避免失误。

1. Binary & Hex Conversion Mastery | 二进制与十六进制转换精通

When converting binary to hexadecimal, the most frequent error is incorrect grouping of bits. For integers, bits must be grouped from right to left, while for fractional parts the grouping proceeds from the binary point to the right. Failing to follow this direction leads to completely wrong hex digits.

将二进制转换为十六进制时,最常见的错误是位分组方向不对。整数部分必须从右向左分组,而小数部分则从小数点向右分组。如果没有遵循这一方向,就会导致完全错误的十六进制数字。

Another common slip is forgetting that hexadecimal digits A–F correspond to decimal values 10–15. Many students mistakenly interpret 'A' as 11 or treat 'F' as 16, which corrupts the entire conversion.

另一个常见失误是忘记十六进制数字 A–F 对应十进制 10–15。许多学生错误地将 'A' 解释为 11 或把 'F' 当作 16,从而破坏了整个转换。

When converting from hexadecimal to binary, always expand each hex digit into exactly 4 bits, padding with leading zeros if necessary. A single missing zero can shift all subsequent bits and produce an incorrect binary value.

从十六进制转换到二进制时,务必将每个十六进制数字展开为恰好 4 位,必要时高位补零。哪怕漏掉一个零,也可能导致所有后续位偏移,产生错误的二进制值。


2. Signed Binary and Two's Complement Pitfalls | 有符号二进制与补码的陷阱

Two's complement representation is heavily examined, especially the range of values for a given number of bits. A typical error is writing the highest positive value as 2ⁿ⁻¹ rather than 2ⁿ⁻¹ − 1. For an 8‑bit signed integer, the range is −128 to +127, not −128 to +128.

补码表示是常考内容,尤其是给定位数下的取值范围。常见错误是把最大正值写成 2ⁿ⁻¹,而不是 2ⁿ⁻¹ − 1。对于 8 位有符号整数,范围是 −128 到 +127,而不是 −128 到 +128。

Another common mistake occurs when negating a two's complement number. Students often just flip the bits and forget to add 1, or they add 1 before inverting, which gives the wrong sign. The correct procedure is: invert all bits, then add 1 to the least significant bit.

另一个常见错误出现在对补码取负时。学生往往只翻位而忘记加 1,或者先加 1 再取反,导致符号错误。正确的步骤是:将所有位取反,然后在最低有效位加 1。

When adding two's complement numbers, overflow must be checked carefully. Overflow occurs if the carry into the sign bit and the carry out of the sign bit are different. Many exam answers claim overflow simply because the result looks large, without performing the XOR check.

进行补码加法时,必须仔细检查溢出。当进入符号位的进位与出符号位的进位不同时,才发生溢出。许多考试答案仅仅因为结果看起来很大就声称溢出,而没有执行异或检查。


3. Floating Point Normalisation Errors | 浮点数标准化常见错误

In WJEC exams, floating point representation is a recurrent topic. The most persistent mistake is failing to normalise the mantissa correctly. A normalised positive mantissa must begin with 0.1 for the set format, but students often leave the mantissa as 0.01 or 0.001, forgetting to adjust the exponent accordingly.

在 WJEC 考试中,浮点数表示是反复出现的话题。最顽固的错误是未能正确规格化尾数。在规定的格式中,规格化正尾数必须以 0.1 开头,但学生经常把尾数留为 0.01 或 0.001,忘记相应调整指数。

Equally common is neglecting to maximise precision. After an arithmetic operation, the mantissa may contain leading zeros that waste bits. Exam answers that do not normalise lose marks even if the value is numerically correct.

同样常见的是忽略了最大化精度。算术运算后,尾数可能包含前导零,浪费了比特。即使数值正确,未规格化的答案也会失分。

or rounded to the available number of bits, and the smallest representable value depends on the exponent. A floating point number in the form mantissa × 2ᵉˣᵖ may therefore lose precision.

将十进制小数转换为二进制时,靠近最后一位的舍入误差会引发困惑。学生必须了解,尾数会被截断或舍入到可用位数,可表示的最小值取决于指数。因此,形如 尾数 × 2ᵉˣᵖ 的浮点数可能会损失精度。


4. Boolean Algebra & Logic Simplification | 布尔代数与逻辑化简

De Morgan's laws are tested repeatedly, yet they are frequently misapplied. The correct forms are ¬(A · B) = ¬A + ¬B and ¬(A + B) = ¬A · ¬B. A common error is to change the operator but forget to invert all variables, writing ¬(A + B) = ¬A + ¬B instead of ¬A · ¬B.

德摩根定律被反复考查,却经常被误用。正确形式是 ¬(A · B) = ¬A + ¬B 和 ¬(A + B) = ¬A · ¬B。一个常见错误是改变了运算符,却忘记将所有变量取反,例如把 ¬(A + B) 写成 ¬A + ¬B 而不是 ¬A · ¬B。

When simplifying expressions using Boolean identities, candidates sometimes 'cancel' milarly, A · A = A. Failing to use the absorption law A + A·B = A is a frequent oversight.

在使用布尔恒等式化简表达式时,考生有时会错误地“抵消”项,把布尔代数当作普通代数。例如,A + A 不等于 2A,而等于 A。类似地,A · A = A。未能使用吸收律 A + A·B = A 是常见的疏忽。

Another tricky area is generating a Boolean expression from a truth table. Many students list minterms incorrectly or forget to OR them. An extra pitfall is leaving the expression in a non‑simplified form when the question explicitly asks for minimal SOP or POS.

另一个棘手领域是从真值表生成布尔表达式。许多学生错误地列出最小项或忘记将其相或。额外陷阱是当题目明确要求最简积之和或和之积时,却保留未简化的表达式。


5. K-Map Grouping Misconceptions | 卡诺图圈组常见误解

Karnaugh maps are a powerful simplification tool, but exam answers reveal consistent grouping errors. The most frequent mistake is failing to treat the map as wrapping around at the edges and corners. A group of '1's in the top row and bottom row can be combined, as can cells in the far-left and far-right columns.

卡诺图是一种强大的化简工具,但考试答案暴露出持续的分组错误。最常见的错误是没有将图的边缘和角视为环绕。顶行和底行的“1”可以组合,最左列和最右列的单元格也可以组合。

Students often break groups into smaller, non‑optimal clusters, resulting in a term with more literals than necessary. The correct approach is to always aim for the largest possible group, ensuring sizes are powers of two (1, 2, 4, 8). Unnecessarily small groups lead to non‑simplified expressions.

学生经常把组拆分成更小的非最优簇,导致项含有超出必要的文字。正确的做法是始终瞄准最大可能的组,确保组的大小是 2 的幂(1, 2, 4, 8)。不必要的小组会导致未化简的表达式。

When 'don't care' conditions (denoted by X) are included, candidates either ignore them completely or always include them as 1s. The rule is to treat a don't care as a 1 only if it helps to enlarge a group; otherwise, treat it as a 0. Over‑using don't cares can create an expression that is no longer equivalent to the original function.

当包含“无关项”(用 X 表示)时,考生要么完全忽略它们,要么总是把它们当作 1。规则是仅当无关项有助于扩大组时才将其视为 1;否则视为 0。过度使用无关项可能会生成与原函数不等价的表达式。


6. CPU Architecture & Fetch‑Decode‑Execute Cycle | CPU 架构与取指‑执行周期

The Von Neumann architecture and the fetch‑decode‑execute cycle are core Year 12 content. A major source of lost marks is confusing the roles of the MAR (Memory Address Register) and MDR (Memory Data Register). The MAR holds the address of the memory location to be read from or written to, while the MDR holds the actual data being transferred.

冯·诺依曼架构和取指‑解码‑执行周期是 Year 12 的核心内容。失分的一个主要来源是混淆 MAR(存储器地址寄存器)和 MDR(存储器数据寄存器)的作用。MAR 保存待读写内存位置的地址,而 MDR 保存实际传输的数据。

In the fetch stage, the Program Counter (PC) is copied to the MAR, then the instruction is fetched into the MDR, and finally copied to the CIR (Current Instruction Register). A common error is stating that the PC is incremented before it is copied to the MAR, which would fetch the wrong instruction.

在取指阶段,程序计数器 (PC) 被复制到 MAR,然后指令被取入 MDR,最后复制到 CIR(当前指令寄存器)。常见错误是声称 PC 在复制到 MAR 之前就已递增,这将导致取回错误的指令。

When describing the effects of a clock pulse on registers, students often fail to indicate the precise order of data movement. For instance, after a store operation, the MDR is placed on the data bus and the address is on the address bus simultaneously. Explaining this as a sequence rather than a single parallel event can lose marks.

在描述时钟脉冲对寄存器的影响时,学生经常未能指出数据移动的精确顺序。例如,在存储操作后,MDR 被放到数据总线上,地址也在地址总线上同时有效。若将其解释为顺序事件而非单一并行事件,可能失分。


广告 / Sponsored

7. Assembly Language & Addressing Modes | 汇编语言与寻址模式

WJEC uses a simplified assembly language. The most commonly confused addressing modes are immediate, direct, and indirect. With immediate addressing, the operand is a value prefixed by #, e.g. LDA #5. Direct addressing uses a memory address, while indirect uses a pointer (often indicated by brackets). Misreading a question that requires indirect memory access leads to completely different operand values.

WJEC 使用一种简化的汇编语言。最容易混淆的寻址模式是立即寻址、直接寻址和间接寻址。在立即寻址中,操作数是一个以 # 为前缀的值,例如 LDA #5。直接寻址使用内存地址,间接寻址使用指针(经常用括号标明)。若题目要求间接内存访问,误读会导致完全不同的操作数值。

Another tricky point is the difference between loading an address and loading the content of that address. LDA num loads the value stored at label 'num', while LDA #num (where possible) loads the address itself as data. Many students mix these up, especially when the question involves pointers.

另一个棘手点是加载地址与加载地址内容的区别。LDA num 加载存储在标签 'num' 处的值,而 LDA #num(若可用)加载地址本身作为数据。许多学生混淆二者,尤其当题目涉及指针时。

flag if A >= B for unsigned comparison. Using the wrong branch condition (e.g. BCS instead of BEQ) is a classic error in tracing table questions.

分支指令依赖于标志位,但学生经常忘记 CMP 指令设置了哪些标志。CMP A, B 在 A = B 时设置零标志,在无符号比较中 A >= B 时设置进位标志。在跟踪表题目中使用错误的分支条件(例如 BCS 而非 BEQ)是经典错误。


8. Data Structures: Stacks, Queues, and Trees | 数据结构:栈、队列与树

When tracing stack operations, a repeat error is failing to check for stack overflow before a PUSH, or stack underflow before a POP. In an array‑based stack with a finite size, attempting to PUSH when the top pointer equals the maximum index causes data to overwrite other memory or raises an error that exam answers must acknowledge.

在跟踪栈操作时,重复出现的错误是执行 PUSH 前未检查栈上溢,或者执行 POP 前未检查栈下溢。在一个大小有限的基于数组的栈中,当栈顶指针等于最大索引时尝试 PUSH,会导致数据覆盖其他内存或引发错误,考试答案必须指出这一点。

y reporting the queue as empty when it is full. The condition for a full queue is (rear + 1) % t = rear. Overlooking the wasted slot in a full array implementation is a typical mistake.

对于用数组实现的循环队列,混淆 front 和 rear 指针会导致错误计算元素个数,或在队列已满时误报为空。队列满的条件是 (rear + 1) % size = front,空的条件是 front = rear。在满数组实现中忽略那个浪费的空位是典型错误。

Binary tree traversals (pre‑order, in‑order, post‑order) are often tested. A frequent error is starting the traversal from a node other than the root, or missing the recursive rule. For in‑order, the correct sequence is left subtree, root, right subtree. Even after drawing the tree correctly, students output the nodes in a jumbled order by skipping recursive steps.

二叉树遍历(前序、中序、后序)经常被考查。常见错误是从非根节点开始遍历,或遗漏递归规则。中序正确的次序是左子树、根、右子树。即使正确地画出了树,学生也常因跳过递归步骤而以混乱的顺序输出节点。


9. Sorting & Searching Algorithms Efficiency | 排序与搜索算法效率

Bubble sort, insertion sort, and binary search are staples of the algorithms unit. When stating the worst‑case time complexity of bubble sort as O(n²), many answers fail to note that the best case for an optimised bubble sort (with a swap flag) is O(n). Simply writing "O(n²)" without contextual qualifiers loses marks in efficiency comparison questions.

冒泡排序、插入排序和二分搜索是算法单元的必考点。在陈述冒泡排序最坏时间复杂度为 O(n²) 时,许多答案没有指出优化版冒泡排序(带有交换标志)的最佳情况是 O(n)。在效率比较题中,仅写“O(n²)”而不加限定语会失分。

Binary search is a high‑accuracy topic, but candidates frequently forget the precondition that the array must be sorted. Applying binary search to an unsorted list is a critical conceptual error that invalidates the entire algorithm trace. Additionally, off‑by‑one errors when updating the low and high indices are depressingly common.

二分搜索是一个高准确率话题,但考生常常忘记前提条件:数组必须已排序。对未排序的列表应用二分搜索是一个关键概念错误,会导致整个算法跟踪无效。此外,更新低索引和高索引时出现的 off‑by‑one 错误也极为常见。

Comparing insertion sort with bubble sort for almost‑sorted data, insertion sort requires fewer comparisons and shifts. Students sometimes claim they have identical efficiency or reverse the characteristics. For a small, partially sorted list, insertion sort is generally more efficient in practice, a nuance that examination reports repeatedly highlight.

针对近乎有序数据比较插入排序和冒泡排序,插入排序需要更少的比较和移动。学生有时声称二者效率相同或把特性弄反。对于一个小的、部分有序的列表,插入排序在实践中通常更高效,这一细微之处在考试报告中反复被强调。


10. Networking Protocols & Layering Model | 网络协议与分层模型

The TCP/IP stack layers – Application, Transport, Internet, Link – are examined in detail. A frequent mistake is placing protocols in the wrong layer. For instance, HTTP is an application layer protocol, not a transport layer protocol. Equally, TCP and UDP belong to the transport layer, while IP sits in the internet layer. Misplacing these protocols shows a fundamental misunderstanding of layering.

TCP/IP 协议栈的各层——应用层、传输层、互联网层、链路层——会被详细考查。一个常见错误是把协议放到错误的层。例如,HTTP 是应用层协议,而非传输层协议。同样,TCP 和 UDP 属于传输层,而 IP 位于互联网层。放错这些协议暴露出对分层的根本误解。

When describing the purpose of the transport layer, many answers vaguely mention 'reliability' without specifying that TCP provides reliable, connection‑oriented communication via acknowledgements and sequence numbers, while UDP offers a connectionless, low‑overhead alternative. Accurate terminology is essential for full marks.

在描述传输层的用途时,许多答案含糊地提及“可靠性”,却没有具体说明 TCP 通过确认和序列号提供可靠的、面向连接的通信,而 UDP 提供无连接、低开销的选项。使用准确术语是获得满分的关键。

Subnetting questions cause anxiety. A typical error is confusing the network address with the broadcast address, or assigning a host address that is the subnet identifier. When given an IP address and a subnet mask, students must perform a bitwise AND to derive the network ID, but they often miscalculate the number of host bits, leading to an invalid range.

子网划分题目令人头疼。典型错误是混淆网络地址与广播地址,或分配了一个恰为子网标识符的主机地址。当给定 IP 地址和子网掩码时,学生必须执行按位与运算以得出网络 ID,但他们经常错误计算主机位数,导致无效的范围。


11. Cybersecurity Threats & Defences | 网络安全威胁与防御

Questions on SQL injection regularly appear. The classic mistake is failing to explain the threat mechanism clearly: malicious SQL statements are inserted into input fields and executed on the server, potentially exposing or destroying databases. Answers often focus only on the outcome and miss how parameterised queries or input validation prevent the attack.

关于 SQL 注入的题目经常出现。经典错误是未能清晰解释威胁机制:恶意 SQL 语句被植入输入字段并在服务器上执行,可能泄露或破坏数据库。答案经常只关注结果,而遗漏了参数化查询或输入验证如何阻止攻击。

In discussing malware, students interchangeably use virus, worm, and trojan without distinguishing their propagation methods. A worm spreads autonomously via networks, a virus attaches to files and requires user interaction, while a trojan disguises itself as legitimate software. Using these terms loosely loses precision marks.

在讨论恶意软件时,学生交替使用病毒、蠕虫和特洛伊木马这些术语,却没有区分它们的传播方式。蠕虫通过网络自主传播,病毒附着在文件上并需要用户交互,而特洛伊木马伪装成合法软件。滥用这些术语会失去准确性分数。

When asked about protecting a network, many responses simply list a firewall and encryption without explaining how they work. A firewall filters packets based on rules, while encryption encodes data so that only authorised parties can read it. Similarly, penetration testing must be linked to identifying vulnerabilities before malicious hackers do. Descriptive depth is rewarded.

当被问及如何保护网络时,许多回答只是列出防火墙和加密,而不解释它们如何工作。防火墙根据规则过滤数据包,加密则对数据编码,使只有授权方才能读取。同样,渗透测试必须与在恶意黑客发现之前识别漏洞相关联。描述深度能得到奖励。


12. Programming Concepts: Parameter Passing & Recursion | 编程概念:参数传递与递归

Parameter passing by value and by reference is a perennially tricky topic. When a parameter is passed by value, a copy is made; changes inside the subroutine do not affect the original variable. When passed by reference, the address is passed, so modifications alter the original. Exams test this by giving a subroutine and asking for final variable values. Misidentifying the passing mechanism leads to entirely wrong output traces.

按值传递和按引用传递参数是一个长期以来的棘手话题。当参数按值传递时,会生成副本;子程序内部对副本的更改不会影响原始变量。按引用传递时,传递的是地址,因此修改会改变原始变量。考试通过给出子程序并要求写出最终变量值来考查这一点。错误识别传递机制会导致完全错误的输出跟踪。

Recursion is another error‑prone area. The two essential elements are a base case to stop recursion and a recursive case that calls a smaller instance. A common mistake is writing a recursive function without a reachable base case, causing infinite recursion and eventual stack overflow. Even when the base case exists, candidates sometimes use the wrong operand, such as n + recursive(n‑1) instead of n * recursive(n‑1) for factorial.

递归是另一个容易出错的领域。两个基本要素是停止递归的基线条件以及调用较小实例的递归条件。常见错误是编写的递归函数没有可达的基线条件,导致无限递归并最终造成栈溢出。即使基线条件存在,考生有时也使用错误的运算,例如在阶乘中写成 n + recursive(n‑1) 而不是 n * recursive(n‑1)。

Tracing recursive calls requires careful stack simulation. For a call recursive(3), students must push a new stack frame each time and then unwind, combining results. The classic pitfall is combining results in the wrong order or forgetting to multiply the returned value. Diagrams help, but many skip them under time pressure and make simple arithmetic mistakes.

跟踪递归调用需要仔细模拟栈。对于调用 recursive(3),学生每次必须推入新的栈帧,然后回溯并合并结果。典型的陷阱是以错误顺序合并结果,或忘记乘以返回的值。画图有帮助,但许多人在时间压力下跳过这一步,从而犯下简单的算术错误。


Published by TutorHao | Computer Science Revision Series | aleveler.com

广告 / Sponsored
Linux高级程序设计(高等院校计算机技术十二五规划教材)/刘加海/季江民/浙江大学出版社
计算机 备考教辅 · 正版现货 · 与本文内容相关
查看详情 / View on Taobao参考价 ¥55.6

更多咨询请联系16621398022(同微信)

备考资讯每日更新,关注不错过
考纲变化 · 科目分析 · 学习方法
扫码关注公众号 tutorhao
在微信里长按二维码识别关注
或截图后用「扫一扫 → 相册」选择本图
公众号:tutorhao