Skip to main content
ALPHA    This is new software undergoing tests! Thank you for your patience.

A man reading code.

Assessment

Imagination is more important than knowledge. For knowledge is limited, whereas imagination embraces the entire world, stimulating progress, giving birth to evolution. ~ Einstein

An assessment contains: sixteen different areas of attainment (up to 5 marks each, or 80 marks in total), two aspects that form an overall impression (up to 10 marks each, or 20 marks in total), extensive written feedback containing advice, constructive criticism and encouragement.

The pattern for marking each area of attainment is:

1 mark
the candidate did not provide any evidence for the area of attainment.
2 marks
the candidate addressed the area of attainment, but fell short of the required level.
3 marks
the candidate fulfilled the minimum required level for the area of attainment.
4 marks
the candidate surpassed the required level for the area of attainment.
5 marks
the candidate provided evidence of exceptional work for the area of attainment.

If candidates get mostly 3's they achieve a pass, mostly 4's a pass with merit and mostly 5's a pass with distinction.

A foolish consistency is the hobgoblin of little minds ~ PEP8

Clearly a cultivated and mature sense of context and an appreciation of the level of grading are required when assessing a candidate. Applying the criteria in a narrow minded or restricted way indicates you, as an assessor, have missed the point of your role: to form an opinion guided by the assessment criteria (but not defined by them).

Put simply, adjust your expectations to the level of the grade. It would be unfair and, frankly, detrimental to assess a grade 1 candidate's response to grade 1's core concepts with the same level of detail, thoroughness and depth as a grade 8 candidate's response. However, remember that grade 8 candidates also need to demonstrate knowledge, understanding and appreciation of the core concepts of all previous grades, and to do so at a level appropriate for grade 8.

Further flexibility, reflection and intelligence is required when checking the statements created for the candidate. Some will require refinement since not all aspects of the statement may be relevant to the candidate's project or level of attainment. Furthermore, some statements will require you to add evidence or examples (indicated by a <TODO: > mark in the prose).

Finally, before turning to the assessment criteria, remember a candidate may have added private notes and context. These can be found at the top of the candidate's project page and only the candidate and the assessing mentor can see them.

Such details will have been written in confidence and must not be shared with anyone else without the candidate's explicit permission. They might describe special educational needs, medical conditions, or other aspects of the candidate's life which may impact how they engage with CodeGrades.

Please use this knowledge with compassion and integrity, so you can better understand and support the candidate during the grading process. If you have any questions or require guidance please don't hesitate to get in touch.

Project purpose

Was the purpose of the project, its aims and objectives and the needs of those interacting with it clearly articulated?

1 mark
The purpose of the project isn't explained.
2 marks
The gist of the project is explained, but lacks detail. The purpose or aims of the project are not clearly defined.
3 marks
The purpose of the project is adequately explained. It is clear what the software is supposed to do, who it is for, and why it was created.
4 marks
The purpose and aims of the project are clearly explained. The candidate is aware of the wider context of the project's domain, genre of software or user needs.
5 marks
The purpose and aims of the project are clearly expressed in some detail. The candidate shows analysis of the less obvious and perhaps potentially problematic aspects of the project's focus.

User engagement

How well did the candidate engage and empathise with their project's expected users, their needs and potential stumbling blocks?

1 mark
No attempt is made to identify, engage with or understand potential users of the project.
2 marks
While an attempt is made to identify, engage with or understand potential users of the project, it lacks empathy, detail or utility.
3 marks
Potential users are clearly identified and the candidate shows engagement with and an understanding of these users. There is evidence such considerations influenced the design and implementation of the project.
4 marks
The project clearly has users as a primary focus. There is a well organised and comprehensive attempt to understand their needs. User research is clearly linked to the successful implementation of the project.
5 marks
The project demonstrates a clear understanding of and engagement with potential users. In addition, (where appropriate) cultural diversity (internationalization), accessibility, and how a user learns to engage with the project is effectively addressed with flair and empathy.

Running the project

How clear and accurate were the instructions for executing the project, and how robust was the project when run?

1 mark
There are no instructions for use and the project doesn't run.
2 marks
The provided instructions are incomplete, inaccurate or confusing to follow. Furthermore, the project has significant runtime problems or regularly crashes.
3 marks
The instructions explain how to run the project. The project runs as expected although bugs and other problems are evident.
4 marks
The instructions are clear and may also include advice for problem situations. The project runs as expected and few, if any, obvious problems or bugs are encountered.
5 marks
The instructions are clear, engaging and appropriate for the project. They may include help and advice for dealing with problematic situations. The project is easy to run and works as expected with no problems or bugs.

