Content of the NEA

Learners will be expected to analyse, design, develop, test, evaluate and document a program written in a suitable programming language. The underlying approach to the project is to apply the principles of computational thinking to a practical coding problem. Learners are expected to apply appropriate principles from an agile development approach to the project development. While the project assessment criteria are organised into specific categories, it is anticipated the final report will document the agile development process and elements for each of the assessment categories will appear throughout the report.

3.1. Analysis of the problem (10 marks)
3.1.1 Problem identification
  1. Describe and justify the features that make the problem solvable by computational methods.
  2. Explain why the problem is amenable to a computational approach.
3.1.2 Stakeholders
  1. Identify and describe those who will have an interest in the solution explaining how the solution is appropriate to their needs (this may be named individuals, groups or persona that describes the target end user).
3.1.3 Research the problem
  1. Research the problem and solutions to similar problems to identify and justify suitable approaches to a solution.
  2. Describe the essential features of a computational solution explaining these choices.
  3. Explain the limitations of the proposed solution.
3.1.4 Specify the proposed solution
  1. Specify and justify the solution requirements including hardware and software configuration (if appropriate).
  2. Identify and justify measurable success criteria for the proposed solution.
3.2 Design of the solution (15 marks)
3.2.1 Decompose the problem
  1. Break down the problem into smaller parts suitable for computational solutions justifying any decisions made.
3.2.2 Describe the solution
  1. Explain and justify the structure of the solution.
  2. Describe the parts of the solution using algorithms justifying how these algorithms form a complete solution to the problem.
  3. Describe usability features to be included in the solution.
  4. Identify key variables / data structures / classes justifying choices and any necessary validation.
3.2.3 Describe the approach to testing
  1. Identify the test data to be used during the iterative development and post development phases and justify the choice of this test data.
3.3 Developing the solution (25 marks)
3.3.1 Iterative development process
  1. Provide annotated evidence of each stage of the iterative development process justifying any decision made.
  2. Provide annotated evidence of prototype solutions justifying any decision made.
3.3.2 Testing to inform development
  1. Provide annotated evidence for testing at each stage justifying the reason for the test.
  2. Provide annotated evidence of any remedial actions taken justifying the decision made.
3.4 Evaluation (20 marks)
3.4.1 Testing to inform evaluation
  1. Provide annotated evidence of testing the solution of robustness at the end of the development process.
  2. Provide annotated evidence of usability testing (user feedback).
3.4.2 Success of the solution
  1. Use the test evidence from the development and post development process to evaluate the solution against the success criteria from the analysis.
3.4.3 Describe the final product
  1. Provide annotated evidence of the usability features from the design, commenting on their effectiveness.
3.4.4 Maintenance and development
  1. Discuss the maintainability of the solution.
  2. Discuss potential further development of the solution.

Assessment Criteria

AO 2.2 Analysis (maximum 10 marks)
1-2 marks 3-5 marks 6-8 marks 9-10 marks
The candidate will have:
  • Identified some features that make the problem solvable by computational methods.
  • Identified suitable stakeholders for the project and described them and some of their requirements.
  • Identified some appropriate features to incorporate into their solution.
  • Identified some features of the proposed computational solution.
  • Identified some limitations of the proposed solution.
  • Identified some requirements for the solution.
  • Identified some success criteria for the proposed solution.
  • Described the features that make the problem solvable by computational methods.
  • Identified suitable stakeholders for the project and described how they will make use of the proposed solution.
  • Researched the problem looking at existing solutions to similar problems identifying some appropriate features to incorporate into their solution.
  • Identified the essential features of the proposed computational solution.
  • Identified and described some limitations of the proposed solution.
  • Identified most requirements for the solution.
  • Identified some measurable success criteria for the proposed solution.
  • Described the features that make the problem solvable by computational methods and why it is amenable to a computational approach.
  • Identified suitable stakeholders for the project and described them and how they will make use of the proposed their needs.
  • Researched the problem in depth looking at existing solutions to similar problems identifying and describing suitable approaches based on this research.
  • Identified and described the essential features of the proposed computational solution.
  • Identified and explained any limitations of the proposed solution.
  • Specified the requirements for the solution including (as appropriate) any hardware and software requirements.
  • Identified measurable success criteria for the proposed solution.
  • Described and justified the features that make the problem solvable by computational methods, explaining why it is amenable to a computational approach.
  • Identified suitable stakeholders for the project and described them explaining how they will make use of the proposed solution and why it is appropriate to their needs.
  • Researched the problem in depth looking at existing solutions to similar problems, identifying and justifying suitable approaches based on this research.
  • Identified the essential features of the proposed computational solution explaining these choices.
  • Identified and explained with justification any limitations of the proposed solution.
  • Specified and justified the requirements for the solution including (as appropriate) any hardware and software requirements.
  • Identified and justified measurable success criteria for the proposed solution.
