Understand the Australian Curriculum: Digital Technologies

Australian Digital Technologies Curriculum:

Implementation

The automation of an algorithm, typically by writing a computer program (coding) or using appropriate software.

Implementation
F-2 Unpack > 3-4 Unpack > 5-6 Unpack > 7-8 Unpack > 9-10 Unpack >
The content descriptions do not explicitly address Implementation in band F-2.

Implement simple digital solutions as visual programs with algorithms involving branching (decisions) and user input (ACTDIP011)

Implement digital solutions as simple visual programs involving branching, iteration (repetition), and user input (ACTDIP020)

Implement and modify programs with user interfaces involving branching, iteration and functions in a general-purpose programming language (ACTDIP030)

Implement modular programs, applying selected algorithms and data structures including using an object-oriented programming language (ACTDIP041)

Complexity

Complexity is an indication of the scope and difficulty of the solution being implemented as a digital solution.

The content descriptions do not explicitly address Complexity in band F-2.
Implement Digital Solutions

Create a digital solution that addresses a problem or need using a programming language.

Students can write the code to solve a simple problem.

Algorithms

Translate an algorithm (either predetermined or designed by the student) into code for execution in a computer program.

Students can write programs that solve clearly defined problems.

Implement Digital Solutions

Create a digital solution that addresses a problem or need using a programming language.

Students can write the code to solve a simple problem.

Implement Digital Solutions

Create a digital solution that addresses a problem or need using a programming language.

Students can write code in a general purpose programming language without any scaffold or starting code.

Modify Digital Solutions

When presented with the code of an existing computer program, changing that code to produce either a different result or an improved outcome.

Students can make modifications to non-trivial programs, reading and interpreting an existing code base.

Implement Digital Solutions

Create a digital solution that addresses a problem or need using a programming language.

Students can write original code that solves defined problems for the general case correctly.

Algorithms

Translate an algorithm (either predetermined or designed by the student) into code for execution in a computer program.

Students can correctly implement a variety of algorithms they are presented with.

Programming constructs

Programming constructs are the fundamental principles of program control flow we use in programming languages.

The content descriptions do not explicitly address Programming constructs in band F-2.
Branching

Implementing a decision in a programming language, usually using a construct such as an if or if-else statement, that leads to a different result/output

Students can create programs that include some form of decision, such as writing simple if-statements.

User Input

Receiving data from the user (via a sensor or direct input with a keyboard, mouse of other input device) and using that data inside a computer program to generate an outcome

Students can write programs that accept input from the user, which is entered after the program has been executed. For example this could be in the form of a button press on a device, or a key press triggering an event in Scratch.

Branching

Implementing a decision in a programming language, usually using a construct such as an if or if-else statement, that leads to a different result/output

Students can implement decisions in their programs that include multiple outcomes (else-if statements) and nested logic.

User Input

Receiving data from the user (via a sensor or direct input with a keyboard, mouse of other input device) and using that data inside a computer program to generate an outcome

Students can accept input from the user through the keyboard or other peripherals, and store that input in a variable that can be used to affect program execution.

Iteration

Implementing a block of instructions in a programming language that is repeated based on some kind of test condition. These include looping constructs such as while, for and repeat until.

Students can implement loops in their program that repeat a given number of times, continue until a certain condition is met, and may include variables and values that change inside the loop and trigger its exit condition.

User Interfaces

Defines what the user can do and how they interact with the computer program. Includes things like buttons, sliders and text prompts that allow the user to provide input.

Students can construct user interfaces that use intuitive design and clear directions to interface with users.

Branching

Implementing a decision in a programming language, usually using a construct such as an if or if-else statement, that leads to a different result/output

Students can implement complicated examples of branching that evaluate multiple conditions and use a variety of logical comparisons.

Iteration

Implementing a block of instructions in a programming language that is repeated based on some kind of test condition. These include looping constructs such as while, for and repeat until.

Students can write different types of loops in a general-purpose language to solve a range of problems.

Functions

A block of computer programming code with a defined purpose that can be accessed or called from another part of the computer program. Used to organise and structure code inside a more complicated computer program.

Students can define and use their own functions to make programs more modular. The functions they develop can produce different return values based on input paramaters.

Modularity

The construction of more complex computer programs is achieved most efficiently through the separation of related parts of the program into separate files. This makes it easier to manage, allows for simpler collaboration, and reduces the likelihood of errors. It also allows separate program modules to be reused in other projects.

Students can develop programs that are large and complex enough such that the code is split between multiple files. Each file, or module, can then be used in other projects as necessary.

Data Structures

The way data is organised for storage and processing inside a computer program. The choice of data structure is dependent on many factors e.g. related collections of data might be stored together in an array (list) or hash table (dictionary), and more complex modlels of data could be stored as user-defined classes.

Students can use more complicated data structures, such as arrays (lists) and dictionaries, to manage the information that a program requires.

Programming

Programming describes the process of constructing a digital solution using a form of computer-understandable instructions.

The content descriptions do not explicitly address Programming in band F-2.
Visual Programming

Implementing a digital solution using programming constructs presented in a visual form, usually some kind of block-based interface

Students can write code in a visual language such as Scratch or Blockly.

Visual Programming

Implementing a digital solution using programming constructs presented in a visual form, usually some kind of block-based interface

Students can create programs using visual programming languages that contain complex logic and behave correctly with greater variations in input and user interaction.

General-Purpose Programming

Using a text-based programming language that is capable of solving a variety of problems from many domains to create a digital solution. The language chosen must not be platform-, application- or domain-dependent.

Students can develop software in a general purpose programming language, and use these skills across multiple domains to solve a range of problems.

Object-Oriented Programming

The organisation and processing of the data inside a computer program using user-defined classes. Object-oriented programming languages support the concepts of class definition, inheritance and polymorphism.

Students can define their own objects (classes) to model and manage how data is stored and processed. They can use inheritance and polymorphism appropriately in their solutions to simplify their code.