Skip to topic
    ← Back to course topics

    Evaluation — OCR A-Level Computer Science

    Test yourself on Evaluation with OCR A-Level practice questions.

    Start free

    7 days Premium · Then free forever · No card, no charge

    Evaluation explained

    Evaluation is a critical component of the non-exam assessment (NEA) where learners assess the success of their developed solution.

    Read the full explanation

    This involves testing for robustness and usability, cross-referencing outcomes against original success criteria, and discussing maintenance and potential future developments.

    What to demonstrate

    1. Evidence of post-development testing for function and robustness
    2. Evidence of usability testing including user feedback
    3. Evaluation of the solution against success criteria defined in the analysis
    Show all 7 objectives
    1. Identification of whether success criteria were fully, partially, or not met
    2. Discussion of maintenance issues and limitations of the solution
    3. Proposals for further development to address limitations or unmet criteria
    4. Justification of usability features and their effectiveness

    Evaluation exam tips

    Topic Overview

    Evaluation in Computer Science is a critical process of systematically assessing a system, algorithm, or solution against a set of predefined criteria and requirements. It's not merely about finding bugs, but a holistic examination of its fitness for purpose, efficiency, usability, security, maintainability, and its broader ethical, legal, social, and cultural (ELSC) impacts. This process is fundamental to ensuring that developed solutions are not only functional but also effective, user-friendly, secure, and responsible.

    Understanding evaluation is paramount for any aspiring computer scientist because it underpins the iterative nature of development. It provides the feedback loop necessary to identify strengths, weaknesses, and areas for improvement, driving refinement and innovation. Without robust evaluation, systems could be inefficient, difficult to use, vulnerable to attack, or even cause unintended negative societal consequences, ultimately failing to meet user needs or project objectives.

    Within the OCR A-Level Computer Science curriculum, evaluation is interwoven throughout various topics, particularly in system development, algorithm analysis, and the study of ELSC issues. Students are expected to not only design and implement solutions but also critically appraise them and existing technologies. This involves applying theoretical knowledge to practical scenarios, comparing different approaches, and justifying design choices or proposed improvements based on objective criteria and evidence, preparing them for real-world problem-solving and critical thinking.

    Key Concepts
    • →Fitness for Purpose: The extent to which a system or solution meets its specified requirements and solves the original problem effectively.
    • →Usability: How easy and intuitive a system is for its intended users to learn, operate, and achieve their goals, often considering user interface design.
    • →Efficiency: The optimal use of computational resources (time and space complexity) by an algorithm or system to perform its tasks.
    • →Maintainability: The ease with which a system can be modified, updated, or repaired, often linked to code readability, modularity, and documentation.
    • →Security: The measures taken to protect a system and its data from unauthorised access, use, disclosure, disruption, modification, or destruction.
    • →Ethical, Legal, Social, and Cultural (ELSC) Impacts: The broader implications and responsibilities associated with the development and deployment of computer systems on individuals, organisations, and society.
    Marking Points
    • Evidence of post-development testing for function and robustness
    • Evidence of usability testing including user feedback
    • Evaluation of the solution against success criteria defined in the analysis
    • Identification of whether success criteria were fully, partially, or not met
    • Discussion of maintenance issues and limitations of the solution
    • Proposals for further development to address limitations or unmet criteria
    • Justification of usability features and their effectiveness
    Examiner Tips
    • 💡Ensure the evaluation is logically structured with a clear line of reasoning
    • 💡Use annotated evidence to substantiate all claims made in the evaluation
    • 💡Explicitly link the evaluation back to the success criteria identified in the analysis phase
    • 💡Provide clear, actionable suggestions for how the program could be improved or maintained
    • 💡Ensure the evaluation is substantiated by relevant test data
    • 💡Always justify your points with specific technical reasoning or examples. Don't just state a problem or a strength; explain *why* it's a problem or a strength in the context of the given scenario or criteria.
    • 💡Structure your evaluations clearly, perhaps using a 'Point, Evidence, Explanation' (PEE) approach. Address different evaluation criteria (e.g., usability, efficiency, security) as distinct paragraphs or sections to demonstrate a comprehensive understanding.
    • 💡Consider multiple perspectives: When evaluating a system, think about it from the viewpoint of the end-user, the developer, the client, and even society at large (for ELSC issues). This shows a deeper, more nuanced understanding of the system's impact and effectiveness.
    Common Mistakes
    • Providing basic or unstructured comments without clear evidence
    • Failing to cross-reference test evidence with the original success criteria
    • Neglecting to discuss maintenance or potential future improvements
    • Lack of robust testing for both function and usability
    • Insufficient justification for the success or failure of usability features
    • Evaluation is just finding bugs: While bug detection is part of testing (which feeds into evaluation), evaluation is much broader. It assesses performance, usability, maintainability, security, and ethical considerations, not just functional correctness.
    • Subjective opinions are sufficient for evaluation: Students often rely on personal feelings. A strong evaluation requires objective criteria, measurable metrics, and evidence-based justifications to support conclusions, rather than just 'I think it's good'.
    • Evaluation only happens at the end of development: Evaluation is an ongoing, iterative process that should occur at various stages of the development lifecycle, from initial design reviews to post-implementation analysis, allowing for continuous improvement.
    Revision Plan
    1. 1Week 1, Day 1-2: Review definitions of key evaluation criteria (fitness for purpose, usability, efficiency, maintainability, security, ELSC). Create flashcards or a mind map for each, outlining what each criterion entails and how it can be measured.
    2. 2Week 1, Day 3-4: Analyse case studies. Take a simple existing system (e.g., a common website, an app, or a given scenario from a textbook) and practice evaluating it against each of the key criteria. Identify strengths, weaknesses, and potential improvements.
    3. 3Week 1, Day 5-7: Focus on ELSC impacts. Research current events or technological advancements and discuss their ethical, legal, social, and cultural implications. Practice articulating these impacts clearly and concisely.
    4. 4Week 2, Day 1-3: Tackle past paper questions specifically on evaluation. Pay close attention to the command words (e.g., 'discuss', 'evaluate', 'compare', 'justify'). Practice structuring your answers to be comprehensive and well-supported with evidence.
    5. 5Week 2, Day 4-5: Refine your understanding by comparing different solutions or algorithms based on specific evaluation criteria. For example, compare two sorting algorithms based on efficiency and ease of implementation. Create a checklist of points to cover for any evaluation question.
    Exam Question Types
    • 📋Discussion/Evaluation Questions: 'Discuss the suitability of [System X] for [Purpose Y], considering its usability and security features.' These require a balanced argument, presenting both advantages and disadvantages, and justifying your points with specific technical details. Aim for a structured approach, addressing each aspect separately.
    • 📋Comparison Questions: 'Compare and contrast two different approaches to [Problem Z] in terms of their efficiency and maintainability.' You need to clearly define the criteria for comparison, identify similarities and differences, and provide specific examples or theoretical reasoning to support your points. Use comparative language effectively.
    • 📋ELSC Impact Questions: 'Explain the ethical and social implications of using [Technology A] in [Context B].' These questions demand a detailed understanding of the broader societal effects. Provide specific examples of potential benefits and harms, and discuss the responsibilities of developers and users. Link your answer to relevant principles like data privacy or accessibility.
    • 📋Improvement/Recommendation Questions: 'Suggest improvements to [System P] based on the feedback provided, focusing on its user interface and robustness.' You'll need to analyse the given information, identify specific problems, and propose practical, technically sound solutions. Justify *why* your suggested improvements would be effective and how they address the identified issues.
    Frequently Asked Questions
    What's the main difference between testing and evaluation in Computer Science?
    Testing is a specific activity focused on identifying defects or verifying that a system meets its functional and non-functional requirements. It generates data. Evaluation, on the other hand, is a broader process that interprets and assesses the results of testing (and other data) against predefined criteria to determine the overall quality, effectiveness, and suitability of a system. Testing is a component of evaluation, providing the evidence needed for a comprehensive assessment.
    How do I objectively evaluate a system's efficiency?
    To objectively evaluate efficiency, you primarily use metrics related to time and space complexity. For algorithms, this means analysing their Big O notation (e.g., O(n), O(n log n)) to predict performance with varying input sizes. For systems, you'd measure actual execution time, CPU usage, memory consumption, and network bandwidth under different load conditions. Comparing these measurements against benchmarks or alternative solutions provides objective data for your evaluation.
    What are the key aspects to consider when evaluating a user interface (UI)?
    When evaluating a UI, focus on usability principles. Key aspects include learnability (how easy it is for new users to get started), efficiency (how quickly experienced users can perform tasks), memorability (how easy it is to re-establish proficiency after a break), error prevention and recovery (how the UI helps users avoid and recover from mistakes), and user satisfaction (how pleasant and intuitive the overall experience is). Consistency in design and feedback mechanisms are also crucial.
    Why are ethical, legal, social, and cultural (ELSC) considerations so important in evaluation?
    ELSC considerations are vital because computer systems don't exist in a vacuum; they interact with and impact real people and society. Evaluating these aspects ensures that a system is not only functional but also responsible, fair, and compliant. Forgetting ELSC can lead to issues like data privacy breaches, algorithmic bias, job displacement, or cultural insensitivity, all of which can have severe negative consequences and erode public trust in technology.
    Can I evaluate a system that isn't fully built yet?
    Absolutely! Evaluation should ideally be an ongoing process throughout the entire System Development Life Cycle. Early-stage evaluation can involve assessing design documents, prototypes, wireframes, or even just detailed specifications against requirements, usability heuristics, and potential ELSC impacts. This 'formative evaluation' allows for early identification and correction of flaws, saving significant time and resources compared to waiting until the system is complete.