What is the best programming language to get a job?
Coding Kids runs after-school coding clubs and school holiday code camps. Parents often ask us:
- What will they achieve after eight weeks?
- What is the best programming language to get a job?
- My 10-year-old daughter has an idea for an iPhone app. Do you have a course so that she can build that?
- How many classes will it take to learn to code?
Coding classes for children are so much fun. They build computer games, animated stories and digital artwork. After a hard day at school, they come to us and we let our imaginations run wild and be creative. In the process, they learn timeless skills such as computational thinking, problem solving, logic, design and creativity.
But these questions makes me wonder, do children’s piano classes, swimming classes or speech and drama classes get asked the same questions?
- How good will my child be after eight weeks of piano lessons?
- Which musical instrument is best for my child to get a job?
- My child wants to make the Australian swim team for the 2018 Commonwealth Games. Do you have a course that allows her to do that?
- How many classes will it take for my child to learn speech and drama?
Technology is a black box. We all use it and Australia has one of the highest rates of technology consumption globally. However, we don’t quite understand how it works or what skills it takes to build it.
I was at a teachers’ conference last year. I had met lots of teachers doing great things in their classrooms. I also met a handful of teachers asking me with some scepticism, “Do children really need to learn to code? Won’t they just drag and drop to build apps?” I also had a school principal lecture me about the impacts of screen time. This highlights a misunderstanding of the value of problem-solving, project building and digital literacy.
Coding is not a new concept, but it has only become mainstream in the last few years. Right now, with new mandatory tech subjects it has become a media, education, and consumer buzzword. It is all over the media, schools are showing off how innovative they are, toys and apps are marketed as educational and teaching children to “code”. Marketing is perpetuating misconceptions about coding.
What is coding?
Coding is giving a computer a series of instructions, or commands, so it can perform a task and do work.
There are six fundamental concepts of coding:
- Data storage
- Data in / data out
For more details on these concepts, see here: www.codingkids.com.au/blog/2017/4/9/6-fundamental-concepts-of-coding
Coding can get very complex very quickly. Making mistakes and receiving error messages are inevitable. The learning process also provides the opportunity for students to learn how to learn. We do this through the five principles of learning to code. https://www.codingkids.com.au/blog/2017/1/31/5-principles-of-learning-to-code
Let’s answer those questions.
What will they achieve after eight weeks?
In eight weeks your child will have built 4-6 projects and explored basic concepts in programming. They will be able to build simple projects and can continue their journey of learning.
What is the best programming language to get a job?
This is a difficult question to answer because the question is based on a misconception, that learning the best programming language will help keep you employed.
The ability to be a useful team member on a project is based more on a person’s ability to solve problems, collaborate, communicate, have empathy for the user or person with the problem being solved, and understand project delivery and commercial needs. The programming language they know may be a relevant factor, but not in isolation of all the other skills that are required.
The programming language used for any project depends on the problem being solved and the type of project, e.g. web programming, game design, iOS apps.
Learning and achieving mastery needs enthusiasm and resilience. Being engaged and curious is more powerful than “knowing” a particular programming language, because technology and problems are evolving and lifelong learning is a prerequisite to being a valuable team member.
My 10 year old daughter has an idea for an iPhone app. Do you have a course so that she can build that?
We can teach students to build apps, iOS or otherwise. However, as educators we need to consider her previous experience with programming and whether she is a fast learner or an average learner. As much as media hype let’s you believe, an iPhone app is probably not the best first project to build as an average 10 year old. Swift Playgrounds is an iPad app that is designed to teach children to code with Swift programming language. There are fun tutorials that can take a beginner with no programming experience to making their first programs from scratch.
How long does it take to learn to code?
There are only six fundamental concepts of coding. It can seem that learning to code is quick and easy with only six things to learn. You can spend a few terms at school learning the absolute basics of computer programming concepts. But programming enthusiasts can spend their entire lifetime becoming the best programmer they can be. Just like any skill, like playing the piano or playing soccer, how long it takes to learn to play the piano or to learn to play soccer is up to you. You can learn enough to start enjoying it straight away, but to pursue mastery can take a lifetime.
Coding classes are a lot of fun. Parents often struggle to get their children to leave. We build fun projects such as computer games, animated stories and digital artwork. We allow children to invent imaginary worlds, characters and adventures. Whether you are interested in unicorns and rainbows or monsters and dragons, coding allows you to create stories that you can love. In building their digital projects students learn transferable skills such as computational thinking, problem solving, logic, design and creativity.
This is why our teaching philosophy is based on five ideas:
- People over products
- Fundamentals not recipes
- Authentic learning
- Mistakes are stepping stones
- Engaged equals learning
As parents or teachers, the intended outcome for the child should not be:
- “My child / student built an iPhone app.”
- “My child / student is learning Java because it will best help them get a job.”
But rather, outcomes such as:
- Growth mindset