Mar 26, 2019 By Team YoungWonks *
What is coding for kids? Or rather, what is coding? In an increasingly computer-dependent world, we keep hearing the word coding but not all of us know what it means and what it stands for, let alone realize the true potential the field holds and why one must learn coding.
What is coding?
Coding is another term for computer programming. In other words, it is the process by which one designs and builds an executable computer program for completing a particular computing task. So coding is what makes it possible for us to make computer software, apps and websites. Our internet browser, the OS of our computers/ laptops/ phones, the apps on our phones, Facebook, and this website – like all the others - they’re all created with code. A coding language then is a vocabulary and set of grammatical rules for instructing a computer or computing device to carry out specific tasks.
Why kids need to learn coding
The following are the key reasons for kids (or anyone really!) to learn coding:
1. Coding inculcates computational thinking
Computational thinking is one of the biggest takeaways of learning coding, as it involves breaking down complex problems into more manageable bits. For instance, smaller steps allow coders to cut away excesses, repair technological errors and become innovative with their approach to problem solving. In short, coding - and thus computational skills - encourages one’s critical thinking and problem solving skills.
2. Coding encourages innovation and learning from one’s mistakes
Programming can be challenging, but making mistakes is part of the learning process as it is equips one to better tackle errors and push ahead with solutions to real world problems. Learning to code then teaches kids and teens to not be afraid to make mistakes but instead to learn and build on them.
3. Coding gives you an advantage over your peers
Given how our dependence on technology is sure to increase exponentially, coding or programming is akin to basic literacy in the digital age. In the present day, knowing how to code will arm kids and teens with much sought after skills, thus giving them an easy advantage over their less technologically advanced peers, including when it comes to college admissions, scholarships and other academic endeavors.
4. Coding opens doors to more jobs
The scope for computer programming is ever-widening. For instance, it’s being said that by next year there will be 1.4 million computing jobs available but only 400,000 computer science students out there to fill these roles. Attractive six figure salaries are the norm today for those who can code well; this mainly because the demand for technology talent far outstrips the supply. This trend is projected to only skyrocket in the near future. So having an early start in coding may prove to be more beneficial than before!
5. Coding helps ideas become a reality
There may be dozens of new ideas in the Silicon Valley and in tech hubs around the world. But making the idea count by turning it into reality is what matters in the end. An idea is worthless without an app to give it life. Learning to code then will allow people to build these apps on their own or at the very least be less dependent on others for the same. Indeed, learning to code can help bridge the gap between an idea and its execution. This can be tremendously helpful to people in their entrepreneurial journey. Some of the leading entrepreneurs today - think Bill Gates who co-founded Microsoft, Facebook co-founder Mark Zuckerberg and Twitter’s Jack Dorsey - are coders themselves.
6. Coding encourages creativity
There are many misconceptions about coding. It is neither tedious nor boring when taught right i.e. with a hands-on approach. At YoungWonks, for instance, learning coding is a fun and enjoyable activity, just the way making art or music can be. Learning programming allows one to see in action the fruits of one’s labour, whether it is creating a high-tech game or a robot. So coding inspires people to channel their creativity, thereby spurring innovations in technology.
Misconceptions about coding
There are several misconceptions about coding and here we look at them.
a. Myth: Only geniuses can code
Wrong. Many people think that only a highly intelligent person can learn coding, when in fact, anyone who is committed to learning coding can do so. Coding is just like any language; it has its own vocabulary and grammar, and it allows you to communicate with a machine to complete a task. Yes, it can seem daunting at first to some. But dedication, creativity and critical thinking can help one get past the challenges. Also, today’s modern programming languages are logical and easy to understand.
b. Myth: Coding is boring
Given that coding entails developing computer technology found in cars and airplanes, video games, robots and space exploration, it is a fascinating subject, especially to those who have a curious bent of mind. Coding is synonymous with computers, which means you’ll need coding everywhere today. It is a highly relevant field today; plus it thrives on creativity.
c. Myth: You have to be excellent at math to learn coding
One doesn’t have to excel at math to be good at coding. Basic algebra - what you learn in school - is all you need. In fact, a lot of coding just needs simple logic. To achieve larger objectives, one can always turn to the resources shared by the coding community.
d. Myth: You need to learn every coding language from scratch
e. Myth: You can only learning coding at a school/ university
A school or a university is certainly not the only place to learn coding; as mentioned earlier, there are many other resources (both online and offline) to help one learn coding. With YoungWonks for instance, anyone can learn coding from the comfort of their own home. This means you will get undivided attention irrespective of your geographical location. Moreover, YoungWonks also believes in employing non-traditional teaching techniques such as inquiry-based learning and flipped classroom.
f. Girls don’t have the aptitude for coding
While there aren’t as many women in coding as there should be, time and again, women have busted the above myth. Examples that come to mind are Coursera co-founder Daphne Koller and leading cinematographer and director of photography Danielle Feinberg. And with the rise of organizations supporting women in computer science -- Girls Who Code, Girls Develop It are a few that promote coding for girls/women -- looks like women are waking up to the bright prospects this field has to offer.
Who can learn coding?
Who is a good candidate to learn coding? An often asked question, its answer is simple and straightforward. As mentioned earlier, one doesn’t need to be a genius or to be excellent at math to learn coding; differences such as age and gender do not matter either. Basically, anyone with basic arithmetic skills (think: addition, subtraction, multiplication and division) can learn coding.
So the answer to the question, can anyone learn to code, is a resounding yes. However, not everyone is expected to learn it as quickly. Individual differences and differences in one’s learning environment often play a crucial role in determining how a person learns coding. Anyone armed with logical reasoning, sharp linguistic skills, patience to work with trial and error, and relying on the use of scientific methods to break down barriers and solve problems can go a long way in this field.
Top coding languages for kids today
This brings us to the highly relevant question: which are the key coding languages for kids today? One of our blogs already outlines this: https://www.youngwonks.com/blog/Top-10-Programming-Languages-for-Kids-in-2019.
A quick look at the list here will help summarise the blog and give you an idea about the ideal coding languages that kids look to learn. To begin with, being a visual programming language and online community targeted mainly at children (by coding with ‘blocks’ in the editor), Scratch is easily the topmost coding language for kids. Next comes Python, a programming language that is very much like normal speech. Being the closest to English, it is not intimidating and very popular today.
The programming languages of HTML / CSS are also good bets; learning them is no doubt a good way of getting introduced to programming. Both are easy to learn and use and are also very useful for kids who wish to pursue web designing; more importantly, almost every browser supports the HTML language.
Google’s object-oriented, class defined programming language Dart comes next as it supports interfaces, mixins, abstract classes and a sound type system, and is thus used to build web, server, desktop, and mobile applications. Like Go, it is a garbage-collected language using a C-style syntax. Microsoft's C# also finds place on the list, mainly due to its usefulness for kids wanting to learn how to make 3D games.
For kids seeking a deeper understanding of programming, there’s C++ which is used to create applications that run locally on machines such as your computer.
With 90 percent of Fortune 500 companies using it, Java is easily among the most widely used programming languages in the world. From SAP to traffic management and even day-to-day appliances, Java features in systems that have been built over a long period of time and thus continues to stay relevant.
Apple’s popularity has also translated into the success of Swift, the general-purpose, multi-paradigm, compiled programming language developed by the former for its iOS, iPadOS, macOS, watchOS, tvOS and Linux operating systems.
Lastly, there’s Golang or Go, also developed by Google engineers. With a syntax similar to that of programming language C, Go is devoid of classes and type inheritance and is used by leading companies such as Google, YouTube, Apple Dropbox, BBC, IBM and Twitter among many others.
Below is a video outlining these ten major coding languages that kids can learn to get a leg up in today’s competitive times:
Coding for beginners
- There’s no right age to code or learn to code. But like with most things, starting help will give you an edge over others.
- An early exposure (ages 5 and above) is recommended as kids have good grasping power at that stage. This initial learning in coding also helps them when they opt for Computer Science (CS) at a later age.
Resources available to learn coding
Beginners typically have the following resources to choose from:
- Coding toys and kits: There are many coding kits too, which are basically electronic hardware kits meant for older children (middle and high school students). For example, young coding enthusiasts have found the littleBits Electronics Arduino Coding Kit quite helpful as these kits typically include an instruction guide for a variety of playful projects that are highly engaging.
- Coding apps: Many of these apps are specially created specially for beginners including kids as young as elementary school students. Apps like Scratch Jr are hugely popular, and apps such as Daisy the Dinosaur are known for how easy they are to use.
- Online resources such as coding programs/ classes: Coding kits and toys can be useful but they are often just props which come in handy only when one’s basics are in place. And for getting basics sorted, coding classes are the best option available. Also, coding toys and kits are usually mass-produced and thus provide anything but a customized experience; whereas coding programs can encourage kids to take on fundamental engineering challenges.
In today’s age of the Internet, there are a slew of online options available for kids to learn coding. Broadly speaking, these resources that can help kids learn coding can be divided into two categories: free and paid.
Below are a fewleading free online coding classes:
a) Code.org: A nonprofit organisation devoted to increasing access to computer science in schools and increasing participation by women and other minorities, Code.org (https://code.org/) offers computer science curriculum for K-12 in the largest school districts in the US.
c) Coursera: Offering a wide range of coding-related courses, Coursera (https://www.coursera.org) has a large online course library where classes are taught by real university professors. The courses are free of charge, but one can choose to pay for a Coursera Verified Certificate.
d) Khan Academy: A well-known non-profit educational organization, Khan Academy (https://www.khanacademy.org/) aims to offer free, world-class education for anyone and anywhere through its bank of instructional videos and practice exercises; subjects covered include computer programming, math, science and history (among others).
e) MIT OpenCourseware: The Massachusetts Institute of Technology (MIT) maintains an online library of all subjects they teach - obviously, this includes coding / computer science - and with no account needed for access; for more details visit https://ocw.mit.edu/.
f) Udacity: Udacity (https://www.udacity.com/) offers individual free coding courses and “nanodegree programs”, which essentially train people for specific roles in the tech industry (think front-end web developer or data analyst).
g) Udemy: A host of courses - covering a host of coding languages such as Python, C#, C++, SQL, Java, etc - are available on Udemy (https://www.udemy.com/).
Here’s our blog sharing details about these resources for kids in greater detail: https://www.youngwonks.com/blog/Coding-for-Beginners---How-to-Get-Started-With-Coding.
While the above resources have proven to be helpful to many, it must be pointed out here that they do not always work for everyone. Given how the responsibility of watching the videos and completing the online assignments often rests with the student alone, the crucial elements here are one’s own initiative and planning. A strong self-starter approach fuelled by self-discipline is mandatory in such cases and in the absence of this, such resources will not be as useful.
Also, often due to budget reasons, these free / cost effective courses have fewer resources at their disposal. What is then needed for a more productive outcome is a fruitful mentor-student program, one that provides a combination of online learning with a human touch.
This is where paid online coding programs come in. Vishal Raina, founder and senior instructor at after-school coding program YoungWonks shares how the most important things needed to learn coding are the right support system and an open mind. “With the help of good coding teachers/ instructors, one can get a better understanding of coding and popular coding languages. In fact, under the guidance of our teachers, the students get to actually apply their knowledge and create projects from the ground up,” he points out.
What to look for in an online coding program for kids
So how can one pick an effective coding resource for one’s kid? With a plethora of options available too, here are a few criteria one can keep in mind before deciding on a coding program for kids:
1. Safety and security in an online class: A trial class is a good way of checking how a class is conducted. Are instructors using passwords to protect entry to each online session? How is the faculty making sure that the overruling rights stay only with the teacher and are not misused or passed on easily to any of the students? These are rather important questions that deserve satisfactory answers.
It is also typically better to go for online classes where access is shared via a dedicated, password-protected student portal. Such meetings are safer than ones where the meeting link is shared through a different channel, which may or may not be password-protected.
2. Know your faculty: Looking at the accreditation of the coding class or going through the profiles of the instructors is also a good idea. Does the coding program have an accreditation and if so, from which institute / body? For instance, YoungWonks boasts an accreditation from WASC (Western Association of Schools and Colleges), in turn offering an assurance of high quality instruction. Questions such as how qualified are the teachers, how many years experience do they have are also pertinent ones, especially since experienced teachers have better logical thinking skills so as to assess other people’s code and typically make for good programmers too.
3. Student-teacher ratio: Individual attention has an important role to play when it comes to effectively teaching students coding. In a class with a 1:1 student-teacher ratio, students are better engaged and thus enjoy the learning process more as compared to just completing tasks in a mechanical fashion in a huge class.
4. Teaching tools and methodology: Parents should assess the classroom culture being followed. Does the class believe in maker culture? Does it encourage creating things from scratch or merely ticking things off a list without any real-life application? An enquiry and project-based teaching model with focus on self-paced learning is absolutely necessary today as it fosters a positive (read: growth) mindset among its students.
Also, live classes are typically better than recorded ones, since the former has scope for interaction.
5. A structured curriculum: Several coding classes today have no structured curriculum in place, which in turn reflects a lack of direction. A set curriculum, sorted into lessons and worksheets lends shape to the online lessons and helps parents keep track of what is / will be taught in the class.
6. Parental engagement: A good coding class would be one that encourages parental observation and participation.
7. Flexible schedule: An after-school coding program today should ideally provide greater flexibility in its class timings, as it will help students manage their schedules well and make time for both regular classes and after-school online programs.
8. Track record: Parents need to do their research about how well the online coding class has been doing, how its students have been faring. A good way to do so is to look at the online class’s participation and performance at several competitions. YoungWonks students, for instance, won the first prize at the 2017 RoboRave US National, the first and second prizes at the 2016 RoboRave California and two out of four prizes at the 2016 Synopsys Alameda County Science and Engineering Fair.
9. Publication and management of online handouts, assignments: With students no longer filling out their assignments on paper, parents ought to look for online classes that rely on quality platforms such as Google Classroom, EdOptim to make full use of their feature-packed school management softwares.
10. Positive environment: Instructors need to recognise and respect the fact that each student is unique. An online class - much like a classroom session - will help kids realise their potential when it nurtures them in an environment that is nourishing and encouraging.
To know more about the criteria to consider before picking an online coding program for your kid, you can read our detailed blog on the subject here: https://www.youngwonks.com/blog/How-to-select-an-online-coding-program-for-kids
Career opportunities for those who know coding
It is a well known fact that those who know coding have lots of lucrative career opportunities to pick from. Here are some of the leading options open to those who have learned coding:
- Software application developers: They build and improve applications for cell phones, tablets and other mobile devices.
- Web developers: They work on how a website looks and functions; they basically have to factor in their clients’ needs and come up with the best website possible for them.
- Software quality assurance (QA) engineers: They assess software, look out for and address defects, come up with tests and scenarios, and create manuals for new software.
- Computer systems analysts: These are the strategists who work at the intersection of a company’s business and its information technology (IT) agenda. They assess computer network systems and carry out upgrades to meet the changing needs of the company.
- Data scientists: Data scientists are analytical experts who use their skills in both technology and social science to find trends and manage data. A rapidly growing field, advances in technology will only translate into greater demand for this specialized skill. While data science does not need extensive knowledge of software engineering or advanced programming, it does entail coding.
- Machine Learning engineers: While ML engineers too work with vast quantities of information and have to carry out complex modeling on dynamic data sets, their job is not exactly the same as that of data scientists. Data professionals typically come up with insights, usually in the form of charts meant for a human audience, whereas ML engineers work on self-running software to automate predictive models. Every time the software (machine) performs an operation, it uses those results to perform future operations in a more accurate fashion, thereby “learning”.
The jobs website Indeed states that the average salary for a computer programmer in the US - as of September 12, 2020 - is $74875 per year. It also goes on to share that the top companies hiring programmers in the country - such as Epic Games, General Dynamics Information Technology, Global Partner Solutions, Bank of America and Techead can pay up from $94,079 to even $142,457 per year.
To sum up, learning coding will keep you in good stead. While knowing more than one coding language can be beneficial, mastering one programming language is also a good way to make progress in this industry. Whether you plan to pursue a career in the software industry, wish to set up a business and make a website for yourself, or look at coding as a new hobby or way of expanding your worldview, software programming is one skill you want to have as we move towards an increasingly tech-dominated world.
*Contributors: Written by Vidya Prabhu; Lead image by: Leonel Cruz