SD: Language requirements

On 15 October 2015, VCAA published the requirements for a programming language used for SD. The announcement says, in part (the emphasis is mine):

“…schools use these requirements as the basis of choosing a programming language for study, rather than selecting a language from an approved list.

“For assessment purposes, students must be familiar with all of the listed programming requirements; however, not all requirements must be addressed in each task…”

During development, students will use “three conceptual layers: interface, logic and data source”


  • develop a graphical user interface (GUI), for use in digital systems such as laptops, gaming consoles, mobile phones, tablets, robots.

Note that databases are not to be used in the interface layer.


  • construct and use data structures
  • design and apply data validation techniques
  • use program control structures: selection, iteration and sequencing
  • use modularisation and code optimisation
  • use objects, methods and event-driven programming functions.

Data source

  • design, construct and use external storage and access technologies
  • retrieve data from external sources.

While modules and solutions can be created in one language, other languages may be used to embellish its features.

The list of programming requirements may change each year.