Navigation Menu
Show Breadcrumbs

A Guide to Coding and Computational Thinking Across the Curriculum

Introduction

Computational thinking is the thought processes involved in formulating a problem and expressing its solution(s) in such a way that a computer – human or machine – can effectively carry out.

Informally, computational thinking describes the mental activity in formulating a problem to admit a computational solution.  The solution can be carried out by a human or machine. This latter point is important.  First, humans compute.  Second, people can learn computational thinking without a machine.  Also, computational thinking is not just about problem solving, but also about problem formulation.1

The Digital Careers organisation says that students need experience and skills in computational thinking and computer programming (coding) to be successful in their future careers.2 The NSW syllabuses provide a range of opportunities to develop students’ understanding of computational thinking and coding.

This guide draws out the areas where computational thinking can be applied within the existing NSW K–8 syllabuses. Like the syllabuses, it is organised into stages of learning and subdivided into learning areas, with suggested activities and links to online resources.

Not all resources and activities listed in this guide refer to coding explicitly, but they do aim to develop algorithmic and computational thinking skills to better enable students and teachers to reach a coding goal.

Curriculum structure K–12

NESA mandatory curriculum requirements provide all NSW students with the same guarantee in terms of access to learning opportunities.

Early Stage 1 | Stage 1 | Stage 2 | Stage 3 | Stage 4

All primary students engage in the K–6 key learning areas (KLAs):

  • English
  • Mathematics
  • Science and Technology
  • Creative Arts
  • Physical Development, Health and Physical Education (PDHPE)
  • Human Society and Its Environment (HSIE), including History and Geography.

This continues as students engage in learning from Years 7 to 12. Study in each of the 7–10 KLAs is mandatory for the award of the Record of School Achievement:

  • English
  • Mathematics
  • Science
  • Human Society and Its Environment
  • Languages other than English
  • Technology
  • Creative Arts
  • Personal Development, Health and Physical Education.

Definitions

Coding

For the purposes of this guide, ‘coding’ refers to computer programming, where a ‘high level’ programming language is used to instruct a computer device to perform certain functions. High level languages are similar to spoken languages but have special commands that are understood by an interpreter (coder) to enable a computer’s central processor to understand them.

Computational thinking

The term ‘computational thinking’ comes predominantly from the work of Jeannette Wing in recent years but stems from the early work of Seymour Papert, who himself was a student of Jean Piaget. Jeannette Wing defines computational thinking as ‘the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by an information-processing agent’. She uses the term ‘computational thinking’ to describe ‘the mental activity in formulating a problem to admit a computational solution. The solution can be carried out by a human or machine, or more generally, by combinations of humans and machines’.3

The Centre for Computational Thinking at Carnegie Mellon University in Pittsburgh in the United States uses the following definitions:

  • Computational thinking is a way of solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science …
  • Computational thinking means creating and making use of different levels of abstraction, to understand and solve problems more effectively.
  • Computational thinking means thinking algorithmically and with the ability to apply mathematical concepts such as induction to develop more efficient, fair, and secure solutions.
  • Computational thinking means understanding the consequences of scale, not only for reasons of efficiency but also for economic and social reasons.4

Algorithmic thinking

An algorithm is a set of rules that tells you what to do in a given set of circumstances, for instance ‘If the traffic light is red, I stop’. Creating an algorithm simplifies decision-making and increases the efficiency of a procedure. ‘Algorithmic thinking’ is the ability to think in terms of algorithms as a way of creating solutions.

Developing coding and computational thinking skills

Computing is ubiquitous, with application areas in virtually any field imaginable – from developing gene-sequencing algorithms, to designing methods for high frequency trading, creating computer-generated graphics and special effects, analyzing social data from internet communications, and creating embedded real-time systems for medical devices. In fact, according to the [US] National Science Foundation, ‘[K]nowledge of computer science and computer programming is becoming a necessary skill … in marketing, advertising, journalism, and the creative arts.’ 5

Current approaches to the use of information and communication technology (ICT) and computing applications revolve around the concepts of CS + X: computing science plus whatever it is that you are passionate about or engaged with. IT systems are becoming more commonplace and all-pervasive, and the development of the Internet of Things and machine-to-machine communication standards will further our reliance on them.

In response to the need for a higher level of literacy around computer programming (coding) that this will create, the Federal Government has initiated an increased focus on science, technology, engineering and mathematics (STEM) and on innovation in Australian schools. This will aim to provide students with the coding and computational thinking skills that will be essential for their future careers.

The 2015 report by Deloitte Access Economics for the Australian Computer Society makes clear the future need for STEM-capable workers: ‘Demand for ICT workers in Australia is forecast to increase by 100,000 workers over six years, from around 600,000 workers in 2014 to more than 700,000 workers in 2020.’ 6

Academic work supports the inclusion of algorithmic and computational thinking in schooling. It is becoming more common in world curricula to teach coding, with examples in the United States, the United Kingdom and Finland. The recently developed National Curriculum in England includes Computing, which includes coding. This supports STEM initiatives currently emerging in developed nations where the manufacturing economy is being elevated to that of the service economy and ICT is being used and embedded in all careers and in all aspects of life.

Where reference is made to ‘visual programming’ this is to mean that the programming interface used by students is of a visual or graphical rather than textual nature. Updated lists can be found at Wikipedia and a summary is provided here:

