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:
coding, selection, iteration, sequence and functions
internal documentation, including comments, appropriate naming of variables and functions, and the use of white space and indents to identify blocks of related code
setting of variables or data field type to Boolean, whole number, number with a decimal place, date and text
creation and manipulation of variables with 2D data structures
Read and Write to data files.
Data
The programming environment must allow:
connection to data stores containing structured data
retrieval of data from the data store
manipulation of data in the data store by inserting data, updating data and deleting data
execution and reading of the result of a SQL SELECT query, including WHERE, GROUP BY, HAVING, ORDER BY, sub-selection and inner-joins clauses.
User interface
The user interface development environment must permit the:
receipt of input from a user
communication of output to a user
writing or transmission of data to a graphical user interface
use of event listeners to detect and respond to user input events.
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:
recognise and describe programming elements, digital system and user interface components, and useability principles
symbolise and explain programming information, ideas and interrelationships between data structures and user experiences
analyse problems and information related to the selected technology context
determine solution requirements, and prescribed and self-determined criteria of a digital problem
synthesise information and ideas to determine possible data elements, user interface and programmed components for digital solutions
generate user interfaces and programmed components of the prototype digital solution
evaluate impacts, components and a solution against criteria to make refinements and justified recommendations
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:
explore and analyse the meaning and importance of innovation and the personal, business and social opportunities presented by innovation
recognise and describe components of a digital solution appropriate to the technology context selected. Web applications
server-side components including web server, DBServer and pre-processing components such as PHP
client-side components including web browser and user device
data components such as database structure
internal data structures such as arrays, lists and dictionaries
analyse a problem to identify and explain the
elements of a system
observable interactions
inputs and outputs
control mechanism
processes and interactions using logical diagrams and consistent symbols
symbolise and explain
useability principles, including accessibility, effectiveness, safety, utility and learnability
a variety of interfaces
data flow through a system using data flow diagrams
symbolise, explain and use advanced data processes, including table joins, referential integrity, redundancy reduction and anomaly updating
explore
flexible development methods to support a variety of user profiles
methods of synthesising user interface, processing and data components to generate a prototype digital solution
explore and use the elements and principles of visual communication
elements are limited to space, line, colour, shape, texture, tone, form, proportion and scale
principles are limited to balance, contrast, proximity, harmony, alignment, repetition and hierarchy
determine possible personal, social and economic impacts
appraise user interfaces against useability principles
Topic 2: Real-world problems and solution requirements
In this topic, students will:
explore programming development tools to understand how to use them effectively
analyse problems and information to determine
manageable aspects of the problem
a specific aspect of the problem to develop
boundary or scope of the problem
constraints and limitations of the environment
requirements of the solution
prescribed and self-determined criteria
and describe interactions in terms of inputs, processes and outputs
and explore data sources to understand relational and flat file data structures
generate ideas using innovation and collaboration
recognise and compare different file formats and data structures appropriate to the context
determine file formats and data structures appropriate to the technology context
analyse modularity and readability of program modules
recognise and use
the basic constructs of an algorithm including assignment, sequence, selection, condition, iteration and modularisation
appropriate pseudocode conventions
understand that simple algorithms consist of input, process and output
symbolise well-ordered and unambiguous algorithms using pseudocode for
procedural code that processes data for insertion into a database or manipulates or displays retrieved data
user interaction, data validation and data presentation
explain code steps using comment syntax appropriate to the programming language
apply
computational thinking processes, e.g. creating, debugging, persevering and collaborating to identify possible algorithmic approaches
data algorithms for cleaning and merging data sources and iterating through data records
generate generic pseudocode suitable for a variety of programming languages to communicate requirements for programmed components
observe different styles of presenting a technical proposal for a digital solution
communicate a technical proposal for a digital solution through a presentation
communicate using
digital technologies–specific language
language conventions, textual features such as annotations, paragraphs and sentences, and referencing conventions to convey information to particular audiences about digital solutions
sketches or diagrams to present information and ideas about the problem and programmed digital solutions
the modes of visual, written and spoken communication to present data and information about digital solutions.
refine ideas for components of a prototype digital solution
demonstrate a prototype of a digital solution
generate a conceptual model of a possible solution by applying systems thinking that identifies
system boundaries
properties
inputs and outputs
user interface
system controls
generate
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
algorithms as simple programs by using programming development tools
pseudocode to solve defined problems
code that creates, reads, writes, opens and closes a file
generate data structures using
SQL statements to INSERT, UPDATE and DELETE rows in a database
SQL CREATE, DROP and ALTER statements
SQL SELECT query, including WHERE, GROUP BY, HAVING, ORDER BY, sub-selection and inner-joins clauses
generate program modules that
interact with users
interact with 2D data sources
validate data inputs
control the interactions in a digital solution
communicate and clarify knowledge and understanding about the purpose of code statements using code comments
synthesise user interface, processing and data components to generate a prototype digital solution
appraise
the suitability of prescribed and self-determined criteria
the reliability, maintainability, sustainability, efficiency, effectiveness and useability of algorithms to draw conclusions and make recommendations
appraise and refine user interfaces by
testing the useability principles, including accessibility, effectiveness, safety, utility and learnability
observing and recording user interactions from user experience critiques
justify selection of relevant data from existing data sources
evaluate
user interfaces from existing solutions using heuristic reviews for the useability principles
by testing program modules for reliability, maintainability and efficiency using computational thinking processes such as debugging to refine a prototype digital solution
evaluate against prescribed and self-determined criteria the