What do Australian parliamentarians, the BBC, President Obama and will.i.am have in common?
They all want school-aged
students to learn to write computer programs, sometimes referred to as
“coding”. This has become a feature of many modern curricula worldwide, from
Estonia to the UK and now Australia. The questions I would ask myself as a
teacher and a parent are: Why and how? This is my attempt at answering these
questions together with a few others.
What is computer programming?
Computer programming is the
act of giving instructions to the computer in order to fulfil a particular
purpose. For instance, we can write a computer program that checks if a certain
number is prime. We can also write computer programs that draw shapes or play
music.
"Powerpuff girl", generative art by D.J. and L. P.
Year 10 Big Ideas in Computer Technology
Year 10 Big Ideas in Computer Technology
Isn’t this a narrow field of specialisation?
Most fields of work and leisure
have been transformed by advances in computer technology. On a recent visit to
Monash University, a student told us that the university was requiring all its
honours students in physics to learn computer programming. This is because many
research questions cannot be answered without building computer models.
In an online conversation on the necessity for genetics researchers to
learn to code, a friend of mine made the following statement:
Why should school-aged students learn it?
We teach all students art, music
and PE without expecting them all to become artists, musicians or sportswomen.
In the same way that physics clarifies how the world works, a knowledge of how
their electronic devices work clarifies in the minds of the students how their
social world works.
Computer programming is a good discipline for the mind. It is a perfect
metaphor for learning. Prominent mathematician and educationalist, Seymour
Papert, put it this way:
Learning to code or coding to learn?
The focus of many curricular
initiatives and the online courses that have been built to support them has
been teaching kids to code. They aim to help students become fluent in a programming
language. I feel that this misses the mark! When exposed to coding, some
students may well find it interesting enough to want to achieve proficiency at
it. However, this cannot be required of every student. Students will write
computer programs if they serve a particular purpose.
Visual programming environments
have been built to take the emphasis away from the intricacies of computer
languages. In these environments, the student can freely create art, develop
animations and games and solve mathematical problems, all without having
achieved fluency in any particular computer language. Still, the student is
using the building blocks of programming: conditional statements, loops etc.
The emphasis must be on coding
as a “discipline of the mind”, what is sometimes termed “computational
thinking”.
What is Avila’s response to all this?
For many years now, Avila has
introduced all of its students to computer programming through the year 7 IT
subject. Students learn to design and implement a computer game. Those who want
to learn it at a deeper level can participate in the yearly NCSS Challenge, a
program run by the University of Sydney spin-off, Grok Learning. We run this
every August and make it available to all of our students.
Our IT electives in years 9 and
10 attract good numbers every year and we are the only all girls’ school
running VCE Algorithmics. This computer science subject is the first Higher
Education Scored Study to be introduced to the VCE and carries university
credit towards some degrees, including Melbourne’s Bachelor of Science.
This post first appeared in Avila College News, Edition 10, July 2015
On this topic, I highly recommend people read Mitch Resnick's Learn to Code, Code to Learn.
Comments