Programming platforms can be categorised into two groups: visual programming environments and general-purpose programming languages.
In the Australian Curriculum, students from Years 3–6 are expected to use a visual programming language. Note: It is not a requirement for students in Year 2 or below to use a visual programming language. However, many schools introduce apps such as ScratchJr for those students who are ready.
A visual programming language enables students to sequence commands (displayed as blocks) to create a program. In the Years 5–6 band, for example, students create programs that allow user input, choices/decisions (branching), and use repetition (loops) until particular conditions are met.
In the Australian Curriculum students from Year 7 upwards are expected to use a general-purpose language.
General-purpose languages allow students to solve more complex problems, as they are not restricted by the functionality of visual programming languages. Often referred to as text-based programming languages, these types of programming environments have a particular syntax (the way the code is formatted and understood by the computer). Students need to become familiar with the particular programming language that they are using.
Note: Robots and microcontrollers typically incorporate a programming language that may be block-based or text-based; some may provide both options.