The main arguments behind the push for students to learn to code, usually center around preparing students for future jobs. There is a skill shortage in the computer science industry which determines skilled job seekers can walk into lucrative contracts. This trend is predicted to rise.
The other aspect to the usual argument is that even students who do not work in the technology industry will also benefit throughout their life and careers by learning computer science, as all industries now involve some component of programming.
While these arguments are perfectly valid, there are many more reasons why kids should learn to code. They include:
1. Learning to code teaches you a number of life lessons.
- Learning from mistakes is vital.
- You shouldn’t fear mistakes or failure.
- Success is a scribbly line.
- Persistence pays off.
- Teamwork is important.
Computer science forces you to take responsible risks and engages you in the problem solving process of trial and error. This encourages students to:
- Get out of their comfort zone and have a shot.
- Make a logical attempt to solve a problem.
- Analyse the errors and think about this analysis.
- Apply their thinking while making another attempt to solve the problem.
- Repeat the process, sometimes seeking assistance from a friend, until they have managed to solve the problem.
2. Learning computer science teaches you about learning and teaching.
Students who are introduced to computer science in school often catch the ‘coding bug’ and want to learn things that aren’t going to be covered in the class content. In Scratch it is common that students want to make their program do something that isn’t being explored in class. These students often teach themselves how to achieve their goal by looking at other programs, watching tutorials, reading or experimenting.
Quickly experts in certain areas arise. A student who has figured out how to create a scrolling screen game suddenly becomes the teacher or is sought after by other students who want to solve a similar problem. This results in the student becoming a teacher and increases a student’s confidence.
This results in the student becoming a teacher and increases a student’s confidence
3. You learn how to think and problem solve when programming.
In all programming environments, students learn:
- Sequencing is important
- To break big problems into smaller manageable steps.
- Examine examples and apply this knowledge.
I think everyone should learn how to program a computer, because it teaches you how to think. – Steve Jobs
4. All school subjects become meaningful and related to the outside world for a computer science student.
- Literacy has a purpose as you are required to read to learn.
- Numeracy has a purpose as a wide range of mathematical concepts are involved in programming.
The more that you read, the more things you will know. The more that you learn, the more places you’ll go. – Dr. Seuss, I Can Read With My Eyes Shut!
5. Your creativity is expanded by learning computer science.
Students introduced to computer science quickly realise that they have been provided with a new avenue of expression and that creating is more rewarding than consuming.
6. You prepare yourself for success by learning computer science.
As addressed earlier, ‘future jobs’ are often listed as the main reason students should learn to code. Every company has a presence on the web so understanding how the web operates can assist employees.
Computer science also gives you a skill set that can be used to become an entrepreneur and potentially make millions of dollars. Students who gain the skills early can achieve this success at a very young age. Nick D’Aloisio, who at age 17 sold his app to yahoo for $30 million dollars, is old when compared to many successful app developers.
7. You can change the world with computer science.
Students can go on to change lives with computer science by working in defense, energy, education or health.
8. You appear to have superpowers when you program.
The programmers of tomorrow are the wizards of the future. You’re going to look like you have magic powers compared to everybody else. – Gabe Newell
To introduce some of the life lessons coding teaches I like to set my students a replication challenge using Hopscotch (you can adapt this challenge to Scratch or any other child friendly programming environment.)
I create a program in which my sprite (character) draws a house. Everytime the sprite draws a house the thickness and colour of the lines change. The challenge is for the students to create a program that replicates my program without looking at the coding blocks I have used. This forces students to use trial and error. Often progress is slow and it feels like the class is taking one step forward and two steps backwards as slight changes in the degrees of the roof drawn or line thickness can totally alter the program. However, once students conquer the challenge they feel so proud of their efforts.
Quotes we use in computer science class that epitomise the life lessons learnt from coding:
Experience is simply the name we give our mistakes. – Oscar Wilde
I’ve missed more than 9000 shots in my career. I’ve lost almost 300 games. 26 times, I’ve been trusted to take the game winning shot and missed. I’ve failed over and over and over again in my life. And that is why I succeed. – Michael Jordan
Success consists of going from failure to failure without loss of enthusiasm. – Winston Churchill
Alone we can do so little; together we can do so much. – Helen Keller
Illustrations by: Sarah Alexander