6-8 marks 9-10 marks
The candidate will have:
  • Described the features that make the problem solvable by computational methods and why it is amenable to a computational approach.
  • Identified suitable stakeholders for the project and described them and how they will make use of the proposed their needs.
  • Researched the problem in depth looking at existing solutions to similar problems identifying and describing suitable approaches based on this research.
  • Identified and described the essential features of the proposed computational solution.
  • Identified and explained any limitations of the proposed solution.
  • Specified the requirements for the solution including (as appropriate) any hardware and software requirements.
  • Identified measurable success criteria for the proposed solution.
  • Described and justified the features that make the problem solvable by computational methods, explaining why it is amenable to a computational approach.
  • Identified suitable stakeholders for the project and described them explaining how they will make use of the proposed solution and why it is appropriate to their needs.
  • Researched the problem in depth looking at existing solutions to similar problems, identifying and justifying suitable approaches based on this research.
  • Identified the essential features of the proposed computational solution explaining these choices.
  • Identified and explained with justification any limitations of the proposed solution.
  • Specified and justified the requirements for the solution including (as appropriate) any hardware and software requirements.
  • Identified and justified measurable success criteria for the proposed solution.
AO 3.1 Design (maximum 15 marks)
1-4 marks 5-8 marks 9-12 marks 13-15 marks
The candidate will have:
  • Described elements of the solution using algorithms.
  • Described some usability features to be included in the solution.
  • Identified the key variables / structures / classes (as appropriate to the proposed solution).
  • Identified some test data to be used during the iterative or post development phase of the process.
  • Broken the problem down systematically into a series of smaller problems suitable for computational solutions describing the process.
  • Defined the structure of the solution to be developed.
  • Described the solution fully using appropriate and accurate algorithms.
  • Described the usability features to be included in the solution.
  • Identified the key variables / data structures / classes (as appropriate to the proposed solution) and any necessary validation.
  • Identified the test data to be used during the iterative development of the solution.
  • Identified any further data to be used in the post development phase.
  • Broken the problem down systematically into a series of smaller problems suitable for computational solutions explaining the process.
  • Defined in detail the structure of the solution to be developed.
  • Described the solution fully using appropriate and accurate algorithms explaining how these algorithms form a complete solution to the problem.
  • Described, explaining choices made, the usability features to be included in the solution.
  • Identified and justified the key variables / data structures / classes (as appropriate to the proposed solution) explaining any necessary validation.
  • Identified and justified the test data to be used during the iterative development of the solution.
  • Identified and justified any further data to be used in the post development phase.
  • Broken the problem down systematically into a series of smaller problems suitable for computational solutions, explaining and justifying the process.
  • Defined in detail the structure of the solution to be developed.
  • Described the solution fully using appropriate and accurate algorithms justifying how these algorithms form a complete solution to the problem.
  • Described, justifying choices made, the usability features to be included in the solution.
  • Identified and justified the key variables / data structures / classes (as appropriate to the proposed solution) justifying and explaining any necessary validation.
  • Identified and justified the test data to be used during the iterative development of the solution.
  • Identified and justified any further data to be used in the post development phase.
