As a student, I always wondered whether what I was learning in school was going to matter tomorrow. Will knowing about the deeper meaning behind “The Lord of The Flies” help me in any way in life? I haven’t had the privilege to be stuck on an Island with no adults at any point yet, so I wouldn’t count on it. There are, however, a few things I realized regarding what is going to matter in the future.
I have scoured the web and have some crucial news to share with you. Coding is in.
According to Code.org, more girls and underrepresented minorities are getting into computer science. Not only that, more than 800,000 teachers have taken steps to introduce coding into the classrooms, not the least of which is in the form of computer science games. These numbers are truly inspiring, but you’re probably wondering, what exactly is the benefit of learning to code?
Why Kids Need To Learn How To Code
Whenever we think about coding, most people picture a scene out of something like ‘Mission Impossible’, with someone hacking into a computer to get ‘Top Secret Data’. I can’t promise any grappling hooks or helicopters but coding is in reality everywhere around us. The apps on our phones, the games that we play, and even the blenders in our kitchens all use programming. Now if you travelled to a foreign country where people spoke a different language, you would try to learn and communicate. So why not look at programming the same way?
Many educators have realized the importance of coding as well and more K-12 schools are starting to offer Introduction to Computer Science modules to their students. There has been a huge 415% jump from 2010 to 2018 of students taking the Advanced Placement Computer Science exam. There has clearly been a spike in interest in learning computer science.
The future regarding employment for computer science majors also looks bright. Recent analysis of employment projections from the Bureau of Labour Statistics also shows that by 2024, 73% of STEM job growth will be in computer occupations. To add on to this already astounding number, a computer science major can earn up to 40% more than the average college graduate according research done by the Hamilton Project. Of course, exploring computer science is not easy. You have to start somewhere and have to know how to start.
Computer Science Fundamentals
Before we start exploring ideas for ways to start teaching coding, we need to at least understand what it is all about. Now we all love videos, they make it easy to understand ideas and visuals are very helpful when learning something complex. Hence, I have made a list of some short videos that explain certain concepts and can help give you a better idea of what these concepts are about.
Variables, Functions, Conditionals, Loops
We have all probably heard of the YouTube channel Crash Course, and understandably so. They have a very informative series on computer science and this video does a great job explaining the different concepts. By using a game as an example, Crash Course has made it easier to understand variables, functions, loops and conditionals through showing what these statements do in terms of the video game.
They explain how a function can be looked at as a procedure and can be used to either return a value or perform an operation without returning any value. Meanwhile, a variable is a value that changes, depending on conditions in the program.
As for loops, the video shows that it works by using a condition and by counting through the number of repeats. Conditionals are explained as statements which perform different computations or actions depending on whether a Boolean condition evaluates to true or false. All-in-all, this video is not just educational, but very entertaining to watch as well. You can also learn these fundamental concepts through a fun and sociable manner with our very own Potato Pirates, the tastiest coding card computer science game! And do stay tuned as the Potato Pirates team is developing more exciting games to cover all the other fundamentals concepts mentioned below.
Binary and Data Representation
Binary is a key foundation in computer science and this video explains it very well. They use visual aid to show how binary numbers work and make it simpler to understand by using real-life examples. They answer questions such as how does binary represent different numbers and letters, and why it is such an important concept.
It doesn't end there of course. They go on to share the uses of binary in images, videos and sounds. Isn't it interesting - how does a chain of 1s and 0s even become a picture, let alone a video? Well, after watching this video, these numbers will definitely start to make more sense.
All the different sorting algorithms can be very confusing but this video by Computerphile is able to make it more digestible by using cards to show how they work. They have a series of videos to explain algorithms such as merge sort, bubble sort and quick sort. For merge sort, they show how each of the two smaller lists are sorted, and then merged together. When merging, the smallest items in the two lists are compared first, and the smaller of the 2 is put into the merged list first. Then the same comparison repeats with the next items in line. This continues till the new merged list is formed.
As for bubble sort, they show how sets of two cards are swapped in order to arrange the numbers in a line. This continues repeating till all are in order and no changes are made in a pass.
The quick sort algorithm is explained in a different video. They do a great job at explaining how it works considering how confusing quick sort can be to understand. The algorithm involves getting a random number from the line, and then arranging the remaining cards on either side based on whether they are bigger or smaller than the random card that was picked. The whole process then repeats on either side. It's confusing to just read what it is about, isn't it? Hence, the visual explanations in the video are very helpful in understanding what these algorithms are talking about.
Cryptography - Caesar Cipher
Privacy is a big thing when it comes to computers and in order to protect this privacy, computers use a lot of different algorithms to keep data safe. One of these is the Caesar Cipher. There is some history to the Caesar Cipher and this video shares how and why it was used over the years. They also explain how it works, such is what is the key used for, how is the plain text encrypted and how it can then be decoded.
A.I. - Turing Test
How did the Turing Test come about? What is its purpose? TED Ed is able to explain how the test works and also shares some past cases where some computers passed the test, such as one that took the role of a psychiatrist, which highlighted some weaknesses in the test. It also explores different ways that AI communicate and learn. For example, 'Alice the Chatterbot' follows patterns that are in its program while Google's 'Cleverbot' is a robot that learns from conversing with humans. Overall, it is a very interesting topic and it raises a lot of questions such as what exactly defines intelligence?
Computerphile is able to explain the benefits of compression, and how it works for text and images in this video. A phrase or character that's repeatedly mentioned gets compressed into just storing the positions at which that same phrase/character is repeated. While for pictures, the colors can be stored based on how many of the same colors there are and where they are. They also explain concepts such as lossy and how JPEG works. The video also highlights the shortcomings of data compression. After all, nothing is perfect right?
Other Resources: Teach Coding With These Comics
Learning To Code Offline
I know what you’re thinking and yes, it is actually possible! There are tons of computer science games that are fun and engaging that can introduce coding to kids with no screens attached. There is constant worry about children spending too much time in front of their screens, and there are reasons to be. Had I listened to my mother when she scolded me for using my phone for too long, I might still have 20/20 vision today.
Among these games, my favourite would be pirate card games, which allows you to learn coding with games. They are all easy to set up and make learning computer science a whole lot of fun.
To help you decide which one to pick, I have also added in which concepts our exciting computer science games targets. Not only do these stem games encourage critical thinking, they bring a lot excitement to the table as you vie for the role of the Potato King! Here’s an idea- the best Potato Pirates gets the dibs on the last bag of chips for family or friends’ movie night. The stakes are high, indeed!