Assessment Overview & Difficulty Verdict

The 2025 AS 1 paper presents a balanced, rigorous test of practical Object-Oriented Development skills in C# and Java. With a moderate overall difficulty (rated 3.2/5), the paper transitions from theoretical recall and syntax checks to complex polymorphic class hierarchies and array-of-objects iteration.

Where the Marks Are Won

The majority of marks are concentrated in core object-oriented implementation:

  • Objects & Class Architecture (49 marks): Covering standard class design, derived class inheritance syntax (: base in C# / super() in Java), encapsulation with property validation, and polymorphic method overriding.
  • Data Structures & Array Traversal (20 marks): Iterating through arrays of reference types, checking for null, and filtering/aggregating attributes.
  • Exception Handling (17 marks): Terminology matching and writing defensive methods throwing and handling custom exceptions like InsufficientFundsException.
  • Program Control Structures & Parsing (9 marks): Character validation, bounds checking, and string parsing in validLicencePlate().

Key Examiner Pitfalls

Candidates frequently forfeit marks on technical implementation details rather than general logic:

  • Constructor Chaining: Forgetting to invoke the superclass constructor using base(...) or super(...) in derived classes.
  • Type Checking & Casting: Failing to perform explicit type inspection (e.g. GetType() == typeof(Lunch) or instanceof Lunch) and downcasting when iterating through polymorphic object arrays.
  • String & Character Validation: Overcomplicating character condition checks or omitting checks for duplicate characters and string lengths.
  • Property Encapsulation: Missing the exception throw or validation logic inside setter properties.

Strategic Revision & Predictions

Prioritise handwriting complete class hierarchies, including constructors, getters/setters with validation, and overridden methods calling base.Method(). Ensure fluency in traversing object arrays and handling I/O operations such as object serialisation streams.