Computational thinking for an AI world


How can teachers from a variety of disciplines develop students’ computational thinking skills?

In this episode, Matt Bower spoke to us about a variety of ways to develop students' computational thinking skills, beyond teaching students to code. Matt is an Associate Professor from the Department of Educational Studies at Macquarie University, and he is currently focused on effectively developing the computational thinking capabilities of children and teachers.

This episode was recorded in 2019. The views expressed in Edspressos are those of the interviewees and do not necessarily represent the views of the NSW Department of Education.


Image: Matt Bower
Edspresso Episode 11: Computational thinking for an AI world with Matt Bower

Welcome to the New South Wales Department of Education's Edspresso Series. These short podcasts are part of the work of the Education for a Changing World Initiative and explore the thinking and ethical literacy skills students need in an AI future. Join us as we speak to a range of experts about how emerging technologies such as artificial intelligence are likely to change the world around us. And what this might mean for education.

What is computational thinking and how can you teach computational thinking skills? In this series, we interviewed Associate Professor Matt Bower about his research, which focuses on understanding how students develop computational thinking skills. Matt is a learning technology researcher and teacher educator in the Department of Educational Studies at Macquarie University. His teachings strongly emphasises the importance of adopting a research driven approach in education. He is the lead author of books, ‘Blended Synchronous Learning: A Handbook for Educators,' and ' Design of Technology-Enhanced Learning: Integrating Research and Practice', which aim to directly support educators world-wide to infuse research into their teaching. Matt, how would you define computational thinking? And why might it be more important to develop for an AI future?

So, there are lots of different definitions of computational thinking. And like a lot of concepts in education, its boundaries are in a continual state of flux. So, probably the best definition to go to is that by Jeannette Wing, who was the previous President's Professor in Computer Science. And she famously defined computational thinking as, "Taking an approach to solving problems, designing systems and understanding human behaviour that draws on concepts that are fundamental to computing."

So, essentially it's breaking down problems, recognising patterns, abstracting, defining algorithms that can be executed to solve a problem. So, in terms of like, what would probably be critical for children of the future to have these computational thinking skills in a world that is surrounded with artificial intelligence is, first of all, it's going to help them to understand how that artificial intelligence has been programmed, its weaknesses, its strengths, when they should use it, how they should use it. It also can empower them to potentially be creators of artificial intelligence. And to work in quite sophisticated ways with artificial intelligence. So, ideally computational thinking capabilities help people and children move beyond just being passive recipients of technology to being empowered and creative users of technology.

Thanks for that, Matt. How does computational thinking link with other thinking skills in your view, such as critical thinking and problem solving? Is it a distinct skill?

So, this undoubtedly overlaps between computational thinking and other sorts of thinking. Computational thinking involves problem solving. Though not all problem solving is computational thinking. To solve problems in the most effective way, that involves analytical and logical thinking, so there are definitely overlaps with mathematical thinking as well. The thing that distinguishes computational thinking is the problem being solved. And the nature of it. And hence the thinking that's required to solve it relates to creating algorithms. So, a set of instructions that can be executed to solve that problem. So, when you're engaging in that pursuit, that's really something that's quite special and unique to computational thinking.

That’s really interesting, thank you. How do students develop computational thinking skills? Do we know what excellence in computational thinking looks like?

We're really just at the beginning of understanding how students develop computational thinking skills. And that's part of my current research agenda and that of many of my colleagues. So, much of what we know about how computational thinking skills are most effectively developed comes from this computer science education field.

However, this is often bound up with understanding language elements associated with computer programming, so how the students learn to use specific programming languages and machines. That means the relationship between applying computational thinking when writing computer programs, it needs to sort of be untangled so that the computational thinking principles are separated from learning the actual language like Python or Java. So there really is an opportunity to understand the science of how students, and particularly children, learn specific computational thinking constructs.

Does computational thinking have a particular relationship with maths?

I think there are obviously very strong links between computational thinking and mathematics. Algorithms provide us with ways to solve mathematical problems that would otherwise be unsolvable. And computers give us the power to execute those solutions quickly. So, calculating huge numbers or finding incredibly accurate numeric solutions to equations. Computational thinking, mathematical thinking, they're just perfect bedfellows. When we're solving problems using computational thinking, we often require and develop our mathematical thinking. So, for instance, when we try to determine the efficiency on the number of computational steps in an algorithm, then we're often using our mathematical thinking within computational thinking in order to solve that.

Thanks for that, Matt. Can computational thinking only be taught with STEM subject matter? Or can it also be taught through and applied to HASS disciplines? If so, how might teachers do so?

There are lots of opportunities to apply computational thinking to the humanities and social sciences disciplines. As Jeannette Wing mentioned, computational thinking is for everyone, everywhere. And, in fact, a lot of the greatest opportunities reside in the HASS areas, in part because they're not being explored as fully as for STEM disciplines. So for instance, my young son, he's learning how to read and often we come across a word and we want to know similar words that might have the same properties.

