Unpack the Curriculum

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.

3-4

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

5-6

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

7-8

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

9-10

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

Digital Solutions

Digital solutions are computer programs implemented with a programming language (code).

F-2

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

3-4

Implement Digital Solutions

Translate an algorithm into a program (code) for a computer to run. Coding is a synonym for computer programming.

Students can write the code to solve a simple problem.

Test Digital Solutions

Define the expected (correct) behaviour for given input and check a program against it.

Students run a program and check it against a provided list of expected behaviour (e.g. the character: 1. moves forward, 2. turns left, 3. moves forward).

5-6

Implement Digital Solutions

Translate an algorithm into a program (code) for a computer to run. Coding is a synonym for computer programming.

Students can write the code to solve a simple problem.

Test Digital Solutions

Define the expected (correct) behaviour for given input and check a program against it.

Students state the expected behaviour of a program (e.g. when I press the left arrow key, the cat should move left), run the program to check it is correct, and fix any errors (e.g. they change 10 to -10 to alter the direction).

7-8

Implement Digital Solutions

Translate an algorithm into a program (code) for a computer to run. Coding is a synonym for computer programming.

Students can write code without any scaffold or starting code.

Test Digital Solutions

Define the expected (correct) behaviour for given input and check a program against it.

Students specify the expected behaviour for common use cases, run the program to identify errors, modify the program, and confirm the modification fixes the error.

Modify Digital Solutions

Edit code in a program to either correct or improve its behaviour.

Students read and interpret an existing program, and modify the code to change functionality and fix errors.

9-10

Implement Digital Solutions

Translate an algorithm into a program (code) for a computer to run. Coding is a synonym for computer programming.

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

Test Digital Solutions

Define the expected (correct) behaviour for given input and check a program against it.

Students systematically debug a program by defining expected behaviour, running the program, locating errors, modifying the program and verifying that all test cases pass.

Modify Digital Solutions

Edit code in a program to either correct or improve its behaviour.

Students read and interpret substantial programs, and modify the code to change functionality and fix errors.

Programming constructs

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

F-2

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

3-4

User Input

Receiving data from the user or environment to change program behaviour.

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

Branching involves making a decision in a program to choose which block of code is run.

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

5-6

User Input

Receiving data from the user or environment to change program behaviour.

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.

Branching

Branching involves making a decision in a program to choose which block of code is run.

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

Iteration

Iteration involves repeatedly running a block of code until a condition is met.

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.

7-8

User Input

Receiving data from the user or environment to change program behaviour.

Students write a program that receives data from the user (e.g. ask for input at a text prompt) or the environment (e.g. moisture from a soil sensor) to change the program behaviour (e.g. switch on the watering system).

Branching

Branching involves making a decision in a program to choose which block of code is run.

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

Iteration

Iteration involves repeatedly running a block of code until a condition is met.

Students can write different types of loops to solve a range of problems.

Functions

A block of code that performs a specific task and can be run (called) when needed in the 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 parameters.

9-10

User Input

Receiving data from the user or environment to change program behaviour.

Students write programs that receives structured data from the user (e.g. from a form or text file) or the environment (e.g. temperature with a timestamp) to change the program behaviour.

Control structures

Control structures (e.g. branching and iteration) determine which code blocks run in a program.

Students write programs involving complex conditional expressions and nested control structures to create sophisticated behaviour.

Modularity

Separating a program into well-defined, independent modules of code that perform related tasks.

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.

Algorithms and data structures

Generic algorithms and data structures are used to manipulate and store data across a range of problems.

Students are introduced to some well known data structures (e.g. lists and dictionaries) and algorithms (e.g. binary search) and can apply them appropriately in their programs.

Programming paradigms

Programming paradigms are the underlying philosophies and approaches that are used in the structure of computer programs.

F-2

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

3-4

Visual programming

A computer program represented graphically in a block-based environment.

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

5-6

Visual programming

A computer program represented graphically in a block-based environment.

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

7-8

General-purpose programming

A text-based programming language capable of solving a variety of problems across many domains.

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

9-10

Object-oriented programming

In object-oriented programming (OOP), the data describing an entity (the object) is defined together with the functions that manipulate it. OOP languages must support 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.