Architecture and design

How well was the project designed, architected and put together?

1 mark
No coherent engagement with design, architecture and/or organisation of the project is in evidence.
2 marks
There is evidence of thought about the design, organisation and architecture of the project, but it is not of the hoped for level of detail or clarity. Architectural decisions may also create long term maintainability problems.
3 marks
The design, architecture and organisation of the project, its code and related assets is coherent. It is obvious the end result has been arrived at through a process of thoughtful refinement and adjustment.
4 marks
The architecture, design and organisation of the project is clear, logical and may follow a recognisable methodology or common practice. Design related decisions and processes are appropriately recorded in a way that future maintainers would find useful.
5 marks
The architecture, design and organisation of the project reflects significant thought and refinement. The candidate has an effective attitude for achieving the aims of the project. This is shown with high quality documentation, comments in the code and other evidence provided.

A older programmer reading code.

User experience

In terms of the presentation and interface of the project, what is the user's experience of interacting with the project?

1 mark
When the project is run, there is no attempt to make the user's life easier, help them to engage with the project or understand what to do. From the user's perspective the project is opaque, intimidating or confusing.
2 marks
Some attempt is made to engage with the user and/or provide guidance. However, this is confusing, inappropriate or unhelpful.
3 marks
The project engages the user's attention and signals how it ought to be used. If appropriate, there may be mechanisms built in so the user can gain help or guidance. The project demonstrates some understanding of the user interface appropriate for the project's domain.
4 marks
Interactions with the project are clear and well designed.There has obviously been thought about, and refinement of, the user's experience. Help, if appropriate, is easily available, well presented and sensitive to the user's needs. The project clearly demonstrates and makes use of idiomatic user interfaces for this type of project. If appropriate, accessibility and internationalization requirements are addressed to some extent.
5 marks
The experience of using the project is a joy and there is clear evidence of a thoughtful and in-depth analysis of this aspect of the project. Help, if appropriate, is context sensitive and delivered in a way that enhances the experience of the project. While clearly demonstrating an understanding of idiomatic interfaces for this type of project, there are innovations or touches of flair that make the project unique. Accessibility and internationalization, if appropriate for this project, are well integrated and use common tools and practices.

Core concepts

Does the candidate understand and display knowledge of the core concepts for this, and all previous, grades?

1 mark
No obvious attempt is made to explain or use any of the core concepts for this and previous grades.
2 marks
Core concepts for this and previous grades are acknowledged but used in an inappropriate, confused or incorrect manner.
3 marks
Core concepts for the grade are used correctly and appropriately, albeit for simple outcomes. The candidate demonstrates understanding by explaining why they chose to use certain core concepts in a particular way.
4 marks
The core concepts for the grade are used together in a way that reveals the candidate understands their more subtle or complex aspects. They easily describe and illustrate any of the core concepts they have been questioned about. They give a critical appraisal of how such core concepts might be used in the project's context.
5 marks
Core concepts for the grade are used together with fluency and in an idiomatic manner to create a well written and effective codebase. The candidate easily illustrates their considerable depth of understanding and appreciation of each core concept, along with how such concepts work together and apply to the project at hand.

Code quality

Is the code idiomatic, efficient, simply written and well organised?

1 mark
The code is hard to read, has significant bugs and/or the candidate clearly has no understanding of, or desire to write, clean and simple code.
2 marks
The code is poorly presented, may not work, or has significant failings in terms of naming, commenting code, organisation and program structure.
3 marks
The code is mostly idiomatic for this level of grading. There is evidence of care taken when naming and organising things. In general, code is relatively simple and clear although there is clear room for improvement.
4 marks
There is a clear understanding of idiomatic code and conventions for this level of grading. Naming is appropriate and aids with readability of the code while functionality is clearly organised into sensible and flexible abstractions. The code is easy to read, clearly commented and code layout has been considered (line length, spacing etc).
5 marks
The code and conventions used are effortlessly idiomatic for this level of grading. Naming, functional organisation, data structures and abstractions used are clear, obvious and unfold in a way that make them easy to understand. The code is clearly written to be read, while comments add valuable context. The code layout is sensitive and may conform to a coding standard (such as PEP8).

Understanding and technical engagement

How well does the candidate apply their knowledge and understanding of the core concepts to address the requirements of their project?