So, if we're reading the word 'taught', and trying to think of other words that end in '-aught', well, that's a perfect opportunity to write a little program that searches a dictionary file and finds all the words that end in the same string. So, students can learn about the logic underpinning and value of different grammatical forms. So, those are just examples from English. But then, there's almost infinite examples from other areas as well and within English. So, the applications of computational thinking in HASS are almost endless.

Oh that’s really interesting, thank you. What professional and pedagogical knowledge do teachers need to develop to be able to teach computational thinking? And how can education systems and universities support the development of pedagogical capabilities in computational thinking?

First, teachers obviously need to have a firm understanding of what computational thinking is. They also need to have experience with solving problems using computational thinking. Otherwise they just don't have the concrete examples and confidence to help their students learn computational thinking and its value. Importantly, they also need to have the pedagogical understanding of how to most effectively develop their computational thinking capabilities with their students. We really need to have high quality, professional learning programs that help to upskill teachers.

As well, Sylvia Martinez, who's a wonderful practitioner in this area points out, "While it's great to learn computational thinking using so-called unplugged activities that don't require any digital device, the majority of great computational thinking learning takes place when we're using technology."

So, to that extent, we need to make sure that schools have the right technological infrastructure to enable students to solve problems using computers and computational thinking. Now as for universities, they of course need to effectively help pre-service teachers to develop their computational thinking, pedagogical capabilities, and provide evidence based, professional learning for practicing teachers.

So, this requires an extra level of expertise, sort of three levels going on here. At the first level, students need to develop their computational thinking capabilities. And then at the next level, teachers need to develop their computational thinking, pedagogical capabilities. And then at this third level, university educators need to develop effective strategies to help develop the computational thinking pedagogical capabilities of teachers. So, this is really a large challenge, and ideally it's one that universities will be working on together, to conduct the research and develop the resources to support all three of those levels.

It sounds like an interesting way forward. What are some approaches to teaching computational thinking that you could talk with us about? Do these approaches differ between subjects?

So, generally speaking, teaching computational thinking is initiated through posing really good problems, or even having students propose problems. So, appropriate problems are those that can be solved using algorithms. So, for instance, you might set children a task to design an animation in Scratch that showcases ways in which people can be more environmentally friendly. Once students are sufficiently motivated and familiar with the task, the teacher's role becomes one of helping them to design their solutions through scaffolding feedback, creating a positive learning environment, and so on. So, along the way, there may be specific computational thinking pedagogical strategies that they might employ.

For instance, they might provide models. They might perform walkthroughs of how a program executes. One important pedagogical responsibility of the teacher is to monitor children's underlying models of how algorithms will be executed in the particular environment being used. In the computing education field, that mental model of how a programming environment works is called the notional machine. And if students have inaccurate mental models or notional machines for how their programming environment works, then they'll inevitably become stuck when they try to use it. And if a teacher can prioritise monitoring the notional machines of students, then they can rapidly identify misconceptions and take steps to help children remedy their misconceptions.

So, sometimes it seems like the computational thinking is discipline specific. So, with Maths, we might be calculating really large numbers, in English we might be searching for words in a dictionary file. But the intriguing thing about computational thinking is that ultimately, when you abstract your understanding, the same computational thinking skills can be applied to any discipline. So, the wonderful thing about computational thinking is it can be abstracted and then transferred to any discipline.

Thanks so much, Matt. And our last question for you is, if you could go back in time and give advice to yourself as a school student, what would you tell yourself to focus on, to help you prepare for what was to come? And would you give different advice to students today?

I think when I was at school, I was particularly hung up about learning very specific knowledge. Often large collections of facts so that I could perform well in my exams. Now, I see that the specific facts being learnt are less important than the underlying learning and thinking skills that I was developing and the ability to transfer them to a range of different areas. So, computational thinking, problem solving, critical thinking, creativity, they're all prime examples of the sorts of thinking skills that are really important to develop.

Also, I don't think I was aware of how important soft-skills are. Our greatest and most influential leaders aren't those people who know the most facts, but rather the people who have the great understanding of human nature, they're excellent communicators and they have a strong moral compass. So, I'd advise myself to use school as an opportunity to develop these general characteristics and capabilities.

And in terms of giving any different advice to students today, I think all of that advice applies, but I'd add a few extra points because technology, media, globalisation, economic development, population growth, they're all having a really major impact on our world. Children and young adults have more opportunity to change the future than anyone else. So, it's really important that they centre themselves in their journey, they're not lazy or swayed by popular thinking. Think about how you're going to make a difference, and therefore, what capabilities do you need to develop in order to make that difference? The real education that we take from our schooling needn't be the one that's given to us, it can be the one we choose to take for ourselves.

Thank you for listening to this episode of the Edspresso Series. You can find out more about the Education for a Changing World Initiative via the New South Wales Department of Education's website.


  • Teaching and learning

Business Unit:

  • Centre for Education Statistics and Evaluation
Return to top of page Back to top