📚 GCSE CIE Computer Science: Common Mistakes Masterclass | GCSE CIE 计算机:易错题精讲
Many students lose marks not because they do not know the content, but because they misread key terms or overlook small but significant details. This article goes through some of the most frequently made mistakes in the CIE IGCSE Computer Science exam papers. Each section presents a typical error, explains why it happens, and gives you the correct approach so you can avoid these traps and improve your grade.
许多学生丢分并不是因为不懂知识,而是因为误读了关键术语,或者忽略了细小却重要的细节。本文梳理了 CIE IGCSE 计算机科学考试中最常见的一些错误。每个小节都给出一个典型错误,解释其产生的原因,并提供正确的方法,帮助你避开这些陷阱,提高成绩。
1. Binary Addition Overflow | 二进制加法溢出
When adding two 8‑bit binary numbers, many students forget to check for an overflow error. They simply write down the 8‑bit result and ignore any carry‑out beyond the 8th bit. In the CIE exam, you must state whether overflow has occurred and explain that the result cannot be represented in 8 bits.
当两个 8 位二进制数相加时,许多同学忘记检查是否发生溢出错误。他们只写下 8 位结果,而忽略了第 8 位之后的进位。在 CIE 考试中,你必须说明是否发生了溢出,并解释该结果无法用 8 位表示。
Example: Add 10110110₂ and 01101001₂. The addition gives a 9‑bit value, but an 8‑bit register would store only the lower 8 bits, losing the most significant bit. Therefore, an overflow flag would be set.
示例:将 10110110₂ 与 01101001₂ 相加。相加后得到 9 位数值,但 8 位寄存器只能存储低 8 位,丢失最高有效位,因此会设置溢出标志。
2. Logical Shifts and Sign Preservation | 逻辑移位与符号位保持
A common mistake is confusing logical left/right shifts with arithmetic shifts. Students often apply a logical shift when an arithmetic shift is needed to preserve the sign of a two’s complement negative number. For example, dividing a negative number by 2 using a right arithmetic shift retains the sign bit, while a logical right shift would fill with 0, turning the number positive and producing an incorrect result.
一个常见错误是将逻辑左移/右移与算术移位混淆。当需要用算术移位来保持二进制补码负数的符号时,学生常常使用了逻辑移位。例如,使用算术右移将负数除以 2 会保留符号位,而逻辑右移会补 0,导致数字变为正数,结果错误。
In CIE questions, always check whether the binary value is signed (two’s complement) and choose arithmetic shift for operations that must preserve the sign.
在 CIE 题目中,一定要检查二进制数值是否带符号(二进制补码),并在需要保留符号的运算中选择算术移位。
3. Hexadecimal vs. Binary Place Values | 十六进制与二进制的位权
Many candidates incorrectly convert between hexadecimal and binary by treating each hex digit as a 3‑bit nibble. Remember that one hexadecimal digit represents exactly 4 bits. For instance, the hex value 2F is correctly converted to 0010 1111₂, not 10 1111₂ without leading zeros. The leading zeros are essential to show the full 8‑bit pattern.
很多考生在十六进制与二进制之间转换时,错误地将每个十六进制数字当作 3 位来处理。请记住,一个十六进制数字恰好代表 4 个二进制位。例如,十六进制数 2F 应正确转换为 0010 1111₂,而非缺少前导零的 10 1111₂。前导零对于显示完整的 8 位模式至关重要。
Also, when asked ‘How many bits are required to represent a hexadecimal digit?’, the answer is 4, not 3 or 8.
此外,当被问到“表示一个十六进制数字需要多少位?”时,答案是 4,而不是 3 或 8。
4. Forgetting Parity Bit Calculation | 遗忘奇偶校验位计算
In data transmission topics, students often miscount the number of 1‑bits when determining even or odd parity. They may forget to include the parity bit itself or count incorrectly. The rule is straightforward: for even parity, the total number of 1‑bits (including the parity bit) must be even. So if the data byte has an odd number of 1s, the parity bit is set to 1; otherwise, 0. Common slip: using even parity but setting the bit to make the number of 1s odd.
在数据传输主题中,学生在确定偶校验或奇校验时经常数错 1 的个数。他们可能忘记把校验位本身算进去,或者计数错误。规则很简单:对于偶校验,所有 1 的总数(包括校验位)必须为偶数。因此,如果数据字节中 1 的个数为奇数,校验位就设置为 1,否则为 0。常见失误:使用偶校验却把校验位设置成了使 1 的总数为奇数的值。
Always double‑check your count and clearly state whether the parity is even or odd in your answer.
一定要仔细核对计数,并在答案中明确说明是偶校验还是奇校验。
5. Mismatched Data Types in Trace Tables | 跟踪表中的数据类型不匹配
When completing a trace table for a pseudocode algorithm, a frequent error is writing a string where an integer is expected, or confusing Boolean values with strings. For example, if the pseudocode contains IF score > 50 THEN grade ← "Pass", the variable grade will hold a string, not a Boolean. Some students write TRUE/FALSE instead of the actual string literal. Always track the exact data type and value as the program executes.
在为伪代码算法填写跟踪表时,一个常见错误是在需要整数的地方写成了字符串,或者将布尔值与字符串混淆。例如,如果伪代码中有 IF score > 50 THEN grade ← "Pass",那么变量 grade 保存的将是字符串,而不是布尔值。有些学生会在表中写 TRUE/FALSE,而不是实际的字符串。请务必按照程序执行的过程,准确记录数据类型和值。
Key advice: pay close attention to quotation marks in the pseudocode—they indicate strings.
关键建议:密切注意伪代码中的引号——它们表示字符串。
6. IP vs. MAC Address Misunderstandings | IP 地址与 MAC 地址的混淆
A classic pitfall is mixing up the roles of IP and MAC addresses. Students often state that a MAC address changes as a device moves between networks, when in fact the MAC address is hard‑coded into the NIC and stays the same globally. The IP address, on the other hand, can change depending on the network it connects to. In questions about packet routing, remember: MAC addresses are used within a local network segment, while IP addresses are used for end‑to‑end delivery across networks.
一个经典陷阱是混淆 IP 地址和 MAC 地址的作用。学生常说 MAC 地址会随着设备在不同网络间移动而改变,但实际上 MAC 地址是固化在网卡中的,全球保持不变。相反,IP 地址会根据所连接的网络而改变。在关于数据包路由的题目中,请记住:MAC 地址用于局域网段内部,而 IP 地址用于跨网络的端到端传输。
Also, IPv4 addresses are 32‑bit, written in dotted decimal; MAC addresses are 48‑bit, displayed in hexadecimal. Don’t swap the formats!
此外,IPv4 地址是 32 位,以点分十进制表示;MAC 地址是 48 位,用十六进制显示。不要混淆两者的格式!
7. Misinterpreting SQL Wildcards and Operators | 误解 SQL 通配符与运算符
In database queries, candidates frequently use = with LIKE or misuse the wildcard %. Syntax such as WHERE name = 'A%' will not return any results unless the name literally is ‘A%’. The correct pattern is WHERE name LIKE 'A%' to find names starting with ‘A’. Another mistake is forgetting that % represents zero, one, or multiple characters, while _ represents exactly one character.
在数据库查询中,考生常常将 = 与 LIKE 一起使用,或者错误地使用通配符 %。诸如 WHERE name = 'A%' 的语法不会返回任何结果,除非名字本身就是 ‘A%’。正确的模式是 WHERE name LIKE 'A%',用于查找以 ‘A’ 开头的名字。另一个错误是忘记了 % 代表零个、一个或多个字符,而 _ 恰好代表一个字符。
Practice crafting precise SQL statements to select data from given tables, and always test your logic mentally.
练习为给定的表格编写精确的 SQL 语句,并且在脑海中验证你的逻辑。
8. Sound Sampling Rate Confusion | 声音采样率的混淆
When calculating audio file size, many students multiply sample rate, bit depth, and duration but forget to account for the number of channels. The formula is: file size (bits) = sample rate (Hz) × bit depth × duration (seconds) × number of channels. For stereo sound, channels = 2. Missing the factor of 2 is a very common slip. Also, be careful with units: questions may want the answer in bytes or kilobytes, so convert from bits by dividing by 8, then 1024 as needed.
在计算音频文件大小时,许多学生将采样率、位深度和时长相乘,却忘记乘上声道数。公式为:文件大小(位)= 采样率(Hz)× 位深度 × 时长(秒)× 声道数。对于立体声,声道数为 2。漏掉这个 2 是非常常见的疏漏。同时,要注意单位:题目可能要求以字节或千字节为单位作答,因此需要将位除以 8,必要时再除以 1024 进行转换。
If the question states ‘mono’, channels = 1, so the omission is not an issue, but always read carefully.
如果题目说明是“单声道”,声道数为 1,那就不存在遗漏的问题,但一定要仔细审题。
9. Off-by-One Errors in Loops | 循环中的边界误差
Pseudocode loops often trap students with off‑by‑one errors. For a FOR i ← 1 TO 10 loop, the loop runs 10 times. But if the body includes something like IF i = 10 THEN …, students sometimes confuse the final iteration. Also, when using WHILE loops, they may forget to update the counter, leading to an infinite loop, or update it in the wrong place, causing the loop to run one time too few or too many. Always trace at least the first two iterations and the last to catch these errors.
伪代码循环经常用边界误差来考查学生。对于 FOR i ← 1 TO 10 循环,循环体会执行 10 次。但如果循环体中包含类似 IF i = 10 THEN … 的语句,学生有时会混淆最后一次迭代。此外,在使用 WHILE 循环时,他们可能会忘记更新计数器,导致无限循环,或者在错误的位置更新计数器,使循环少执行一次或多执行一次。务必要至少跟踪前两次迭代和最后一次,以捕获这类错误。
A useful tip: write down the value of the loop variable immediately after the loop ends, as it usually exceeds the end value by one step.
一个有用的提示:在循环结束后立即记下循环变量的值,因为它通常会比起始值多出一步。
10. Encryption vs. Hashing Slip | 加密与哈希的概念偏差
In the Security section, students often describe hashing as reversible, or they think encryption always provides integrity. Hashing is a one‑way function used to verify data integrity (e.g., checksums, password storage) and cannot be decrypted back to the original plaintext. Encryption, on the other hand, is two‑way with a key and provides confidentiality. Saying that ‘hashing encrypts the password’ is technically incorrect and will lose marks.
在安全部分,学生经常将哈希描述为可逆的,或者认为加密总是能提供完整性。哈希是一种单向函数,用于验证数据完整性(例如校验和、密码存储),不能解密回原始明文。而加密是使用密钥的双向过程,提供机密性。如果说“哈希加密了密码”,这在技术上是错误的,会因此丢分。
Always match the correct security term with its purpose: encryption for confidentiality, hashing for integrity and password verification.
始终将正确的安全术语与其目的匹配:加密用于机密性,哈希用于完整性和密码验证。
11. CPU Fetch-Decode-Execute Cycle Misordering | CPU 取指-解码-执行周期的顺序错误
In describing the fetch‑decode‑execute cycle, candidates sometimes place the decode step before the fetch, or they omit the role of the Program Counter (PC) and Memory Address Register (MAR). The correct sequence: the address from the PC is copied to the MAR; the instruction is fetched from memory into the MDR; then it is decoded in the CU; finally, the instruction is executed, and the PC is incremented. Confusing MDR with MAR is another classic error.
在描述取指‑解码‑执行周期时,考生有时会把解码步骤放到取指之前,或者遗漏程序计数器(PC)和内存地址寄存器(MAR)的作用。正确的顺序是:PC 中的地址被复制到 MAR;指令从内存取到 MDR;然后在控制单元(CU)中解码;最后执行指令,并且 PC 递增。混淆 MDR 和 MAR 是另一个经典错误。
Draw a simple diagram in your revision notes to fix the order and register names correctly in your mind.
在你的复习笔记中画一个简单的图示,以便在脑海中牢牢记住正确的顺序和寄存器名称。
Published by TutorHao | Computer Science Revision Series | aleveler.com
更多咨询请联系16621398022(同微信)
屏轩国际教育cambridge primary/secondary checkpoint, cat4, ukiset,ukcat,igcse,alevel,PAT,STEP,MAT, ibdp,ap,ssat,sat,sat2课程辅导,国外大学本科硕士研究生博士课程论文辅导