📚 Year 10 CAIE Computer Science: Key Points for Practical/Experimental Assessment | Year 10 CAIE 计算机:实验/实践考核要点
Practical assessments in Year 10 CAIE Computer Science aim to evaluate your ability to design, code, test, and document solutions to real-world problems. This article highlights the essential skills and marking points that will help you succeed in any laboratory or project-based task.
Year 10 CAIE 计算机科学的实验/实践考核,旨在评估你设计、编写、测试和记录实际问题的求解方案的能力。本文将重点梳理实验或项目任务中的关键技能和得分要点,帮助你从容应对。
1. Understanding the Problem | 理解问题
Read the task brief several times and underline the exact inputs, processes, and outputs required.
反复阅读任务要求,并在其中标出明确的输入、处理过程和输出。
Apply abstraction by discarding unnecessary details and concentrating on the core data flow.
运用抽象化原则,剔除无关细节,聚焦核心数据流。
Break the problem into smaller, manageable sub-problems using stepwise refinement before any coding begins.
在动手编码之前,先用逐步求精的方法将问题分解为更小、更易于管理的子问题。
2. Algorithm Design | 算法设计
Sketch a structure diagram to show how the main task relates to its sub-tasks and modules.
绘制结构图,展示主任务与子任务、模块之间的关系。
For each sub-task, draft a short narrative algorithm that lists the key steps in plain English.
针对每一个子任务,用简明英语撰写一段叙述性算法,列出关键步骤。
Ensure the designed algorithm handles all possible cases – normal data, boundary values, and invalid inputs.
确保所设计的算法能处理所有可能情况——正常数据、边界值以及无效输入。
2. Algorithm Design | 算法设计
抱歉,此处误重复——实际无影响,但已删除。直接进入第3节标题。
(已跳过重复标题)
3. Using Flowcharts and Pseudocode | 使用流程图与伪代码
When drawing flowcharts, use the correct symbols: oval for start/end, parallelogram for input/output, rectangle for process, diamond for decision, and arrows for flow direction.
绘制流程图时,使用正确的符号:椭圆形表示开始/结束,平行四边形表示输入/输出,矩形表示处理,菱形表示判断,箭头表示流向。
Write pseudocode that mirrors the CAIE recommended style, e.g., INPUT, OUTPUT, IF ... THEN ... ELSE ... ENDIF, FOR ... TO ... NEXT, WHILE ... DO ... ENDWHILE.
伪代码应采用CAIE推荐的风格,例如 INPUT、OUTPUT、IF ... THEN ... ELSE ... ENDIF、FOR ... TO ... NEXT、WHILE ... DO ... ENDWHILE。
Always annotate flowcharts and pseudocode with brief comments to explain the logic of complex branches.
始终在流程图和伪代码中添加简短注释,以解释复杂分支的逻辑。
4. Variables, Data Types, and Input | 变量、数据类型与输入
Choose meaningful variable names that reflect the data being stored, e.g., studentName rather than x.
选用能反映所存数据的变量名,例如 studentName 而不是 x。
Declare variables with the appropriate data type: INTEGER, REAL, STRING, BOOLEAN, and convert types explicitly when needed.
用合适的数据类型声明变量:INTEGER、REAL、STRING、BOOLEAN,并在需要时显式转换类型。
Use prompts such as OUTPUT "Enter age: " followed by INPUT age to make programs user-friendly.
使用提示如 OUTPUT "请输入年龄: " 再配合 INPUT age,使程序具备用户友好性。
5. Control Structures | 控制结构
Sequence: write instructions in the exact order they must execute, as the default flow of control.
顺序结构:按照必须执行的精确顺序编写指令,作为默认的控制流。
Selection: use IF ... THEN ... ELSE ... ENDIF or CASE OF ... OTHERWISE ... ENDCASE to branch based on conditions. Nested IF statements can handle multi-level decisions.
选择结构:使用 IF ... THEN ... ELSE ... ENDIF 或 CASE OF ... OTHERWISE ... ENDCASE 根据条件进行分支。嵌套 IF 语句可处理多层决策。
Iteration: choose between FOR loops for known counts, WHILE loops for pre-condition checks, and REPEAT ... UNTIL loops for post-condition checks.
迭代结构:已知次数时选用 FOR 循环,前测条件用 WHILE 循环,后测条件用 REPEAT ... UNTIL 循环。
Ensure every loop has a clear exit condition to prevent infinite loops.
确保每个循环都有明确的退出条件,以防止无限循环。
6. Data Validation and Error Handling | 数据验证与错误处理
Validate inputs on entry to stop garbage data from corrupting the program logic.
在输入时进行验证,阻止无效数据破坏程序逻辑。
Common checks: range check (e.g., mark ≥ 0 AND mark ≤ 100), length check, type check, and format check.
常见的检查方法:范围检查(如 分数 ≥ 0 AND 分数 ≤ 100)、长度检查、类型检查和格式检查。
Use a WHILE loop to repeatedly ask for an input until it satisfies the validation rules.
使用 WHILE 循环反复要求输入,直到该输入满足验证规则。
For robust programs, add error-handling mechanisms such as TRY ... EXCEPT to catch runtime errors without crashing.
为了增强程序的健壮性,加入错误处理机制,如 TRY ... EXCEPT,在捕获运行时错误的同时避免程序崩溃。
7. Testing Strategies | 测试策略
Adopt a systematic approach: test with normal data, boundary data (maximum and minimum allowed values), and erroneous/invalid data.
采用系统化方法:用正常数据、边界数据(允许的最大值和最小值)以及错误/无效数据进行测试。
Design a test table that lists the test ID, input values, expected output, and actual output for each case.
设计一个测试表,列出每条测试的编号、输入值、预期输出和实际输出。
| Test ID | Input Values | Expected Output | Actual Output | Pass/Fail |
|---|---|---|---|---|
| 1 | score = 75 | ‘Merit’ | ‘Merit’ | Pass |
| 2 | score = 0 | ‘Fail’ | ‘Fail’ | Pass |
| 3 | score = -5 | ‘Invalid input, re-enter’ | ‘Invalid input, re-enter’ | Pass |
Keep evidence of testing by screenshotting or logging the final test runs to prove the program works as intended.
通过截图或记录最终的测试运行来保留测试证据,以证明程序按预期工作。
8. Documentation and Comments | 文档与注释
Begin every program with a header comment block that includes the program name, author, date, and a short description of its purpose.
每个程序的开头都应包含一个头部注释块,注明程序名称、作者、日期和用途简述。
Add inline comments to explain non-obvious logic, especially inside complex conditionals and loops.
添加行内注释以解释非显而易见的逻辑,尤其是在复杂的条件语句和循环内部。
Maintain a variable dictionary or comment declaring the role of each key variable.
维护一个变量字典或注释,说明每个关键变量的角色。
Follow a consistent indentation style and use blank lines to separate logical blocks for readability.
遵循一致的缩进风格,并使用空行分隔逻辑块,以增强可读性。
9. Debugging Techniques | 调试技巧
Perform a desk check (dry run) by tracing through your code with sample data using a trace table.
执行桌面检查(手工追踪),使用跟踪表并代入样本数据逐行跟踪代码。
Insert temporary OUTPUT statements to display variable values at key points and locate where the logic deviates.
插入临时 OUTPUT 语句,在关键点显示变量值,从而定位逻辑偏离的位置。
If using an IDE, set breakpoints and step through the code, watching the value of each variable.
如果使用集成开发环境,可设置断点并单步执行代码,观察每个变量的值。
Correct syntax errors first, then tackle logic errors – often a misplaced operator or missing ENDIF causes most early bugs.
先改正语法错误,再处理逻辑错误——早期的bug通常由错位的运算符或缺失的 ENDIF 引起。
10. Evaluation and Reflection | 评估与反思
Judge the extent to which your solution meets the original task requirements and highlight any unmet criteria.
评判你的方案在多大程度上满足原始任务要求,并说明未达成的任何标准。
Reflect on the limitations of your program: e.g., it cannot handle non-numeric input gracefully, or it assumes files are always present.
反思程序的局限性:例如,它无法优雅地处理非数字输入,或假设文件总是存在。
Suggest realistic improvements, such as adding a graphical user interface, using external libraries for validation, or storing data in a database.
提出切实可行的改进建议,如添加图形用户界面、使用外部库进行验证、或将数据存入数据库。
Link your reflection directly to concrete evidence from testing, showing that you understand how your code behaves under different conditions.
将反思与测试中的具体证据联系起来,表明你理解代码在不同条件下的行为。
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课程辅导,国外大学本科硕士研究生博士课程论文辅导