In Unit 3, students are required to engage with and learn subject matter through the use of the various phases of the problem-solving process in Digital Solutions. Students analyse the requirements of particular groups of people, and use knowledge and skills of problem-solving, computational, design and systems thinking. They will determine data requirements and use available resources to create prototyped digital solutions by programming and developing user interfaces to improve user experiences. Students will do this through one of the technology contexts: web or mobile applications, interactive media, or intelligent systems (which use microcontrollers, sensing or control boards).

Unit requirements
In this unit, students are required to engage with and learn subject matter through the use of the various phases of the problem-solving process in Digital Solutions: explore, develop, generate and evaluate.

Teachers provide students with appropriately structured real-world problems that enable them to apply ideas, principles and processes of digital technologies. Students learn about and through the problem-solving process in Digital Solutions as they work individually or collaboratively to solve identified real-world digital problems that require new or re-imagined solutions.

Programming language

Schools may select more than one programming language to cover the required operations to be performed. The programming language/s selected must be a procedural text-based language.

For Unit 3, the programming language/s must allow the following operations to be performed:


The programming environment must allow:

User interface

The user interface development environment must permit the:

Unit Objectives

Unit objectives are drawn from the syllabus objectives and are contextualised for the subject matter and requirements of the unit. Each unit objective must be assessed at least once.
These objectives are able to be assessed in BOTH IA1 and IA2

Students will:

  1. recognise and describe programming elements, digital system and user interface components, and useability principles
  2. symbolise and explain programming information, ideas and interrelationships between data structures and user experiences
  3. analyse problems and information related to the selected technology context
  4. determine solution requirements, and prescribed and self-determined criteria of a digital problem
  5. synthesise information and ideas to determine possible data elements, user interface and programmed components for digital solutions
  6. generate user interfaces and programmed components of the prototype digital solution
  7. evaluate impacts, components and a solution against criteria to make refinements and justified recommendations
  8. make decisions about and use mode-appropriate features, language and conventions for particular purposes and contexts.


Subject Matter:

Note, subject matter has been identified (1.c.2, 2.b.1 etc for ease of reference)


Topic1: Interactions between users, data and digital systems

In this topic, students will:

  1. explore and analyse the meaning and importance of innovation and the personal, business and social opportunities presented by innovation
  2. recognise and describe components of a digital solution appropriate to the technology context selected.
    Web applications
    1. server-side components including web server, DBServer and pre-processing components such as PHP
    2. client-side components including web browser and user device
    3. data components such as database structure
    4. internal data structures such as arrays, lists and dictionaries
  3. analyse a problem to identify and explain the
    1. elements of a system
    2. observable interactions
    3. inputs and outputs
    4. control mechanism
    5. processes and interactions using logical diagrams and consistent symbols
  4. symbolise and explain
    1. useability principles, including accessibility, effectiveness, safety, utility and learnability
    2. a variety of interfaces
    3. data flow through a system using data flow diagrams
  5. symbolise, explain and use advanced data processes, including table joins, referential integrity, redundancy reduction and anomaly updating
  6. explore
    1. flexible development methods to support a variety of user profiles
    2. methods of synthesising user interface, processing and data components to generate a prototype digital solution
  7. explore and use the elements and principles of visual communication
    1. elements are limited to space, line, colour, shape, texture, tone, form, proportion and scale
    2. principles are limited to balance, contrast, proximity, harmony, alignment, repetition and hierarchy
  8. determine possible personal, social and economic impacts
  9. appraise user interfaces against useability principles



Topic 2: Real-world problems and solution requirements

In this topic, students will:

  1. explore programming development tools to understand how to use them effectively
  2. analyse problems and information to determine
    1. manageable aspects of the problem
    2. a specific aspect of the problem to develop
    3. boundary or scope of the problem
    4. constraints and limitations of the environment
    5. requirements of the solution
    6. prescribed and self-determined criteria
    7. and describe interactions in terms of inputs, processes and outputs
    8. and explore data sources to understand relational and flat file data structures
  3. generate ideas using innovation and collaboration
  4. recognise and compare different file formats and data structures appropriate to the context
  5. determine file formats and data structures appropriate to the technology context
  6. analyse modularity and readability of program modules
  7. recognise and use
    1. the basic constructs of an algorithm including assignment, sequence, selection, condition, iteration and modularisation
    2. appropriate pseudocode conventions
  8. understand that simple algorithms consist of input, process and output
  9. symbolise well-ordered and unambiguous algorithms using pseudocode for
    1. procedural code that processes data for insertion into a database or manipulates or displays retrieved data
    2. user interaction, data validation and data presentation
  10. explain code steps using comment syntax appropriate to the programming language
  11. apply
    1. computational thinking processes, e.g. creating, debugging, persevering and collaborating to identify possible algorithmic approaches
    2. data algorithms for cleaning and merging data sources and iterating through data records
  12. generate generic pseudocode suitable for a variety of programming languages to communicate requirements for programmed components
  13. observe different styles of presenting a technical proposal for a digital solution
  14. communicate a technical proposal for a digital solution through a presentation
  15. communicate using
    1. digital technologies–specific language
    2. language conventions, textual features such as annotations, paragraphs and sentences, and referencing conventions to convey information to particular audiences about digital solutions
    3. sketches or diagrams to present information and ideas about the problem and programmed digital solutions
    4. the modes of visual, written and spoken communication to present data and information about digital solutions.



Topic 3: Innovative digital solutions

In this topic, students will:

  1. refine ideas for components of a prototype digital solution
  2. demonstrate a prototype of a digital solution
  3. generate a conceptual model of a possible solution by applying systems thinking that identifies
    1. system boundaries
    2. properties
    3. inputs and outputs
    4. user interface
    5. system controls
  4. generate
    1. low-fidelity user-interface prototypes appropriate to the digital context by using the elements and principles of visual communication such as sketches, mood boards, storyboards, sitemaps, wireframes and mock-ups
    2. algorithms as simple programs by using programming development tools
    3. pseudocode to solve defined problems
    4. code that creates, reads, writes, opens and closes a file
  5. generate data structures using
    1. SQL statements to INSERT, UPDATE and DELETE rows in a database
    2. SQL CREATE, DROP and ALTER statements
    3. SQL SELECT query, including WHERE, GROUP BY, HAVING, ORDER BY, sub-selection and inner-joins clauses
  6. generate program modules that
    1. interact with users
    2. interact with 2D data sources
    3. validate data inputs
    4. control the interactions in a digital solution
  7. communicate and clarify knowledge and understanding about the purpose of code statements using code comments
  8. synthesise user interface, processing and data components to generate a prototype digital solution
  9. appraise
    1. the suitability of prescribed and self-determined criteria
    2. the reliability, maintainability, sustainability, efficiency, effectiveness and useability of algorithms to draw conclusions and make recommendations
  10. appraise and refine user interfaces by
    1. testing the useability principles, including accessibility, effectiveness, safety, utility and learnability
    2. observing and recording user interactions from user experience critiques
  11. justify selection of relevant data from existing data sources
  12. evaluate
    1. user interfaces from existing solutions using heuristic reviews for the useability principles
    2. by testing program modules for reliability, maintainability and efficiency using computational thinking processes such as debugging to refine a prototype digital solution
  13. evaluate against prescribed and self-determined criteria the
    1. user interface and programmed solutions
    2. prototype digital solution.