9-12 marks 13-15 marks
The candidate will have:
  • Broken the problem down systematically into a series of smaller problems suitable for computational solutions explaining the process.
  • Defined in detail the structure of the solution to be developed.
  • Described the solution fully using appropriate and accurate algorithms explaining how these algorithms form a complete solution to the problem.
  • Described, explaining choices made, the usability features to be included in the solution.
  • Identified and justified the key variables / data structures / classes (as appropriate to the proposed solution) explaining any necessary validation.
  • Identified and justified the test data to be used during the iterative development of the solution.
  • Identified and justified any further data to be used in the post development phase.
  • Broken the problem down systematically into a series of smaller problems suitable for computational solutions, explaining and justifying the process.
  • Defined in detail the structure of the solution to be developed.
  • Described the solution fully using appropriate and accurate algorithms justifying how these algorithms form a complete solution to the problem.
  • Described, justifying choices made, the usability features to be included in the solution.
  • Identified and justified the key variables / data structures / classes (as appropriate to the proposed solution) justifying and explaining any necessary validation.
  • Identified and justified the test data to be used during the iterative development of the solution.
  • Identified and justified any further data to be used in the post development phase.
AO 3.2 Developing the coded solution (maximum 25 marks)
Iterative development of a coded solution (maximum 15 marks)
1-4 marks 5-8 marks 9-12 marks 13-15 marks
The candidate will have:
  • Provided evidence of some iterative development for a coded solution.
  • Solution may be linear.
  • Code may be inefficient.
  • Code may not be annotated appropriately.
  • Variable names may be inappropriate.
  • There will be little or no evidence of validation.
  • There will be little evidence of review during the development.
  • Provided evidence for most stages of the iterative development process for a coded solution describing what they did at each stage.
  • Solution will have some structure.
  • Code will be briefly annotated to explain key components.
  • Some variable and/or structure names will be largely appropriate.
  • There will be evidence of some basic validation.
  • There will be evidence that the development was reviewed at some stage during the process.
  • Provided evidence of each stage of the iterative development process for a coded solution relating this to the break down of the problem from the analysis stage and explaining what they did at each stage.
  • Provided evidence of some prototype versions of their solution.
  • The solution will be modular in nature.
  • Code will be annotated to explain all key components.
  • Most variables and structures will be appropriately named.
  • There will be evidence of validation for most key elements of the solution.
  • The development will show review at most key stages in the process.
  • Provided evidence of each stage of the iterative development process for a coded solution relating this to the break down of the problem from the analysis stage and explaining what they did and justifying why.
  • Provided evidence of prototype versions of their solution for each stage of the process.
  • The solution will be well structured and modular in nature.
  • Code will be annotated to aid future maintenance of the system.
  • All variables and structures will be appropriately named.
  • There will be evidence of validation for all key elements of the solution.
  • The development will show review at all key stages in the process.
9-12 marks 13-15 marks
The candidate will have:
  • Provided evidence of each stage of the iterative development process for a coded solution relating this to the break down of the problem from the analysis stage and explaining what they did at each stage.
  • Provided evidence of some prototype versions of their solution.
  • The solution will be modular in nature.
  • Code will be annotated to explain all key components.
  • Most variables and structures will be appropriately named.
  • There will be evidence of validation for most key elements of the solution.
  • The development will show review at most key stages in the process.
  • Provided evidence of each stage of the iterative development process for a coded solution relating this to the break down of the problem from the analysis stage and explaining what they did and justifying why.
  • Provided evidence of prototype versions of their solution for each stage of the process.
  • The solution will be well structured and modular in nature.
  • Code will be annotated to aid future maintenance of the system.
  • All variables and structures will be appropriately named.
  • There will be evidence of validation for all key elements of the solution.
  • The development will show review at all key stages in the process.
Testing to inform development (maximum 10 marks)
1-2 marks 3-5 marks 6-8 marks 9-10 marks
The candidate will have:
  • Provided some evidence of testing during the iterative development process.
  • Provided some evidence of testing during the iterative development process.
  • Provided evidence of some failed tests and the remedial actions taken.
  • Provided evidence of testing at most stages of the iterative development process.
  • Provided evidence of some failed tests and the remedial actions taken with some explanation of the actions taken.
  • Provided evidence of testing at each stage of the iterative development process.
  • Provided evidence of any failed tests and the remedial actions taken with full justification for any actions taken.
