Candidate: Claire Candidate Assessed by: Mary Mentor
Python (2023) ~ Grade 1 (Initial)
Emote a smile or a frown through your COVID mask with a CircuitPlayground Express and Python.
|Filename (click to download)||Size||Uploaded by|
Feedback and results
Was the purpose of the project, its aims and objectives and the needs of those interacting with it clearly articulated?
You sufficiently explained your aims and objectives. I could tell what your project was supposed to do, who it was for and why it was created.
How well did the candidate engage and empathise with their project's expected users, their needs and potential stumbling blocks?
You showed clear understanding of your potential users. Making a human connection with others while wearing a mask has been such an important aspect of recent times. Such knowledge obviously helped to guide the design and implementation of the project.
Running the project:
How clear and accurate were the instructions for executing the project, and how robust was the project when run?
I found your clear instructions and advice for running your project very helpful. Everything runs as expected although I encountered a minor problem that I reported as a bug, and which you quickly fixed.
Architecture and design:
How well was the project designed, architected and put together?
The design and organisation of your project is clear and logical. I also appreciate the care you have taken to record design decisions for future maintainers and collaborators.
In terms of the presentation and interface of the project, what is the user's experience of interacting with the project?
Thank you for the clear and well thought out way in which people interact with your project. Working out how to use the two buttons on the board resulted in a very simple solution. There is clear evidence you have thought about and refined this most important aspect of the project, with reference to the idioms and expectations appropriate for this type of software (for instance, controlling the sensitivity of the buttons).
Does the candidate understand and display knowledge of the core concepts for this, and all previous, grades?
You show a depth of understanding of the core concepts that indicates you appreciate their more subtle or complex aspects. I appreciated how you illustrated and explained your use of the core concepts for this grade, and how they apply to your project. Well done!
Is the code idiomatic, efficient, simply written and well organised?
Well done. Your code is easy to understand and idiomatic. You name things in a way that clarifies your code. Your code is well organised so it is easy to see how things fit together and you have clearly taken care and attention about the way it is presented.
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?
Good job. Your code is Pythonic, appropriate and fulfils the technical requirements of your project. I can also see evidence of refinement and refactoring of code, to improve its quality and make it easier to understand and maintain. You've come a long way in such a short period of time, and the changes from your first iteration of the project to the final version demonstrate how much you've grown as a developer.
Creativity and imagination:
How unique, surprising, delightful and/or authentic is the approach of this project?
Your creativity makes this a stand-out 'must see' project. It is relevant, simple, effective and very engaging for anyone who has struggled with mask wearing over the past few years. Such a unique approach significantly enhances your work in an interesting, surprising and intriguing way. This is great work - and please keep up with such an imaginative attitude.
Collaboration, community and compassion:
How did the candidate approach, behave and react to interactions and contributions from others, relating to this project?
You are a credit to yourself and the project through the leadership you have demonstrated. You are an empathetic, compassionate, respectful and engaged collaborator. Your contributions to discussions are clear, concise and engaging while retaining a cooperative and welcoming tone. Your project is a wonderful example of how to actively engage in promoting a healthy, respectful, diverse and technically effective community. This is wonderful to see, please keep up such great work, and thank you.
Documentation and comments:
Was the project's documentation appropriate for this level of grading and were the comments in code helpful?
Documentation is clearly integral to your project. It is clear, engaging, accurate, comprehensive, simply organised and carefully presented. I especially enjoyed the friendly tone of voice you used in the user guide. Your code comments are equally clear and well written making the source a pleasure to read. You write in a thoughtful, precise, informative and empathetic manner for a wide range of different readers. What a great job! Well done.
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...)
You have shown you are capable of reflecting upon and refining the quality of your project through the simple use of coherent development practices such as testing, debugging, refactoring, and the features found in the Mu editor.
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...)
You obviously understand the various tools, frameworks and APIs needed to implement your project. Furthermore, you effectively use them together to the benefit of your project. While you initially found problems with some of the ways the CircuitPython APIs worked (anti-clockwise numbering of the neopixels, for instance), these were quickly overcome.
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?
I'm pleased to say you are well practised and take the lead when researching problems, reading documentation and consuming other educational resources relating to the technology you use in your project. Well done! This was especially evident as you tacked the problem with over-sensitive buttons.
Did the candidate achieve their aims and objectives for the project?
Well done. You project has successfully addressed its stated aims and objectives along with the needs of the people interacting with it.
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).
This is a very high quality project.
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).
Very high quality.
Candidate's level of achievement:
How did the candidate meet the level of achievement expected for this grade?
Good work. You have attained a level of skill and knowledge beyond the required level of attainment for this grade.
Total marks: 80/100
(Pass: 60, Merit: 75, Distinction: 90)
Thank you for your Mask-emote-o-matic project. It was a really great idea executed in an effective and thoughtful way. I especially enjoyed your use of humour in the documentation, and appreciated how you clearly explained your aims, code and progress with engaging entries and illustrations.
In future, it would be helpful if you could give evidence of engagement with a potential user - find out what they think, what their needs might be or how they feel about the project. It's also important to reflect upon your design decisions (why did you use that board and not others, for instance). Finally, you didn't mention how to power the board, nor address potential health and safety issues (you're asking people to wear a circuit in front of their mouth) or what to do when things may go wrong (and how to fix them). It's important to imagine all the edge cases that may be encountered by a user.
You were a pleasure to work with and showed great independence and initiative. It was especially good to see you reach out for help in a constructive manner (clearly explaining your problem). If embedded devices and CircuitPython are something you're passionate about I suggest you:
- Go read the comprehensive tutorials found at the CircuitPython website
- Join the Adafruit Discord server for chat based support in a welcoming community.
- Investigate the wider MicroPython ecosystem, both in terms of what you can do with the software and the boards that are available.
Congratulations on your first grade.
You passed with flying colours, but still have plenty of room to improve when you take your next grade.
Best of luck with your future coding projects.