General-purpose programming

Decorative image

What is it?

Programming is the process that makes it possible to create computer software, applications and websites. Currently, computers are unable to think for themselves, therefore they require users to give them sets of ordered instructions to know what to do. This is referred to as 'code'. Most of the resources you use on the computer and internet are made with code. Programming is a core element of the Digital Technologies curriculum because it helps students develop essential skills such as problem-solving, logic and critical thinking.

General-purpose programming, also known as text-based programming, is one of the coding languages prescribed in the Australian Curriculum: Digital Technologies for secondary schools. This type of language is used to create programs by typing letters, numbers and symbols and requires programmers to use formal syntax.

Object-oriented programming is the second coding language prescribed in the Australian Curriculum: Digital Technologies. In this type of language, users define not only the data type within a data structure, but also the types of operations that can be applied to the data structure.

Australian Curriculum definition

General-purpose programming languages

Programming languages in common use designed to solve a wide range of problems. They include procedural, functional and object-oriented programming languages, including scripting and/or dynamically typed languages. Examples of general-purpose programming languages include C#, C++, Java, JavaScript, Python, Ruby and Visual Basic. They do not include declarative programming languages such as Prolog or structured query language (SQL), or languages designed for solving domain-specific problems or for pedagogical reasons.

Object-oriented programming language (OOP)

A programming language that supports the object-oriented programming paradigm. In object-oriented programming, objects represent a combination of data (the attributes of an object) and actions that can be performed on or with those data (the methods of the object). An example might be a declaration of a 'car', which has attributes that describe its physical nature (such as the number of doors, its colour, the size of the engine) and the actions it can perform (such as accelerating, braking and turning).

The valid attributes and methods of an object are defined by its class, and these attributes and methods can be inherited from the definition of another class. Examples of OOP languages include C++, Eiffel, Java, Python and Scala.

Source: Australian Curriculum: Technologies glossary

Decorative image

CS in Schools – Courses – From the team at CS in Schools

Support for schools to learn to code with free resources including professional learning for teachers and online courses for students.

Decorative image

CS Unplugged: Field guide: Coding - Compression 

This section focuses on compression in coding.

Decorative image

CS Unplugged: Field guide: Programming languages

This is an online resource for teaching computer science to students. This section focuses on programming languages.

Decorative image

CS Unplugged: Field guide: Complexity and tractability

This section focuses on complexity and tractability.

Decorative image

CS Unplugged: Field guide: Coding – Introduction

This section is an introduction to coding.

Decorative image

CS Unplugged: Field guide: Coding - Error control

This section focuses on error control in coding.

Decorative image

CS Unplugged: Field guide: Coding - Encryption 

This section focuses on encryption in coding.

Decorative image

coding@home TV

The Queensland Department of Education partnered with Channel 10 to deliver coding@home TV for primary and secondary students. Episodes enable students to engage in real-world coding problems and solutions, and connect with industry partners.

Decorative image

What is code?

This article is devoted to demystifying code. It explains what coding is, including programming and programming languages. It provides relevant examples.

Decorative image

Code Stars: Short film

This video helps learners and educators to understand the significance of computer programming literacy in a technological world.

Decorative image

A-Z Handbook on Teaching Introductory Programming

This book viewable online using the 'look inside' feature or purchased in hard copy provides a comprehensive guide to programming for all levels. 

Decorative image

Computer Science For Fun (CS4FN)

Read articles about computational thinking and computing science.

Decorative image

Behaving with real class

This lesson sequence offers approaches to teaching object-oriented principles using text-based programming. It attempts to address the problem that many programming languages are too complex and their environments too confusing for many students.

Decorative image

Getting warmer

This lesson sequence intentionally uses a visual-based programming tool to introduce designing and validating algorithms. Those students who complete this task can move to code the result in any text-based language with which they are familiar.

Decorative image

Breaking up can be good

This sequence provides a gentle introduction to the skill of decomposition by having students develop discrete modules that together serve a single need: a maths teacher asks for a program that can be used to demonstrate aspects of maths. This sequence can be used in conjunction with 'Comparing and selecting appropriate algorithms'.

Decorative image

There can only be one

In this lesson sequence students write a simple suite of programs that can be used to facilitate an SRC election though the collection and processing of data. It assumes that students have been introduced to Python programming language.

Decorative image

Visual to text coding

This course provides a bridge between visual coding (e.g Scratch) and General Purpose Programming languages (e.g Python or JavaScript).

Decorative image

Coding for GUIs (Javascript edition) course

This course provides step-by-step video tutorials and challenges to incorporate Graphical User Interfaces (GUIs) into your General Purpose Programming. It follows on from the Visual To Text Coding lesson series.

Decorative image

Rock, Paper, Scissors AI!

In this lesson students use the game rock, paper scissors to investigate how an AI can recognise your hand gestures.

Decorative image

Battleship!

In this project, students build a battleship-playing program using Python.

Decorative image

Sudoku!

In this project, students program the fun and challenging game of Sudoku using Python programming language.

Decorative image

Project Euler

This is a collection of mathematical problems to solve using programmatic techniques.

Decorative image

Python

Python is a free programming language. This webpage includes resources for learning to program with Python.

Decorative image

Tynker

Tynker is an online platform designed to teach students how to code using JavaScript or Python by creating games and stories.

Decorative image

Alice

This website provides tools and materials for teaching and learning computational thinking, problem-solving, and computer programming across secondary year levels.

Decorative image

Khan Academy: Computer programming

Learn how to program using JavaScript and Processing JS, SQL, or how to create webpages with HTML and CSS.

Decorative image

Code Monkey

Code Monkey is a fun and educational game environment where students learn to code in a real programming language, no previous experience needed.

Decorative image

Python to support the Digital Technologies curriculum

This resource includes a link to download the Python programming software and another link to a free online course by Codecademy to learn how to program in Python.

Decorative image

Microsoft MakeCode Arcade

Students develop their programming skills by creating and remixing retro arcade games with Blocks and JavaScript in the MakeCode editor.

Decorative image

Coding Bat

This site provides a range of exercises to practise coding and to build coding confidence in Java and Python.

Decorative image

iD Tech

Improve or advance skills with year-round Online Private Lessons, spring and summer Virtual Tech Camps and Academies, and autumn and winter semesters.

Decorative image

Swift Playgrounds

Swift Playgrounds is an app for iPad that helps students learn and explore coding in Swift, the same powerful language used to create professional apps.

Decorative image

Microsoft MakeCode for micro:bit

Use the micro:bit editor to program using python.

Decorative image

Naracoorte High School: Programming interactive music

Teacher Tony Hill explains how he implemented programming interactive music in his Year 8 class.

Decorative image

SPRK Education Program

Using a SPRK Sphero for programming, robotics, and maths for students.

Decorative image

Khan Academy: Khan Academy: Meet the professionals

Short case studies of professionals in computing science who explain how they use their computer science and programming skills in their work.

Decorative image

AISSA Humanoid Robot Research Project

Thomas and Pink are two humanoid robots that are making programming and robotics exciting and intellectually stimulating learning frontiers for students in Independent schools in South Australia.