CCEA AS-Level · 考试技巧
Software Systems Development CL4 考试技巧
CCEA AS Software Systems Development is a code-writing paper decided by inheritance syntax, array handling and precise method signatures. This page covers the single 100-mark paper and the syntax mistakes examiner reports flag most.
试卷概览
| 试卷 | 时间 | 分数 | 题数 | 比重 | 题型 |
|---|---|---|---|---|---|
| AS1: Introduction to Object Oriented Development | 2小时 | 100 | 7 | 50% | Technical definitions, Algorithm and array manipulation, Class construction and array search, Exception handling, cloze and try/catch, Serialization theory and implementation, Inheritance hierarchy and polymorphic methods, Polymorphic array processing and reporting |
This paper is code writing from start to finish, class construction, array handling, exception handling and inheritance, so a calculator has almost nothing to do here beyond the odd array index or loop bound. Where any arithmetic does appear, the standard JCQ rule applies: calculators must not have retrievable information stored in them, including formulae, notes or text, and must not offer symbolic algebra, translation or communication functions. There is no CCEA-specific calculator rule for this subject beyond the general JCQ position.
- AO1: AO1: demonstrate knowledge and understanding of concepts, systems approaches, and solutions relevant to software systems development (36%)
- AO2: AO2: apply their knowledge and understanding to develop and implement solutions to the problems identified (36%)
- AO3: AO3: analyse and evaluate the concepts of software systems development and candidates' own performance in problem solving (28%)
根据历届试题与评分标准整理(2023–2025)。
常见错误
- 1high涉及分数: 2Objects (inheritance)
Omitting the base constructor call, : base(...) in C# or super(...) in Java, when writing a derived class constructor.
如何避免: Always chain to the base constructor explicitly in the first line of a derived constructor's parameter handling, even when the base constructor takes no extra arguments beyond the ones the derived class also needs. - 2high涉及分数: 1Objects (polymorphism)
Leaving out the override keyword when implementing a polymorphic method in a derived class whose base method is marked virtual.
如何避免: Write override on every method that is meant to replace or extend base class behaviour. Without it, the compiler treats the method as new and unrelated, which the mark scheme checks for directly. - 3high涉及分数: 3Objects (polymorphism)
Recalculating a value from scratch inside an overridden method instead of calling base.MethodName() to extend the base class's own calculation.
如何避免: When a question asks you to extend rather than replace base behaviour, call the base method first and then add the extra logic on top of its result. - 4medium涉及分数: 2Data structures
Assuming that instantiating an array of objects, such as new Child[60], creates 60 populated objects rather than 60 null references.
如何避免: Remember that an object array starts full of nulls. Any loop that calls a method on every element before the elements are individually constructed will throw a null reference exception. - 5high涉及分数: 3Data structures
Downcasting an object from a heterogeneous collection without first checking its actual type, using is in C# or instanceof in Java.
如何避免: Check the object's real type before casting it to a specific derived class, and only process it with that type's members once the check has passed. - 6high涉及分数: 1Objects
Writing incomplete method or constructor signatures, missing a parameter type, a return type, or an access modifier.
如何避免: Write out the full signature every time: access modifier, return type, method name, and every parameter with its type, even when writing by hand under time pressure. - 7medium涉及分数: 2Data structures
Confusing 0-based array index positions with 1-based numbers a user might type in, leading to off-by-one errors when updating or referencing array elements.
如何避免: Subtract 1 from any user-entered position number before using it as an array index, and check this conversion explicitly in your working. - 8medium涉及分数: 2Program control structures
Losing track of pass-by-pass state when tracing a sorting algorithm, executing swaps out of sequence or stopping one pass early or late.
如何避免: Write out the array's contents after every single swap on scrap paper, rather than trying to track several passes mentally at once.
练习真实试题,AI 即时批改,马上指出错在哪。
免费开始练习