Candidate: Sam Esteves Assessed by: Mary Mentor
Python (2023) ~ Grade 1 (Initial)
Splat a Cat
A silly whack-a-mole style PyGameZero game written for my young cousins to play.
|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?
Well done. You have clearly explored and explained in detail your aims and objectives with Splat-a-cat. I especially appreciate your blend of two different objectives: a goofy game for your young cousins, and a project through which others could learn to code.
How well did the candidate engage and empathise with their project's expected users, their needs and potential stumbling blocks?
It is wonderful to see that you understand and engage with your audience of young people AND learner-peers. I especially enjoyed how you undertook play testing, to work out what folks enjoyed about playing your game and, overall, the project engaged users with flair and empathy. Keep this up!
Running the project:
How clear and accurate were the instructions for executing the project, and how robust was the project when run?
The instructions you've provided for running your project are clear and engaging. Well done! Your code is easy to run and works as expected without any obvious bugs.
Architecture and design:
How well was the project designed, architected and put together?
The architecture, design and organisation of your project reflects significant thought and refinement. Your excellent attitude and highly effective working practices have been an important part of achieving the aims of such a high quality project. Well done!
In terms of the presentation and interface of the project, what is the user's experience of interacting with the project?
The experience of interacting with your game is an absolute joy. You have clearly thought hard about this aspect of the project. Despite the limitations of PygameZero you have made the game fun and easy to play. Really well done.
Does the candidate understand and display knowledge of the core concepts for this, and all previous, grades?
You have clearly mastered the core concepts for this grade and show understanding, fluency and idiomatic use of such concepts in your project. Well done! You also explained and illustrated such concepts in considerable depth while also demonstrating an appreciation of how such concepts interact with each other. Great work.
Is the code idiomatic, efficient, simply written and well organised?
You clearly understand how to write idiomatic code that is easy to read and understand. Your comments are well written and add valuable context. Great work!
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?
This is a first class effort in writing code that is elegant, idiomatic, efficient and expressive. I appreciate the care and attention that has gone into refactoring the code so it is easy to read, understand and follow. Well done and keep it up.
Creativity and imagination:
How unique, surprising, delightful and/or authentic is the approach of this project?
Your imaginative approach really enhances your project. Well done! You've made something that is unique and creative while also being lots of fun. Keep this up.
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?
Your documentation is clear and well written. Comments in the code are equally clear and enhance the readability of your code. Your writing is comprehensive, well written and takes into account the needs of different types of readers. 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...)
Well done. Not only do you refine and improve your project through coherent development practices, but you show you are adaptable and have the foresight to code for change. This ensures your coding process is of a high quality resulting in a high quality outcome.
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.
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?
Congratulations. You are a confident, careful and curious consumer of the documentation and educational resources needed to understand the technology used in your project. I'm especially pleased to see you are broad, inquisitive and autonomous in your research -- allowing yourself to encounter a wide range of resources relating to technical, social and cultural aspects of your project. Nothing but good can come from such open mindedness. Very well done!
Did the candidate achieve their aims and objectives for the project?
Congratulations. Your project appears to have exceeded its aims, objectives and the needs of the people interacting with it. What started as a goofy game for beginners has the added dimension of a project through which folks can learn about coding.
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).
Very high quality.
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?
I'm delighted to report that you have FAR EXCEEDED the required level of attainment expected for this grade.
Total marks: 93/100
(Pass: 60, Merit: 75, Distinction: 90)
Where do I start?
It was an absolute pleasure to mentor with you on this project. You've created a simple yet effective game that both entertains your target players (I hope your cousins continue to enjoy playing your game) and embodies a project through which others in your study group can learn coding. I particularly enjoyed the Schrödinger's Splat response from your physics-student friend. Your engagement with pair programming, online research of your tools (PygameZero and Mu) and careful approach to coding reflects an excellent attitude to cultivate and refine in future grades.
I feel this game isn't finished. Perhaps you could include:
- An opening screen with instructions.
- A high score table.
- Further game mechanic enhancements as certain levels are achieved.
While your documentation is in the form of comments in code, you may want to create a README file for maintainers of the code and/or future learners who use the project as a vehicle for learning.
If gaming is your thing I suggest you take a look at Wasabi2d (by Dan Pope, the same author as PygameZero), and PyGame - the more sophisticated and powerful platform upon which PygameZero is built.
Once again, well done. You absolutely deserve this distinction level grade.
I look forward to seeing how you continue in you coding journey in future grades.
Best of luck!