What is a Coding Class? A coding class teaches a student’s to communicate with a computer using a language that the computer can understand. Coding is the language that allows humans to communicate with computers and to teach the computer new skills.
Humans use language to communicate. Whether we speak English, Spanish, German, Mandarin, French or any of the other roughly 6,500 languages alive in the world today, the end goal is the same. To share information and experiences with other people. Computers share information as well. However, computers “speak” a language of 1s and 0s. On and off. The lowest level of language a computer understands is machine code, a purely numerical language. While it’s possible to write programs directly in machine code, the process is extremely challenging and highly prone to errors.
There are three ways to learn to code and all of them rely on a solid curriculum. We speak to this further in the article.
The first way is using a book or instructional video. Youtube has man many videos on coding and it is a more effective method of coding than a book. It is not without problems though. Most of these videos are produced by people who are great coders but have no experience teaching. They are not designing curriculum for a specific audience – like kids 10 years old or adults with no coding experience. So, there are issues with pacing, language, video duration, etc. It is very hit and miss.
There are sites like Udemy or Coursera that have a mix of video and flat content but they are targeted to adults. They also suffer from the fact that they have 1500 curriculum developers/designers. This means it’s a dog’s breath of different approaches. You may find a great Intro Course but then you progress and it is totally different. Khan Academy is targeted to kids but the curriculum is limited in depth and they do not offer live instructional support. This means that Khan Academy have to “dumb down” the instructional material.
This is learning to code with instructional support from a teacher. Typically, the teacher introduces a concept to the students, and then has them put the concept into practice through a project. Live instruction is super helpful for anyone wanting to learn to code. For young kids it is a must. There is both individual instruction and small group classes. We find individual instruction very effective for younger learners – say under 12 – as they need the additional support. We very much like Codewizards and Juni Learning, but they are so so expensive.
There is only one that we recommend and that is focused on computational skill development for young kids. Its CodeSpark. Code-A-Kid, CodeCombat, CodeMonkey – are all fun, but they won’t teach your kids to code. The way they teach does not allow kids to grasp the core computer science concepts and then
Apply them outside of the game logic. Minecraft is the same. Fun. But kids learn to code by coding, not by playing games. We do like Roblox, as you can code in the native Lua language outside of their drag and drop templets. Here is a list of other popular games to avoid IF your intent is to learn to code. If you just want to have fun (and who doesn’t?) then these are great.
To make life easier, computer scientists have created higher-level computer languages that look more like human language. These act as an intermediary between people and machine code. When these languages are compiled, they are converted into the machine code computers prefer. The process of writing instructions for a computer in one of these assembly languages is what most people know as “coding”. There are quite a lot of them with Python, Ruby, Java, React as the most popular.
We teach most of these, but recommend Python is you are new to coding. Python is a programming language that is easy to learn and easy to write. Its tutorials are light-hearted and emphasize a crucial point, that you can do anything, build anything, achieve anything by learning how to code. This commitment to simplicity was a revolutionary thing and has been a catalyst in transforming coding from something done strictly by Geeks to something approachable by people of all walks of life.
Python uses intuitive commands such as ‘if’, ‘for’, ‘while’, ‘try’, ‘with’, and ‘print’ that is easily recognizable by anyone as young as early grade school children and follow the syntax of basic English composition. Python runs on virtually all major computing systems, including both Windows and Macintosh, allowing it to reach virtually every computer user in the world. Its resume outstrips just about every other competitor on the market, as past and current clients include heavyweights like Google, NASA, YouTube, and Industrial Light and Magic – the special effects company owned by Disney.
We would suggest Python coding for teens because it is a required course now at all Ivy League schools, all UC schools, and most CalState schools. Python is widely used in the world of artificial intelligence, data sciences, and machine learning. It is only growing in popularity. So, who should take a Python course? Every high school student plans on going to university.
How Do I Choose a Coding Class?
Unfortunately, since the onset of Covid 19, there has been a mad rush of new providers into online education in general and coding education in particular. There are a lot very ordinary providers and many you should avoid. So how to choose? What do you look for? Here are some critical features:
If you want to see examples of good coding curricula and courses that teach coding to kids, I recommend you go and pull down the UCode curriculum. It is free. There are short instructional videos, integrated quizzes, project steps and coding exercises in a state-of-the-art learning management system. The videos are fun and introduce the programming concepts using non-technical language. Instruction is available, but not required.
So, we have combined the benefits of a site like Coursera with live coding instruction. It is unique. It is curriculum based and assessed. We have done all the heavy lifting. You just bring the student. And yes, access to the LMS is free. Instruction is on a pay-as-you-go basis.
There are links to overviews of some popular UCode courses at the bottom of the article:
Learning to code involves learning how to think methodically – what is known as “Computational Thinking”. Kids that learn to code learn how to take difficult problems and break them down into their root components, making it easier to find effective solutions. Coding teaches them deep analysis and strong problem-solving skills.
As a result, kids that can code are better prepared for every other subject they’ll study throughout their academic careers. Coding teaches a skill set which is transferable to nearly every aspect of life. Anything that requires procedural, logical thinking can benefit from the computational model of thought that underlies a coding discipline. They become better thinkers, better test takers, better students.
Coding is one of the best skills a parent can share with their child. It prepares them for a rewarding, high-demand, and lucrative career and gives them an edge in every other area of life. It’s difficult to find another skill set that is connected so deeply to the fabric of our lives and the future of the planet.
We are in the middle of a several decades long economic transformation, from analog to digital economy. The world runs on technology, and all of that technology is controlled by code. The child that learns to code will have a world of possibilities open to them. They’ll have an extremely marketable skill and will be able to design their ideal career. They’ll be qualified to work on systems in any industry and contribute to projects that can literally change the world.
The irony is that all of this technology is replacing jobs in other areas. AI and machine learning algorithms are getting smarter every year. Autonomous vehicles are just over the horizon. When the technology is widely adopted, millions of driving jobs, from taxis to truckers, will be eliminated. Low-skilled manufacturing jobs were outsourced or replaced by robots decades ago, and newer robots and artificial intelligence are gaining the ability to replace more skilled workers as well.
As this process accelerates, ever-larger segments of the labor force will be replaced by automation. This is bad news for those being replaced, but great news for those workers capable of coding automated systems. Learning to code futureproofs your child’s potential. Those that can code will always be in demand, and that demand is increasing.
A final we don’t believe that everyone needs to be a programmer. We do believe that opportunity and success are increasingly tied to technical literacy. Be an artist or a musician. You will be better at it by understanding how to use the digital tools available. Be a doctor – it’s increasingly about data. Marketing? Marketing is now all about databases. Farming – same. I think you understand my point.
Michael