Where reference is made to a ‘non-visual programming language’ this refers to the interface being text based.  This is generally considered more difficult, as the level of abstraction is higher than for visual languages.  There are many languages that are used in education. A list is available at Wikipedia and a summary is provided here:

Software that enables students to interface with the outside world via the Internet of Things includes:

Additionally, hardware devices include; Intel Edison, Intel Galileo, Raspberry Pi, Orange Pi, BeagleBone, Makey Makey, littleBits, Arduino, Micromite, Intellecta and a growing list of other providers.

Online professional development opportunities for teachers can be found at the following:

App stores of Google Play and iTunes U have ‘learn to code’ apps for minimal cost.

This coding across the curriculum document is provided to assist teachers to engage with computational thinking at a level comfortable for them and in their own context.

All links were active in October 2015.

The NSW Technology curriculum has a long history of embedding design thinking into syllabuses, giving students opportunities to ‘think outside the box’, be innovative, learn to fail in a process leading to success, and develop the skill to forestall final answers and solutions so that better solutions may be found. These are fundamental concepts in technology and engineering education, design and technology education, and STEM education, and they underpin the skills necessary for computational thinking.

This guide shows how the existing NSW syllabuses can be used to develop computational thinking across the curriculum.

Computational thinking in the K–10 curriculum

The K–10 curriculum documents refer to Working Mathematically, Working Scientifically, Working Technologically, historical inquiry, geographical inquiry skills, problem-solving, critical thinking and design processes. These thinking processes are analogous to computational thinking and develop students’ abilities to think abstractly – a key aspect of computational thinking.

English

The English syllabus allows teachers to develop integrated units of work that may emphasise areas of focus, such as computational thinking, and its application in the real world. The support document Suggested texts for the English K–10 Syllabus provides examples of texts that require computational thinking, for example encouraging analysis of the content and layout of a text, and providing opportunities for problem-solving and abstraction from a given situation.

Mathematics

The Mathematics K–10 Syllabus includes many opportunities for applying mathematical concepts in computational thinking. Applied mathematics problems are the best way to integrate computational thinking as they enable students to experience and visualise mathematical concepts and see a practical application. Examples include:

  • Stage 2: Two-Dimensional Space 1 and Position 1

Using coding software, manipulate and draw 2D shapes including special quadrilaterals. When programming the movement of the cursor using programs such as Pencil Code, this exercise includes elements of Position 1 for directions and distance between points.

  • Stage 1: Multiplication and Division 2

Explore the use of repeated addition to count in practical situations, eg create an algorithm (procedure) to count the number of people in a room using simple algebra. See the YouTube clip What's an algorithm? by David J Malan, which uses this example to demonstrate the nature of algorithms, explaining that ‘Algorithms are a set of instructions to solve a problem’.

Science and Technology

Computational thinking is a major part of the Science K–10 (incorporating Science and Technology K–6) Syllabus and is seen in the use of applied problem-solving and construction. Designing, making, data collection and analysis are incorporated into the skills categories Working Scientifically and Working Technologically. After researching a problem, students should be given an opportunity to explore concepts by applying knowledge in experiments and designing models through personal and collaborative inquiry.

Creative Arts

Computer coding can be used in the creative arts to design and develop artworks and program devices to create artistic works.

Physical Development, Health and Physical Education (PDHPE)

Computer applications are now commonplace in health, sport and physical development. Tracking physical activity and health status is a growing field.

Human Society and Its Environment (HSIE), including History and Geography

The ability to ‘step back in time’ with virtual or augmented reality combined with GPS tracking is available to those with a smart device.

GPS, mapping technologies and the interconnectedness of devices make geographical study more engaging for students.

The collection and analysis of data in historical and geographical contexts provides opportunities for students to engage in digital technologies.

Languages (mandatory)

Solving problems, understanding and reproducing language systems, and understanding human behaviour in a global context are essential elements of language programs. In Language classrooms students learn to decode and code language systems. Research suggests that even a brief exposure to a languages program fosters flexible cognitive processing, divergent thinking and intercultural awareness. The use of translation software can illustrate algorithmic thinking, as can the development of speech to speech translation systems.

Resources

Activities, projects, lesson plans, tutorials

Computer components

Construction games

Create games, stories, illustrations, music

Programming

Programming without a computer

Robotics

Tools



[1] JM Wing, ‘Computational thinking benefits society’, Social issues in computing, blog entry, http://socialissues.cs.toronto.edu/2014/01/computational-thinking/,10 January 2014.

[2] See the Digital Careers website at http://digitalcareers.edu.au/parents/.

[3] JM Wing, ‘Computational Thinking: What and Why?’, Carnegie Mellon University, School of Computer Science, https://www.cs.cmu.edu/~CompThink/resources/TheLinkWing.pdf, 17 November 2010.

[4] Center for Computational Thinking, Carnegie Mellon University, ‘What is computational thinking?’, www.cs.cmu.edu/~CompThink/.

[5] Department of Computer Science, University of Illinois, ‘CS + X’ http://cs.illinois.edu/prospective-students

[6] Australian Computer Society, Australia’s Digital Pulse, prepared by Deloitte Access Economics, https://www.acs.org.au/content/dam/acs/acs-documents/PJ52569-Australias-Digital-Pulse-2016_LAYOUT_Final_Web.pdf , 2016.


Complementary Content
${loading}