AQA A NEA Technical Solution Guideline

Table of Contents

1 Expectations and Marking Scheme

Expectations

  • You are expected to:

    Provide program listing(s) that demostrate your technical skill. The program listing(s) should be appropriately annotated and self-documenting (an approach that uses meaningful identifiers, with well structured code that minimises instances where program comments are necessary). You should present your work in a way that will enable a third party to discern the quality and purpose of the coding. This could take the form of:

    • an overview guide which amongst other things includes the names of entities such as executables, data filenames/urls, database names, pathnames so that a third party can, if they so desire, run the solution/investigation
    • explanations of particularly difficult-to-understand code sections; a careful division of the presentation of the code listing into appropriately labelled sections to make navigation as easy as possible for a third party reading the code listing. To achieve this, to an extent, is linked to the skill in applying a structured approach during the course of developing the solution or carrying out the investigation.

The Marking Scheme

  • Completeness of solution (15 marks)
    level Mark Range Description
    3 11-15 A system that meets almost all of the requirements of a solution/an investigation (ignoring any requirements that go beyond the demandsof A-level).
    2 6-10 A system that achieves many of the requirements but not all. The marks at the top end of the band are for systems that include some of the most important requirements.
    1 1-5 A system that tackles some aspects of the problem or investigation.
  • Techniques Used (27 marks)
    level Mark Range Description
    3 19-27 The techniques used are appropriate and demonstrate a level of technical skill equivalent to those listed in Group A in Table 1. Program(s) demonstrate(s) that the skill required for this level has been applied sufficiently to demonstrate proficiency.ted design for a real problem, that describes how all or almost all of the key aspects of the solution/investigation are to be structured/are structured.
    2 10-18 The techniques used are appropriate and demonstrate a level of technical skill equivalent to those listed in Group B in Table 1. Program(s) demonstrate(s) that the skill required for this level has been applied sufficiently to demonstrate proficiency.
    1 1-9 The techniques used demonstrate a level of technical skill equivalent to those listed in Group C in Table 1. Program(s) demonstrate(s) that the skill required for this level has been applied sufficiently to demonstrate proficiency.
  • Table 1: Example Technical Skills

    Group Model (including data model/structure) Algorithms
    A Complex data model in database (eg several interlinked tables). Hash tables, lists, stacks, queues, graphs, trees or structures of equivalent standard. Files(s) organised for direct access. Complex scientific/mathematical/robotics/ control/business model. Complex user-defined use of object- orientated programming (OOP) model, eg classes, inheritance, composition, polymorphism, interfaces. Complex client-server modelta model in database (eg several interlinked tables) Cross-table parameterised SQL. Aggregate SQL functions. User/CASE-generated DDL script. Graph/Tree Traversal. List operations. Linked list maintenance Stack/Queue Operations Hashing. Advanced matrix operations Recursive algorithms. Complex user-defined algorithms (eg optimisation,minimisation,scheduling, pattern matching) or equivalent difficulty. Mergesort or similarly efficient sort. Dynamic generation of objects based on complex user-defined use of OOP model. Server-side scripting using request and response objects and server-side extensions for a complex client-server model. Calling parameterised Web service APIs and parsing JSON/XML to service a complex client-server model
    B Simple data model in database (eg two or three interlinked tables). Multi-dimensional arrays Dictionaries. Records. Text files. File(s) organised for sequential access. Simple scientific/mathematical robotics control/business model. Simple OOP model Simple client-server model Single table or non-parameterised SQL. Bubble sort Binary search. Writing and reading from files. Simple user defined algorithms (eg a range of mathematical/statistical calculations). Generation of objects based on simple OOP model. Server-side scripting using request and response objects and server-side extensions for a simple client-server model. Calling Web service APIs and parsing JSON/ XML to service a simple client-server modelriate and demonstrate a level of technical skill equivalent to those listed in Group B in Table 1. Program(s) demonstrate(s) that the skill required for this level has been applied sufficiently to demonstrate proficiency.
    C Single-dimensional arrays. Appropriate choice of simple data types Single table database Linear search. Simple mathematical calculations (eg average). Non-SQL table access

    Table 2: Coding styles

    Style Characteristics
    Excellent Modules (subroutines) with appropriate interfaces. Loosely coupled modules (subroutines) – module code interacts with other parts of the program through its interface only. Cohesive modules (subroutines) – module code does just one thing. Modules(collections of subroutines) – subroutines with common purpose grouped. Defensive programming. Good exception handling
    Good Well-designed user interface. Modularisation of code Good use of local variables Minimal use of global variables Managed casting of types Use of constants. Appropriate indentation. Self-documenting code. Consistent style throughout. File paths parameterised
    Basic Meaningful identifier names. Annotation used effectively where required

2 Present Your Programming Listings

Structure

  • You should present your work in a way that will enable a third party to discern the quality and purpose of the coding. This could take the form of:
    • Organise your code so that each separate program, data file, database names, path to file etc are titled and a clear description is under each title and before the actual listing.
    • The program listing(s) should be appropriately annotated and self-documenting.
    • Focus on your complex routines. Describing them with details and referring back to the complex objectives to demonstrate that you have achieved the more complex objectives.
    • If you have used a paricular skill, such as recursive algorithms, custom objects, etc, signposting them and explain them in details.