Evaluation — AQA A-Level Computer Science
Evaluation in AQA A-Level Computer Science assesses whether a developed system or algorithm satisfies its original success criteria, functional requirements, and non-functional performance benchmarks. It critically analyses empirical test evidence, stakeholder feedback, resource efficiency, and algorithmic trade-offs to justify effectiveness and identify future maintenance.
Evaluation explained
Evaluating a computer system means judging how well it meets its purpose, using clearly stated criteria rather than personal opinion.
Read the full explanation
Typical criteria include fitness for purpose (does it do what the user needs?), usability (can the intended users operate it efficiently and with few errors?), performance (speed, response time and throughput under expected load), reliability (how consistently it works and how it recovers from faults), security (protection of data and access control), maintainability (how easily it can be modified, debugged and extended), scalability (whether it can cope with growth in users or data) and cost-effectiveness (whether benefits justify expense over its lifetime). A strong evaluation states each criterion, measures or observes evidence against it, and then makes a judgement about the system as a whole, including limitations.
Your focus
- Know the criteria for evaluating a computer system.
Which command word is this?
Review information and technical trade-offs to bring together value judgements, weigh up opposing arguments, and reach a reasoned conclusion supported by technical evidence.
Evaluation exam tips
Topic Overview
Evaluation in AQA A-Level Computer Science is the systematic appraisal of software solutions, computational models, and algorithmic designs against predefined technical requirements and user needs. Whether situated within the practical Non-Exam Assessment (NEA) or theoretical exam papers, evaluation requires students to critically measure actual system performance using empirical data, code efficiency benchmarks, and rigorous user feedback rather than subjective speculation.
Beyond software testing, evaluation encompasses algorithmic analysis (such as time and space complexity using Big-O notation), structural system comparisons (such as client-server versus peer-to-peer architectures), and the wider ethical, legal, and environmental impacts of technology. Mastering this topic equips students to provide balanced technical critique, recognize limitations, and formulate evidence-based conclusions demanded by higher-tariff exam questions.
Key Concepts
- →Appraisal Against Success Criteria: Measuring final computational outcomes against quantifiable, testable objectives specified during the systems analysis phase.
- →Non-Functional Metric Analysis: Evaluating execution velocity, memory utilisation, responsiveness, fault tolerance, and security resilience under operational conditions.
- →Algorithmic Trade-offs: Appraising the comparative efficiency of algorithms in terms of Big-O time and space complexity, acknowledging that optimising execution speed often increases memory overhead.
- →User and Stakeholder Validation: Gathering qualitative and quantitative feedback through acceptance testing, surveys, and usability metrics to evaluate human-computer interface (HCI) effectiveness.
- →Identification of Technical Limitations: Honestly assessing edge-case failures, architectural bottlenecks, and maintainability concerns to document precise recommendations for future development.
Marking Points
- Identifies fitness for purpose as the central criterion, linking the system to the user's stated needs.
- Names several distinct criteria such as usability, performance, reliability, security, maintainability and cost-effectiveness.
- Explains how evidence (test results, user feedback, measured response times) is gathered against each criterion.
- Makes a justified overall judgement that weighs criteria against one another rather than listing them only.
Examiner Tips
- 💡Name each criterion explicitly before discussing it, so the examiner can see the framework you are using.
- 💡Support every judgement with a specific piece of evidence or a concrete example from the scenario.
- 💡Finish with an overall conclusion that acknowledges limitations and says which criteria matter most for the given purpose.
- 💡Cite quantitative evidence: When writing evaluation responses, reference specific numeric metrics (e.g., response latencies in milliseconds, memory consumption in megabytes, or Big-O orders of growth) rather than generic adjectives like 'fast' or 'efficient'.
- 💡Adopt a balanced structure for essay questions: Present affirmative technical points, counterpart risks or overheads, and finalize with a weighted judgment that explicitly answers the contextual question prompt.
- 💡In the NEA, always use feedback from third-party end users: An evaluation written purely from the programmer's internal perspective cannot score in the highest mark band for user verification.
Common Mistakes
- Gives opinions such as 'it looks good' without linking them to a stated criterion; name the criterion and the evidence for it.
- Treats one criterion, such as speed, as the only measure of quality; consider several criteria and their trade-offs.
- Lists criteria without applying them to the specific system being evaluated; relate each criterion to the system's actual context.
- Equating testing with evaluation: Testing is the execution of code with specific inputs to generate empirical results; evaluation is the critical interpretation of those results against design goals, constraints, and business logic.
- Treating negative results or limitations as an assessment failure: Examiners award high marks for the candid identification and technical analysis of bugs, bottlenecks, and unfulfilled requirements, provided the student explains why they occurred and how to resolve them.
- Believing that faster execution speed is always optimal: Students often overlook that runtime optimisations frequently require significant memory overhead (space complexity) or introduce excessive algorithmic complexity that impairs long-term code maintainability.
Revision Plan
- 1Week 1, Day 1-2: Review past NEA evaluation exemplars to understand the distinction between restating test results and conducting critical appraisal against success criteria.
- 2Week 1, Day 3-4: Practice comparing standard searching and sorting algorithms (e.g., Merge Sort vs Quicksort, Hash Table lookups vs Binary Trees) evaluating time/space trade-offs under varying data constraints.
- 3Week 2, Day 1-2: Deconstruct 9-mark and 12-mark AQA past paper 'Evaluate' questions, practicing essay planning grids with benefits, drawbacks, and context-dependent conclusions.
- 4Week 2, Day 3-5: Complete timed past paper questions assessing real-world technical scenarios (e.g., cloud vs on-premise, relational vs NoSQL databases) and review against official mark schemes.
Exam Question Types
- 📋9-mark and 12-mark extended prose questions: Evaluating the adoption of a specific architecture, methodology, or technological paradigm within an organizational scenario.
- 📋Algorithmic comparison questions (4-6 marks): Evaluating two distinct algorithmic approaches to solve a problem with specific memory, throughput, or data ordering constraints.
- 📋NEA Section 4 appraisal: Documenting system performance against original criteria, logging user acceptance testing, and justifying technical enhancements.
Command Word Expectations (AQA)
Review information and technical trade-offs to bring together value judgements, weigh up opposing arguments, and reach a reasoned conclusion supported by technical evidence.
Identify the key issues, explore multiple sides of a technical argument or architectural choice, and show how different factors interact without necessarily having to reach a definitive final verdict.
Provide technical reasons, algorithmic evidence, or quantitative criteria to substantiate a specific design choice, decision, or conclusion.
How Students Lose Marks (Examiner Pitfalls)
Step-by-Step Worked Solutions
Question: A logistics firm is evaluating whether to replace their bespoke local server software with an off-the-shelf Software as a Service (SaaS) inventory management system. Evaluate this proposed change with reference to functionality, security, and long-term maintenance. [9 marks]
- 1.Step 1: Analyse functionality trade-offs. Bespoke software aligns precisely with existing proprietary workflows and warehouse scanning hardware, avoiding feature bloat. SaaS may offer modern features and regular updates but may require operational compromises or custom API integration to match unique workflows.
- 2.Step 2: Analyse security and data governance. Bespoke local servers maintain full internal data sovereignty behind an enterprise firewall, reducing external attack surfaces. SaaS delegates patch management and physical security to specialized providers, but transfers legal liability under GDPR/Data Protection Act 2018 and introduces risk regarding data exposure in shared multi-tenant cloud environments.
- 3.Step 3: Evaluate maintenance and financial implications. Bespoke systems suffer from high total cost of ownership, requiring dedicated internal software engineers for bug fixes, OS patching, and hardware replacement. SaaS shifts this to predictable operational subscription costs with built-in disaster recovery and continuous continuous deployment pipelines.
- 4.Step 4: Formulate a balanced conclusion. Weigh the trade-offs based on the logistics domain. Conclude with a definitive recommendation based on the company's technical capacity and core business priorities.
Question: An autonomous drone navigation system requires an algorithm to determine the shortest path across a weighted graph representing delivery waypoints. Evaluate the suitability of Dijkstra's Algorithm versus the A* Algorithm for this real-time embedded system. [6 marks]
- 1.Step 1: Identify the characteristics of Dijkstra's Algorithm. It guarantees finding the optimal shortest path from a single source to all nodes by expanding the search frontier uniformly. However, its time complexity is O((V + E) log V) with a priority queue, meaning it explores unpromising paths away from the target destination, consuming excessive CPU cycles and memory on constrained embedded hardware.
- 2.Step 2: Identify the characteristics of the A* Algorithm. A* enhances Dijkstra by incorporating an admissible heuristic function h(n) (e.g., Euclidean distance to the destination). This biases node exploration toward the target waypoint, dramatically reducing the state space explored and execution time.
- 3.Step 3: Compare practical constraints in an embedded real-time context. Real-time pathfinding requires low latency and bounded memory consumption. Dijkstra's exhaustive search risks dropping frame rates or missing flight-path recalculation deadlines when obstacles appear.
- 4.Step 4: Conclude with a justified recommendation. A* is significantly more suitable due to its directional heuristic reducing execution time and memory footprint, provided the Euclidean distance heuristic remains strictly admissible and consistent.