📚 Common Pitfalls in IGCSE AQA Computer Science | IGCSE AQA 计算机:易错题精讲
Mistakes in computer science exams often arise not from a lack of understanding, but from small slips in logic, conversion, or syntax. This article walks through the most frequent errors seen in IGCSE AQA Computer Science papers, clarifies the correct reasoning, and gives you the confidence to avoid them. Each section presents a typical tricky question type and the common wrong answer, followed by the accurate method.
计算机科学考试中的错误往往并非源于概念不清,而是逻辑、转换或语法上的小疏忽。本文梳理了 IGCSE AQA 计算机考试中最常见的失分点,阐明正确的思路,帮助你建立信心避开陷阱。每一节都展示一类典型的易错题型以及常见的错误答案,再给出正确的解题方法。
1. Two’s Complement Subtraction | 二进制补码减法
A classic pitfall is performing binary subtraction column by column using decimal-style borrowing. Since binary is base‑2, a borrow brings 2, not 10. This often leads to incorrect results, especially when the minuend is smaller than the subtrahend.
一个经典错误是用十进制借位的方式逐列做二进制减法。因为二进制是基数为2,借一位带来的是 2 而不是 10。当被减数小于减数时,这种错误尤其常见。
The correct method is to convert the number being subtracted into its two’s complement form and then add. For example, to calculate 0110₂ (6) − 0011₂ (3): find the two’s complement of 0011 → 1100 + 1 = 1101. Add 0110 + 1101 = (1)0011, ignore the carry → 0011₂ (3).
正确做法是将减数转换为二进制补码,然后做加法。例如计算 0110₂ (6) − 0011₂ (3):先求 0011 的补码 → 1100 + 1 = 1101。再做加法 0110 + 1101 = (1)0011,忽略进位得 0011₂ (3)。
When the exam asks for a subtraction that yields a negative result, represent the answer in two’s complement using the required number of bits. Many students forget to pad to the specified width after the addition.
当考题要求计算得到负结果时,要用指定位数以补码形式表示答案。很多学生做完加法后忘记按照要求的位宽进行补齐。
2. Logic Gate Truth Tables & Simplification | 逻辑门真值表与化简
Drawing the truth table for a circuit with multiple gates looks straightforward, but pupils frequently misplace the intermediate column order or misapply the NAND / NOR truth tables. For instance, they treat NAND as AND then NOT applied to the whole output, but may accidentally invert inputs instead.
为包含多个门的电路绘制真值表看似简单,但学生经常把中间列的顺序弄乱,或者错用 NAND / NOR 的真值。例如,他们知道 NAND 是先 AND 再整体取反,却可能不小心把输入也取反了。
Always build the table column by column, evaluating each gate in signal order. Label intermediate columns clearly. A common exam question asks to show that a circuit of NAND gates is equivalent to an OR gate with inverted inputs – here systematic checking of all input combinations prevents careless ticks.
务必按信号顺序逐列构建真值表,明确标注每一个中间列。考试中常见的一类问题是证明某个由 NAND 门组成的电路等价于一个输入取反后的 OR 门——此时系统地检查所有输入组合,可以避免草率判断。
Another frequent slip is missing brackets when writing Boolean expressions, which changes the order of operations and simplifies incorrectly. Always agree on operator precedence: NOT first, then AND, then OR.
另一个常见失误是在写布尔表达式时漏掉括号,从而改变了运算顺序,导致化简错误。务必牢记运算优先级:NOT 最高,其次是 AND,最后是 OR。
3. Hexadecimal–Binary Conversions | 十六进制与二进制转换
When converting hexadecimal to binary, students sometimes treat the hex digits A–F as 11–15 instead of 10–15, or they swap nibbles. This typically occurs when they rush through 4‑bit grouping.
在十六进制与二进制互转时,学生有时会把 A–F 当作 11–15 而不是 10–15,或者把半字节的顺序搞反。这通常是因为匆忙进行 4 位分组而导致的。
Always remember: A=10, B=11, C=12, D=13, E=14, F=15. Write each hex digit as exactly 4 bits. For example, 3A₁₆ → 3 = 0011, A = 1010 → 0011 1010. Never omit leading zeros for digits smaller than 8.
始终牢记:A=10, B=11, C=12, D=13, E=14, F=15。把每个十六进制位写为恰好 4 个二进制位。例如 3A₁₆ → 3 = 0011, A = 1010 → 0011 1010。对于小于 8 的数字,绝对不能省略前导零。
Conversely, when grouping binary into hex from right to left, an incomplete leftmost group must be padded with leading zeros. A six‑bit number like 101110 becomes 0010 1110 → 2E₁₆, not 10 1110.
反过来,从右向左将二进制分组为十六进制时,最左边不完整的组必须用前导零补齐。比如六位二进制 101110 应看作 0010 1110 → 2E₁₆,而不是 10 1110。
4. Data Storage Units and File Size Calculations | 存储单位与文件大小计算
Many marks are lost by confusing bits and bytes. A question might ask for the time to download a 100 MB file at 40 Mbit/s. The common error is to use 100 × 8 = 800 Mbit but then divide by 40 incorrectly, or to forget converting megabytes to megabits altogether.
很多分数丢在混淆位和字节上。题目可能问,以 40 Mbit/s 的速率下载一个 100 MB 的文件需要多长时间。常见错误包括:把 100 × 8 = 800 Mbit 算对,却在除法时出错;或者完全忘记将兆字节转换为兆比特。
Keep a clear reference: 1 byte = 8 bits. 1 MB = 8 Mbit. 100 MB = 800 Mbit. Time = 800 Mbit ÷ 40 Mbit/s = 20 seconds. Even when the conversion is correct, pupils sometimes quote the unit as seconds but write 20 MB/s.
牢记明确的换算关系:1 字节 = 8 位。1 MB = 8 Mbit。100 MB = 800 Mbit。时间 = 800 Mbit ÷ 40 Mbit/s = 20 秒。即使换算正确,也有学生把单位写错,比如回答 20 MB/s。
Additionally, for storage capacities, the specification expects decimal prefixes (1 MB = 1 000 000 bytes) unless explicitly asked for binary prefixes like KiB. Using 1024 in a decimal‑prefix question will give a slightly different answer and may be marked wrong.
此外,在存储容量方面,考纲默认使用十进制前缀(1 MB = 1 000 000 字节),除非题目明确要求二进制前缀(如 KiB)。在十进制前缀的题目中用 1024 计算会得到略有不同的答案,可能被判错。
5. Array Indexing and Bounds | 数组索引与边界
Whether in pseudocode or a high‑level language, IGCSE candidates often assume arrays start at index 1. Many exam pseudocode conventions use index 0 for the first element. Consequently, a loop intended to process all N elements with FOR i = 0 TO N actually runs N+1 times if the language includes the upper bound.
无论是在伪代码还是高级语言中,IGCSE 考生常常想当然地认为数组从索引 1 开始。然而很多考试伪代码约定规定第一个元素的下标为 0。因此,一个意图处理所有 N 个元素的 FOR i = 0 TO N 循环,如果该语言包含上界,实际上会运行 N+1 次。
Always check the pseudocode guide used by the exam. If arrays start at 0, the valid indices for an array of length 8 are 0 to 7. A loop FOR i = 0 TO 7 or FOR i = 0 TO LEN(arr)-1 iterates exactly 8 times.
务必查阅考试所用的伪代码指南。如果数组从 0 开始,长度为 8 的数组的有效下标是 0 至 7。FOR i = 0 TO 7 或 FOR i = 0 TO LEN(arr)-1 才会恰好迭代 8 次。
In trace‑table questions, many answers go wrong simply by referencing index positions that are off by one, leading to wrong values and losing marks across the whole table.
在轨迹表题目中,很多答案仅仅因为下标错位而导致数值错误,从而使整张表大量失分。
6. Flowchart and Pseudocode Loop Logic | 流程图与伪代码循环逻辑
Students frequently misinterpret the diamond decision symbol. A common error is to exit a loop too early or too late because they read ‘while count ≤ 10’ as ‘stop when count reaches 10’, which actually runs 10 iterations if count starts at 1; if it starts at 0, it runs 11.
学生经常误解菱形判断框。一个常见错误是过早或过晚退出循环,因为他们把 “while count ≤ 10” 理解为 “当 count 达到 10 时停止”,而实际上如果 count 从 1 开始,这个循环会运行 10 次;如果从 0 开始,则运行 11 次。
To avoid this, build a quick trace table with a counter column and condition column. Write the condition check at the top of each iteration. In pseudocode with REPEAT...UNTIL, remember the loop is executed at least once irrespective of the condition.
为避免此类错误,可以快速画出带有计数器和条件列的轨迹表。在每次迭代开头写下条件判断。对于 REPEAT...UNTIL 伪代码,要记住循环体至少会执行一次,无论条件是否满足。
Another trap is variable initialization. A variable used to accumulate a total must be set to 0 before the loop, but if placed inside the loop it resets every time. Similarly, a flag variable must be initialized to a sensible default.
另一个陷阱是变量初始化。用于累加总和的变量必须在循环之前设为 0,但如果放到了循环内部,每次都会被重置。同样,标志变量也必须有合理的初始默认值。
7. Sorting Algorithm Steps and Efficiency | 排序算法步骤与效率
When asked to show the passes of a bubble sort, pupils often miss that after each pass the largest unsorted element ‘bubbles’ to its correct position, so the number of comparisons should decrease. They might keep comparing all pairs every pass.
当要求展示冒泡排序的每一趟时,学生常常忘记每趟之后最大的未排序元素会 “冒泡” 到正确位置,因此比较次数应当递减。他们可能每一趟都对所有元素对进行比较。
Correct bubble sort: pass 1 compares (n−1) pairs, pass 2 compares (n−2) pairs, and so on. If you write all passes with (n−1) comparisons, you lose marks for efficiency. In insertion sort, the sorted portion grows from the left, and the next element is compared backwards.
正确的冒泡排序:第 1 趟比较 (n−1) 对,第 2 趟比较 (n−2) 对,依此类推。如果每趟都写 (n−1) 次比较,就会因效率问题失分。在插入排序中,已排序部分从左侧增长,下一个元素要反向进行比较。
Many errors also appear when counting the total number of comparisons or swaps. Remember: a bubble sort requires approximately n²/2 comparisons in the worst case. Be precise when filling in trace tables for these algorithms.
在统计比较或交换总次数时也经常出错。记住:冒泡排序在最坏情况下大约需要 n²/2 次比较。在为这些算法填写轨迹表时务必精确。
8. Network Topologies and IP Addressing Mistakes | 网络拓扑与 IP 编址错误
Describing a star topology, students sometimes state that each device is directly connected to every other device, which actually describes a mesh topology. In a star, all devices connect only to a central switch or hub.
在描述星型拓扑时,学生有时会说每个设备都与其他所有设备直接相连,这实际上描述的是网状拓扑。在星型拓扑中,所有设备只连接到中央交换机或集线器。
When stating advantages or disadvantages, be specific. ‘Star networks are more secure than bus networks because data is sent only to the intended recipient via the switch’ is better than a vague ‘it’s safer’.
在陈述优缺点时,要尽量具体。“星型网络比总线型网络更安全,因为数据只通过交换机发送给目标接收方” 就比模糊地说 “它更安全” 要好。
IP address questions often contain two traps: using numbers greater than 255 in an octet (like 192.168.300.1) and confusing subnet masks. Also, remembering that an IP address has a network part and a host part, determined by the subnet mask, is essential for identifying which devices can communicate directly.
IP 地址类题目中常见两个陷阱:在八位组中使用大于 255 的数字(如 192.168.300.1);混淆子网掩码。另外,记住 IP 地址包含网络部分和主机部分(由子网掩码决定),对于判断哪些设备可以直接通信至关重要。
9. SQL Query Syntax Errors | SQL 查询语法错误
In an IGCSE exam, SQL shown in pseudocode style often expects standard clauses. Common mistakes include omitting the single quotes around text values (e.g., WHERE Town = London instead of WHERE Town = 'London'), using = when a wildcard search with LIKE is required, and leaving out the FROM clause.
在 IGCSE 考试中,以伪代码风格出现的 SQL 往往要求规范的子句。常见错误包括:文本值忘记加单引号(如 WHERE Town = London 而非 WHERE Town = 'London');在需要通配符搜索时却用了 = 而非 LIKE;以及漏掉 FROM 子句。
A typical tricky question: ‘Select all students whose name begins with A.’ The correct SQL is SELECT * FROM Students WHERE Name LIKE 'A%'. Using WHERE Name = 'A%' will search for the literal string ‘A%’ and return nothing.
一个典型的易错题:“查询所有姓名以 A 开头的学生”。正确的 SQL 是 SELECT * FROM Students WHERE Name LIKE 'A%'。如果写成 WHERE Name = 'A%' 就会搜索字面字符串 ‘A%’,而不会返回任何结果。
Also, when ordering results, the keyword is ORDER BY, not SORT BY. Pupils often mix up the order: ascending is the default; only write DESC when needed.
此外,对结果排序时,关键字是 ORDER BY,而不是 SORT BY。学生常混淆顺序:默认是升序,只有需要降序时才写 DESC。
10. Ethics, Legal Issues, and Data Protection | 伦理、法律与数据保护
When asked to discuss the ethical implications of a technology, many students give vague answers like ‘it is bad for privacy’. To gain full marks, name the specific concern (e.g., surveillance without consent), link it to a relevant law (e.g., GDPR / Data Protection Act), and suggest a mitigation.
当要求讨论某项技术的伦理影响时,许多学生给出模糊的回答,例如“这对隐私不好”。要拿满分,需要点名具体的担忧(如未经同意的监控),联系相关法律(如 GDPR / 数据保护法),并提出缓解措施。
A common error is confusing the Computer Misuse Act (offences like hacking, malware distribution) with the Data Protection Act (governing personal data handling). Remember CSM for Computer Misuse and DP for data.
常见错误是混淆《计算机滥用法》(针对黑客、恶意软件传播等犯罪)与《数据保护法》(规范个人数据处理)。可以记住:计算机滥用对应 CMA,数据保护对应 DPA。
For open‑ended questions on artificial intelligence or autonomous vehicles, structure your answer with both advantages and ethical concerns. A balanced answer that shows awareness of both sides scores higher than a one‑sided argument.
对于人工智能或自动驾驶汽车等开放式问题,要从优势和伦理关切两方面组织答案。展示出对正反两面都有认识的平衡的答案,比一边倒的论述得分更高。
Published by TutorHao | IGCSE AQA Computer Science Revision Series | aleveler.com
更多咨询请联系16621398022(同微信)
屏轩国际教育cambridge primary/secondary checkpoint, cat4, ukiset,ukcat,igcse,alevel,PAT,STEP,MAT, ibdp,ap,ssat,sat,sat2课程辅导,国外大学本科硕士研究生博士课程论文辅导