1 mark
Code is incoherent - reflecting the candidate's lack of understanding of core concepts and how to apply them to effectively produce something of value.
2 marks
While the code sometimes suggests understanding of how and when to use a programming idiom, there are clear and obvious mistakes and/or confusing implementation details suggesting a lack of clear understanding when writing code to effectively meet the requirements of the project.
3 marks
The code shows a basic understanding of coding idioms and appropriate use of core concepts to address technical requirements of the project. While there may be more efficient or 'elegant' ways to do things, the code gets the job done.
4 marks
The code is idiomatic and core concepts are used in an entirely appropriate manner for the context of the technical requirements of the project. There is evidence of refinement, refactoring and reorganisation of the code to help it better meet the project's requirements and/or so it it easier to read and/or understand.
5 marks
The code is elegantly idiomatic and addresses the technical requirements of the project in an efficient and expressive manner. It is easy to read, appropriately commented and efficiently implemented. If required, technical decisions or refactoring is clearly highlighted and explained.

Creativity and imagination

How unique, surprising, delightful and/or authentic is the approach of this project?

1 mark
The project is not creative or imaginative. It copies existing work or borrows heavily in such a way that no original thought or approach can be claimed.
2 marks
While there is evidence of originality, the project is clearly a derivative work or formulaic. Any originality is either trivial or more a burden than benefit to the project. It is hard to describe any creativity associated with this project as significant in terms of either impact or effort.
3 marks
The project is clearly the candidate's own work. While the project may be another take on a common problem or formula, it is executed in a unique way that demonstrates imagination and creativity (while not being entirely original).
4 marks
The project has a unique and creative approach to a new domain, or is an interesting reimagining of a common formula. This imaginative approach enhances the project.
5 marks
The project is creative in an original, interesting or delightful way. Its unique approach significantly enhances the overall effect and value of the project either by addressing something original or by taking an original approach to existing software practices. Such creativity makes this a stand-out 'must see' project.

Collaboration, community and compassion

How did the candidate approach, behave and react to interactions and contributions from others, relating to this project?

1 mark
No evidence of collaboration with the mentor, other collaborators or the wider coding community is presented. The project and related documentation does not address the needs or empathise with the feelings of collaborators.
2 marks
Interaction with others has not advanced the project or shown the candidate understands the importance of a collaborative, professional and empathetic approach to communication. There is only a passing reference to collaboration in the documentation for the project.
3 marks
Interactions with the candidate are collaborative, cooperative and empathetic, and help others engage with the project. The project's documentation may make some reference to how to contribute and illustrates expectations of behaviour from collaborators.
4 marks
The candidate clearly welcomes collaboration and constructive contributions. They are polite, open minded and willing to actively engage in debate. They demonstrate both a cooperative attitude and willingness to affirmatively participate in technical discussions. The project's documentation clearly addresses expectations about the contributions and behaviour of participants in the project.
5 marks
The candidate is a credit to themselves and the project through the leadership they demonstrate as an empathetic, compassionate, respectful and engaged collaborator. Their technical discussions are clear, concise and engaging while retaining a cooperative and welcoming tone. Evidence from the project shows the candidate actively engages in promoting a healthy, respectful, diverse and technically effective community.

Writing documentation.

Documentation and comments

Was the project's documentation appropriate for this level of grading and were the comments in code helpful?

1 mark
There is no documentation and the code doesn't contain appropriate comments.
2 marks
Documentation and in-code comments lack clarity, context, or empathy for the reader. At times they are confusing, ambiguous or inaccurate. The documentation contains spelling or gramatical errors, making it hard to read and understand.
3 marks
An appropriate type of documentation for the level of grading is offered as part of the project. Furthermore, the code, where appropriate, contains comments that enhance technical understanding. However, the documentation could be more clearly written and take into account different types of reader (user, developer, etc).
4 marks
Documentation is clear, well written and appropriate for this level of grading. Comments in the code are equally clear and enhance the readability of the code while providing helpful context. The prose is mostly comprehensive, well written and takes into account the needs of the various types of readers.
5 marks
Documentation is integral to this project. It is clear, engaging, accurate, comprehensive, simply organised and carefully presented as per the level expected for this grade. Comments in code are equally clear and well written, making the source a pleasure to read and understand. The prose and organisation of the documentation clearly demonstrates thoughtful, precise, informative and empathetic writing for a wide range of different readers.

Development practices

How well did the candidate understand and make appropriate use of effective development practices? (e.g. testing, CI, debugging, refactoring, source control, issue tracking etc...)

