Define and decompose real-world problems precisely, taking into account functional and non-functional requirements and including interviewing stakeholders to identify needs (VCDTCD050)
developing a preliminary specification for an opportunity or a need that typically contains a problem statement, a set of solution needs expressed as functional and non-functional requirements, any assumptions or constraints to be considered and the scope or boundaries of the solution
investigating different types of functional requirements for solutions, for example increasing the speed of processing, calculating new results, improving the quality of reports
investigating different types of non-functional requirements for solutions, for example considering how the requirements of reliability, user-friendliness, portability and robustness could affect the way people use solutions
Develop modular programs, applying selected algorithms and data structures including using an object-oriented programming language (VCDTCD053)
coding separate modules that perform discrete functions but collectively meet the needs of the solution
defining classes that represent the attributes and behaviour of objects in the real world or in a game
considering different algorithms and selecting the most appropriate based on the type of problem, for example branching algorithms suit optimisation problems and simple recursive algorithms solve the base cases directly
selecting different types of data structures such as an array, record and object to model structured data
Design the user experience of a digital system, evaluating alternative designs against criteria including functionality, accessibility, usability and aesthetics (VCDTCD051)
evaluating aspects of the total user experience, that is, all aspects of the system as perceived by the users, for example, a user’s initial experience of setting up and using a system, or a user’s emotional or cultural response to using a digital system
designing documentation, branding and marketing for a digital solution, for example a product demonstration screencast or ‘getting started’ user guide
applying the principles and elements of design to a client’s requirements and evaluating the success of a solution through an iterative feedback process, for example using customer feedback to refine a user interface to provide access to important features more effectively