6-8 marks 9-10 marks
The candidate will have:
  • Provided evidence of testing at most stages of the iterative development process.
  • Provided evidence of some failed tests and the remedial actions taken with some explanation of the actions taken.
  • Provided evidence of testing at each stage of the iterative development process.
  • Provided evidence of any failed tests and the remedial actions taken with full justification for any actions taken.
AO 3.3 Evaluation (maximum 20 marks)
Testing to inform evaluation (maximum 5 marks)
1 mark 2 marks 3-4 marks 5 marks
The candidate will have:
  • Provided evidence of some post development testing.
  • Provided evidence of final product testing for function.
  • Provided annotated evidence of post development testing for function.
  • Provided annotated evidence for usability testing.
  • Provided annotated evidence of post development testing for function and robustness
  • Provided annotated evidence for usability testing.
3-4 marks 5 marks
The candidate will have:
  • Provided annotated evidence of post development testing for function.
  • Provided annotated evidence for usability testing.
  • Provided annotated evidence of post development testing for function and robustness
  • Provided annotated evidence for usability testing.
Evaluation of solution (maximum 15 marks)
1-4 marks 5-8 marks 9-12 marks 13-15 marks
The candidate will have:
  • Commented on the success or failure of the solution with some reference to test data.
  • The information is basic and communicated in an unstructured way. The information is supported by limited evidence and the relationship to the evidence may not be clear.
  • Cross referenced some of the test evidence with the success criteria and commented on the success or otherwise of the solution.
  • Provided evidence of usability features.
  • Identified some limitations on the solution.
  • The information has some relevance and is presented with limited structure. The information is supported by limited evidence.
  • Used the test evidence to cross reference with the success criteria to evaluate the solution identifying whether the criteria have been met, partially met or unmet.
  • Provided comments on how any partially or not met criteria could be addressed in further development.
  • Provided evidence of the usability features.
  • Considered maintenance issues and limitations of the solution.
  • There is a line of reasoning presented with some structure. The information presented is in the most part relevant and supported by some evidence.
  • Used the test evidence to cross reference with the success criteria to evaluate the solution explain how the evidence shows that the criteria has been fully, partially or not met in each case.
  • Provided comments on how any partially or unmet criteria could be addressed in further development.
  • Provided evidence of the usability features justifying their success, partial success or failure as effective usability features.
  • Provided comments on how any issues with partially or unmet usability features could be addressed in further development.
  • Considered maintenance issues and limitations of the solution.
  • Described how the program could be developed to deal with limitations and potential improvements / changes.
  • There is a well developed line of reasoning which is clear and logically structured. The information presented is relevant and substantiated.
3-4 marks 5 marks
The candidate will have:
  • Used the test evidence to cross reference with the success criteria to evaluate the solution identifying whether the criteria have been met, partially met or unmet.
  • Provided comments on how any partially or not met criteria could be addressed in further development.
  • Provided evidence of the usability features.
  • Considered maintenance issues and limitations of the solution.
  • There is a line of reasoning presented with some structure. The information presented is in the most part relevant and supported by some evidence.
  • Used the test evidence to cross reference with the success criteria to evaluate the solution explain how the evidence shows that the criteria has been fully, partially or not met in each case.
  • Provided comments on how any partially or unmet criteria could be addressed in further development.
  • Provided evidence of the usability features justifying their success, partial success or failure as effective usability features.
  • Provided comments on how any issues with partially or unmet usability features could be addressed in further development.
  • Considered maintenance issues and limitations of the solution.
  • Described how the program could be developed to deal with limitations and potential improvements / changes.
  • There is a well developed line of reasoning which is clear and logically structured. The information presented is relevant and substantiated.

Exemplars

High achieving exemplars:

Middle achieving exemplars:

Low achieving exemplars: