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
    """