Have you ever heard the phrase “Those who can code today will rule the world tomorrow”? Or had some annoying person constantly nagging you to migrate to a digital tool, some sort of technology that supposedly will help your *Insert Job Here*. Well, as annoying or cliche as these might be, those people nagging you are onto something.
We are moving towards a digital world, everything depends on technology in some form nowadays, and if it doesn’t yet then it will in the near future.
- Amazon is opening a new warehouse in Alberta eventually. This will be ran primarily by robots, moving shelves in tight spaces to the edges of the warehouse for a human to pick up items for orders. However, how long do you think it will be until that human is also replaced?
- Google, and their sister company Waymo, just announced that the driverless car project is nearly ready for production. They recently took one of the first rides in history, with no driver behind the wheel. All previous tests have had a driver behind that steering wheel in case of emergency, that is a HUGE milestone.
- Tesla recently announced their fully electric Semi, with all sorts of awesome details to that. But how long will it take for this to be combined with Waymo technology for self-driving goods transport? Even Uber has began testing self-driving car technology in their ride sharing fleet.
Out of all of those scenarios, there is one group of people who have job security: those who know how to code. The software engineers, electrical engineers, and computer scientists will all have jobs despite the change in the industry. Not only that, their jobs previously considered optional will now be considered critical. I am not saying that everyone should go out and become a programmer, that would just cause an over saturation of the market. However, I do know that in the future there will be two large groups of people: those who have basic understanding of technology, and those who don’t. Out of those groups, one will always have a slight advantage over the other, and that advantage will make the gap bigger and bigger as society becomes more dependent on technology.
I might be a little bias as a Mathematics major and slight computer nerd, but what I am saying is still the truth. Programming is a useful concept for anyone to learn the basics of, and this doesn’t even need to be computer related! In the first year Computer Science course at the University of Regina, CS 110, the content isn’t even primarily focused on the code itself! The course is called problem solving & logic, and it is required for all science majors, no matter if you study CS or Biology. This is because the process and problem solving techniques you use while programming, are also useful for everyday life.
You might not notice yourself using if statements or loops while trying to buy groceries, but I can bet you that some decisions might be quicker for you. The same can be applied to high school math, and the classic “when am I going to use Pythagorean theorem”. The answer is, you might not ever use it again, but you have furthered the development of your internal logic and problem solving, and this is something you will use, every day of your life!
I explored the website Scratch.com this week, trying to make a game of pong. I will admit that it failed horribly, and is still a work in progress, but this is partially because I do not fully feel comfortable with the UI yet. However, Scratch and One Hour of Code are both brilliant sites, and they allow you to learn this process, the logic of programming, without it even feeling like you are writing code!
Another site I have used in the past is Codecademy, and it is another brilliant website. This allows you to select your programming language (with a fairly decent list of options), and then you can take tutorials at levels ranging from beginner to expert, learning how to create applications and functions using those languages. This one is a bit more serious than the previous two, and that is because it is meant for actual languages, but they are all excellent resources for your students.
Despite this, there is one site/game that I have been playing for years (since grade 7), and I think it is one of the coolest ones available. This game is called Roblox.com, and it is an entirely user-content based community. Think Minecraft crossed with lego, and you will get Roblox (infact it is older than Minecraft). You can create online worlds using the Roblox development tools, or play games that other users created. When you are creating yours, you can use premade content other users uploaded, or build in content that is generally static. The magic comes in later however, as you can program your entire game using a language called Lua (RBLXLua in this case describes the Roblox variant). Lua is a real development language, commonly used for Macros/Addons for devices like gaming mice and keyboard. The Roblox staff have a community made wiki with all the information you need to get started learning how to program in Roblox, and to learn Lua. There are also a large amount of user guides created on Youtube and other sites to help.
I still haven’t mentioned the best part of Roblox. If your student (or yourself!) begins to get good at making games, and has some games that become popular on the platform, there is a way for you to get PAID in actual money for the success of your game! So this platform not only allows your creativity to flow, your programming and logical skills to develop, but it also ends with you actually being able to use Roblox as a part-time job in some ways. Some of the top creators are making similar money to their parents who are working salary jobs! So it is a cool incentive to learn how to develop high quality games, on a platform that is becoming increasingly larger by the year.
So the summary of all of this? It is good for everyone to learn some code. You might not ever directly use it, but you will improve your problem-solving/logic, potentially have a bit of fun, get a small technological advantage over the person next to you, and if you enjoy it in the end there are ways for you to get paid for it! Gale Russell mentioned in one of my university lectures: “We are all mathematical beings”. Computer science and programming are technically a branch of mathematics. The best part about math-based subjects is that this is primarily an Art, NOT empirical science. You read that correctly, Math is Art, and it is a natural process for humans which begins to develop at an earlier age than language!
My entire philosophy tends to surround the idea that everyone can learn math, and everyone can learn technology. It is just a matter of teaching for multiple learning styles, and teaching for understanding over memorization. You might leave a course and not remember how to code a month later. However, if you truly did those assignments on your own during the semester, a year later you WILL remember the logic, you WILL retain the process of problem solving, and you WILL find learning a new language in the future easier. The programming language is just the convention, anyone can make a language for computers to interpret. What remains constant, and will always remain constant, is the logic.