This post has been republished via RSS; it originally appeared at: MSDN Blogs.
This article is part 3 of a 4 part series previously hosted on BBC.
Learning to program develops a raft of 21st-century skills
When the visionary mathematician and programmer Seymour Paperts first introduced the idea of computers in the classroom in the 1960s, it seemed like science fiction. Even the new minicomputers were the size of a cupboard, cost several times the average annual salary and had much less memory than even the crudest mobile phone today.
But Paperts persevered. And since he first used programming to teach young children the basics of geometry – and with it, computational thinking – generations of educators have followed in his footsteps. Today’s education professionals find coding can teach a range of skills that stretches far beyond the STEM sector.
Australia’s new digital technologies curriculum emphasises the importance of coding across the curriculum, encouraging students to create and control technology, not passively consume it. “There’s a famous book about technology called Program or Be Programmed and the new curriculum pretty much encapsulates that sentiment,” says Leanne Cameron, president of the Australian Council for Computers in Education. “Let’s teach our kids to take control and make informed choices rather than just accept what those in Silicon Valley or the programming schools in China or India would want us to do.”
Children as young as pre-school age can learn to code using simple robots with just a couple of buttons, while tools such as Microsoft MakeCode enable block-based programming for younger learners alongside text-based editing for more advanced students. Cameron teaches teachers how programming robots to move up and down a number line helps struggling children come to terms with the basics of addition and subtraction.
Learning a programming language, like learning a foreign language, teaches invaluable language skills. But coding can also cross over into English. “One of my favourite lessons when I taught English was to have students compare the language of poetry to the language of coding, and actually be able to recognise the similarities in the way that the English language is used,” says Megan Townes, a learning delivery specialist with Microsoft Education. “I think if coding can be brought into English it can be brought into any subject and I think it’s actually better when it doesn’t stand alone.”
Yet besides computational and language thinking, programming can help students develop the “soft skills” that will be essential in the jobs market in the future.
One signature skillset learning to code teaches is persistence, Townes says. “Failure is a really important skill that you learn by coding: very rarely do you get it right the first time,” she says. “There’s always the knowledge that as technology continues to improve and get better and faster that you actually want to go back and improve your original code as well.”
Many schools teach coding through group projects, which also enhances teamwork and collaboration, two of the harder skills to develop in the classroom. “Programming in groups often gives them an appreciation for how others think,” Cameron says. “It flows into teamwork, presentation skills, all the skills that have been labelled as 21st-century skills: creativity, collaboration, critical thinking, innovation.”
The problem-solving element of coding is also critical, Cameron says. “Coding forces students to be faced with a problem that often seems too big to solve,” she says. “Then they realise that by breaking it down into manageable pieces they’re able to work out a bit at a time.” Studies have shown that the closer the feedback is to an attempt at learning the better the student learns. With computer programming, the feedback is almost immediate.
While teachers from an arts or humanities background might see programming as very far from creative, many projects include design elements that help teach creativity. “The biggest example is the user interface and how it looks to somebody when you’re creating,” Cameron says. “The coding part is a small part of any project: the win is in presenting the idea in a way that appeals to people.”
Perhaps most importantly, in a world that is infused with technology and where devices can dominate a student’s waking hours and sense of self, learning to code can give students a sense of control. “When they discover that by programming a computer they can have control of what a computer does, when they discover the language of ‘if then else’ it suddenly makes life much simpler for them,” Cameron says. “They know the world of computers is just working with zeroes and ones, on and off, as simple as that.”
While much has changed since Paperts first started theorising, the binary ballet of zeroes and ones remains the same.