Select a topic across a two year cycle

Recommended any combination of three topics per year.
Choose a combination of units that suits your students and context.

Cycle one (Year 7)

Jan Jun Dec

Cycle two (Year 8)

Jan Jun Dec

General-purpose programming

Overview

This unit introduces skills and tools for designing and testing algorithms, building up to the use of nested control structures and functions. Students are also introduced to coding in a general-purpose programming language like Python or JavaScript.

By the end of Year 8 students design and trace algorithms and implement them in a general-purpose programming language.

  • use flowcharts and pseudocode to follow and design algorithms
  • code and test programs in a general-purpose programming language such as Python or JavaScript
  • transition from visual programming (e.g. Scratch) to general-purpose programming, if appropriate.

This unit focuses on building specific skills through concept introduction and exercises in pure code implementation without the use of robots or electronics (though these can also be valid contexts for introducing these skills). The unit ‘Creating a digital solution’ is designed to incorporate skills from this unit into a purposeful design project, with options to explicitly incorporate electronics such as the micro:bit.

 

 

General-purpose programmingImage

Achievement standards

Digital Technologies: Years 7-8

By the end of Year 8 students design and trace algorithms and implement them in a general-purpose programming language.

Assessment tasks

Options with a coding platform

Consider whether your chosen coding platform offers additional challenges that you can use for assessment of coding skills, or a ‘playground’ environment for students to complete custom coding challenges you set.

Module/task approach

An entire coding project may be difficult to assess for specific skills. Consider posing specific, smaller tasks of different complexity levels and types. For example, an algorithm (flowchart and/or pseudocode) is provided for some, while others require students to design and/or trace the algorithm first. Some are half-completed code, while others have errors to spot and correct.

A coding rubric

Consider a rubric that allows each skill to be assessed. Try this as a starting point: Word, PDF.

Test question banks

Selected questions from the Secondary question banks may help test student understanding of concepts in algorithms, flowcharts and code implementation.

The Gauntlet of Riddles

An example assessment task for algorithms and implementation, including its own rubrics.

Assessment advice

Use these suggested areas of focus to assess student skills, processes and knowledge.

Interpreting, designing and testing algorithms

Assess levels of complexity and proficiency in:

  • interpreting and designing flowcharts and pseudocode
  • understanding nested control structures
  • tracing algorithms.

Code implementation

Assess levels of complexity and proficiency in:

  • coding algorithms that include nested control structures (iteration, branching), variables and input
  • writing and calling functions in code
  • coding for readability and internal documentation (comments)
  • formally testing code.

 

Unit sequence

This topic offers 2 pathways

Core Unit

Flowcharts and pseudocode

Students design algorithms represented as flowcharts and as pseudocode.
Learn More

Flowcharts and pseudocode

What is this about?

Students build and consolidate their knowledge and skills in the design of algorithms represented as flowcharts and as pseudocode. They follow and create algorithms that include nested control structures, and practise tracing to test and predict their algorithms.

Content description

Design algorithms involving nested control structures and represent them using flowcharts and pseudocode AC9TDI8P05

Trace algorithms to predict output for a given input and to identify errors AC9TDI8P06

 

This sequence enables students to:

  • follow and trace algorithms in the form of flowcharts
  • follow and trace algorithms in the form of pseudocode
  • design algorithms that include nested control structures (loops and branching).

Resources to include

Resources to introduce

Resources to develop and consolidate learning

Resources to extend and integrate learning

Further reading and professional learning

Programming in Python

What is this about?

Python is a popular general-purpose programming language introduced to Years 7–8 students, which emphasises readability of code. Using Python, students can implement algorithms as programs that can be run. Additionally, students can be introduced to the use of functions for organising code.

Content description

Design algorithms involving nested control structures and represent them using flowcharts and pseudocode AC9TDI8P05

Trace algorithms to predict output for a given input and to identify errors AC9TDI8P06

Implement, modify and debug programs involving control structures and functions in a general-purpose programming language AC9TDI8P09

This sequence enables students to:

  • learn to write and test code in Python, optionally transitioning from visual code (e.g. Blockly, Scratch)
  • understand and practise writing and calling functions in their code.

Resources to include

Resources to introduce

Resources to develop and consolidate learning

Resources to extend and integrate learning

Further reading and professional learning

Programming in JavaScript

What is this about?

JavaScript is a general-purpose programming language that is also used to make webpages interactive. Using JavaScript, students can implement algorithms as programs that can be run. Additionally, students are introduced to the use of functions for organising code.

Content descriptions

Design algorithms involving nested control structures and represent them using flowcharts and pseudocode AC9TDI8P05

Trace algorithms to predict output for a given input and to identify errors AC9TDI8P06

Implement, modify and debug programs involving control structures and functions in a general-purpose programming language AC9TDI8P09

This sequence enables students to:

  • learn to write and test code in JavaScript, optionally transitioning from visual code (e.g. Blockly, Scratch)
  • understand and practise writing and calling functions in their code.

Resources to include

Resources to introduce

Resources to develop and consolidate learning

Resources to extend and integrate learning

Further reading and professional learning