1 mark
The candidate is disorganised, has no thought for refinement nor follows any recognizable development practice. Common activities like testing, debugging, refactoring or source control are not considered or demonstrated.
2 marks
The candidate unsuccessfully attempts to refine and improve the quality of their project. Evidence of activities like testing, debugging, refactoring or source control shows they are misunderstood or done in an ineffectual manner.
3 marks
The candidate shows they are able to reflect upon and refine their work via coherent development practices. They make superficial use of activities such as testing, debugging, refactoring, source control or automation of processes (for example, CI).
4 marks
Not only does the candidate refine their work via coherent development practices, but they show adaptability and the foresight to code for change. Development practices complement and improve the creation and organization of the project.
5 marks
The high quality of the candidate's work is influenced by their highly effective use of coherent development practices. Not only do they code for change, but change is a low risk activity for this project. Development activities such as testing, debugging, refactoring and source control management are integrated into the project's processes and, where possible, automated and documented.

Tools and third-party technology

How well did the candidate understand and make appropriate use of core tools used for software development? (e.g. a code editor, debugger, the command line, vcs etc...)

1 mark
The candidate lacks facility with, and understanding of core tools and third party technology used to develop their project.
2 marks
While the candidate knows about the core tools and third party technology used to develop their project, they show little evidence of effective use or understanding of these aspects of the project.
3 marks
The candidate is familiar with basic use of core tools and third party technology for creating projects similar to their own.
4 marks
The candidate understand the various tools, frameworks and APIs needed to implement their project. These are effectively used together, to the benefit of the project.
5 marks
The candidate makes effective, informed, idiomatic and confident use of the tools, frameworks and APIs needed to successfully implement their project. They clearly demonstrate a deep understanding and appreciation of such aspects of the project, along with how to most effectively use them together.

Learning and research

Is the candidate an effective and autonomous learner from documentation and other educational resources related to the technology and tools used in their project?

1 mark
The candidate shows no evidence of learning from or consuming educational resources and documentation relating to the technology they are using.
2 marks
Educational resources and documentation about the technology the candidate is using is minimally consumed or does not appear to contribute much to the development of the project.
3 marks
The candidate clearly makes use of learning resources and documentation in a way that enhances their understanding and allows them to satisfactorily implement their project.
4 marks
The candidate is well practised and autonomous when researching documentation and other educational resources relating to the technology they use in their project.
5 marks
The candidate is a confident, careful and curious consumer of documentation and educational resources relating to both technical and social aspects of their project.

Effectiveness

Did the candidate achieve their aims and objectives for the project?

1 mark
The project clearly does not address its stated aims, objectives and the needs of the people interacting with it.
2 marks
The project only partially addresses its stated aims and objectives, and only a few of the needs of the people interacting with it are effectively addressed.
3 marks
The project successfully addressed its stated aims and objectives along with the needs of the people interacting with it.
4 marks
The project exceeded its aims, objectives and needs of the people interacting with it.
5 marks
The project exceeded its aims and the needs of people interacting with it in a unique, original, creative and highly effective manner.

A man explaining his project to two women.

Overall impression of the project

For this level of grading: requires significant improvement (1-3), working towards the expected level (4-5), achieving the expected level (6-7), a high quality project (8-9), and exceptional project (10).

Overall impression of the candidate's attainment

For this level of grading: requires significant improvement (1-3), working towards the expected level (4-5), achieving the expected level (6-7), a high quality candidate (8-9), exceptional(10).


Candidate's level of achievement

How did the candidate meet the level of achievement expected for this grade?

1 mark
The candidate has significant work to do to achieve the required level.
2 marks
The candidate is still making progress towards, but not quite reaching, the required level.
3 marks
The candidate has clearly demonstrated they are working at the required level.
4 marks
The candidate has attained a level of skill and knowledge beyond the required level.
5 marks
The candidate has far exceeded the required level of attainment.

Positive feedback

Please write some positively framed feedback about their project. It is appropriate to make this personal (perhaps describe how their project made you feel), acknowledge the project's context (perhaps it was a difficult domain) and/or mention achievements in their approach to the project.

Room for improvement

Please write supportive suggestions for improvement and constructive criticism of their project. What does the candidate need to work on or understand next time they take a grade?

General feedback

Optionally, please share any further constructive commentary you feel needs to be shared with the candidate, but which doesn't fit anywhere else. Feel free to suggest new things to research, books to read, or techniques to learn ~ anything that will appropriately enlarge their world.

Closing comments

Please write some final closing commentary to help the candidate think about their next steps. Please also include appropriate encouragement and, if appropriate some congratulations. After reading this comment, candidates should feel positively challenged into continuing their learning journey.