Project Checklist - tstorrnetnz/teaching2025 GitHub Wiki
This checklist is useful for seeing if your project has "missing' parts. It is not part of the assessment and should not be used for grading.
Programming:
Your program:
- uses variables storing at least two types of data (e.g. numeric, text, Boolean, object)
- uses sequence, selection and iteration control structures if/for/while
- takes input from a user, file, sensors, or other external source
- produces output
At least TWO of:
- creates a graphical user interface (GUI)
- reads from, or writes to, files or other persistent storage
- defines class(es) and creates objects
- defines and uses custom type(s)
- uses third party or non-core API, library or framework
- uses complex data structures (e.g. stacks, queues, trees).
All of:
- Code is set out clearly
- Code methods are well named
- Code has comments at a class level (for function/behaviour)
- Program is tested and debugged including expected and boundary data (screencast) ideally no more than 3 minutes
- Note - boundary cases need to be there for M or above free text input is a good example).
Project:
Log includes:
- Updates
- Improvements
- Screenshots of work including github and/or Treoo
- Testing and trialling to improve your outcome
- Final test (screencast)
- Use github projects /trello - screenshots
- Use code versioning (github) - screenshots
- Incorporated user feedback (show where this happened( - write 1 para)
Relevant implications at least 3, better if 4(x3 or 4 1 paragraph each) (more details here).
- legal issues
- ethical issues
- issues relating to intellectual property
- issues relating to sustainability
- issues relating to privacy
- issues relating to accessibility
- issues relating to usability
- issues relating to functionality
- issues relating to aesthetics
- end-user requirements
- health and safety issues
- Summary discussion (1 paragraph) how did using all the tools together make a good outcome
1 paragraph is about at least 7-8 sentences about minimum 8 lines.
Comments
You are required to comment your code! Commenting contributes greatly to sustainability - one of the relevant implications - as it makes it easier to maintain your code. Imagine looking at your code a year from now. How would you begin to understand it? I have found the most useful comments to be class level comments as they describe what each class does. Any programmer should be able to decode if/while for etc, but working out the overall purpose of a class is helped greatly by good commenting. A few examples are given below.
"""
Games' Match renderer written by NAME HERE.
This program takes a Game ID and Round ID as an input it then pulls the specified .gamelog file from a S3 bucket
and extracts a list representation of each Turn from said file. After this is complete it then loops through each turn
converting it into a PNG image and saving to disk. After all turns have been rendered it then combines all of these
images into a video and uploads that to a different S3 bucket.
"""
def check_gid_input(value):
"""
This Function checks the game ID against the Games Server to ensure that the supplied game actually exists.
If the ID does NOT exist it raises an argparse error
:param value: Input Game ID
:type value: str
:return: Input Game ID
:rtype: int
"""