When I tell friends, family members, and even complete strangers about iD Tech, I often get the same question—can kids actually learn to code?
For anyone who isn’t a programmer, the skill usually comes off as wizardry; something only to be mastered by those with superpowers. Even after working in the video game industry for years, I have been amazed to see what has been produced in our coding camps, and programming classes by kids as young as seven years old!
Programming is accessible for everyone.
And the best way to start learning programming is by getting a basic understanding of programming, starting with the basics. I’m talking really basic. Like defining words basic. Why? Because when we hear things like “coding” or “Java” or “application” without a base level of comprehension, it’s intimidating. It’s natural to be afraid of the unknown…so let’s make the unknown known.
Plus, when you’re trying to connect with your kids, you want, no, you need to speak their language. English is hard enough, let alone the many different programming languages kids can jump into. You don’t have to become a coder yourself, but it helps to have at least some familiarity with the basic terms in order to keep up.
For instance, maybe you’ve got a teenager who is trying to “mod” a game of Minecraft while “coding” a .net API. Want to know what they’re really doing? We can help.
First, as a word of caution, learning to code is a process. Sure, you can learn programming faster with a few key steps, but it's going to take regular practice. You have to begin somewhere, so let's get started!
Let’s say you have a dog, and we will call him Max. You want to be able to train Max to the point where upon command, he responds and performs to your instruction. “Sit.” “Stay.” “Don’t even think about chasing that squirrel.”
When you write a program, the basis of your actions doesn’t stray far from the same. You, the owner, are giving a set of commands to your computer (or dog, in this example) and expecting a certain outcome based on those commands. But instead of speaking those instructions with a pocket full of bacon treats, you’re writing instructions in a language that kind of resembles normal English, but with a few additional parameters and rules. Not to mention that, unlike a dog, the computer always listens—if the command is given properly.
Programming is the foundation of robotics, video games, apps, computer graphics, and so much more. Every computer program is a set of instructions; a sequence of short commands, one after another. It’s about breaking up a complex task into a set of smaller, individual instructions and using a programming language to write those instructions.
2. “Programming Language”
To go along with the point above, in order for you to communicate with a computer (and to get it to execute those instructions) you must speak its language.
In programming, a language is made up of a vocabulary and set of grammatical rules—sound familiar? Where it gets a little tricky is that each language is based on its own unique syntax (grammatical structure) and semantics (meaning).
There are a number of different programming languages, and when it comes to which one you should be learning, it all really depends on what you want to do. C++ is the basis for popular web browsers, Adobe products, and more, while Java is good to know when creating video games. Python powers sites like Pinterest and Instagram, and in the case of the internet, HTML (Hypertext Markup Language) is used to create web pages that display information.
This helpful infographic from Lifehacker breaks down all the language differences.
3. “Programming Statement”
Because the terms “instructions” and “commands” were used quite a bit in the previous explanations, I thought it best to next define “statements.”
Basically, the way you tell a computer to do something is by giving it instructions or writing statements to explain a desired action. Again, it’s similar to writing sentences in English, but with words, numbers, and punctuation added in depending on the programming language you’re using. So to bring it together, a program is written through a sequence of one or more statements.
Think about it like giving a friend driving directions—“Go straight for one mile. Turn left. Go straight for another two blocks. Stop at stop sign. Turn right.” The task you want to achieve is getting your friend from point A to point B. You break up that task through a number of individual statements to make it happen.
4. “Data Type”
Artificial intelligence may one day change this, but currently, computers can’t differentiate between letters or numbers. So, computer programmers must establish a data type. This is a classification of the type of data a variable or other object can be assigned in a computer program.
Variables in programming are like those you’ve learned in math class, with the difference being that a programming variable can represent more than just a number. Meaning, it could, for example, hold an alphabetic character like “c” or a whole word or phrase like “Hello World”, commonly called a string or a Boolean (more on “Boolean” below).
- Boolean (e.g. True, False)
- Character (e.g. Z)
- Date (e.g. 06/29/2018)
Understanding data types allows programmers to design better applications.
Remember the old TRUE or FALSE tests in school? You could actually call them Boolean tests, since a Boolean (pronounced “bool-e-an”), bool, or Boolean expression is a value of either TRUE or FALSE. Boolean was developed by the English mathematician and computer pioneer George Boole,
Booleans are typically stored within a bit, which is the smallest amount of storage in a computer when it comes to orders of magnitude. It holds a single binary digit. Binary, being a base-2 number system, means it can only hold the value 0 or 1. In the case a Boolean, 0 usually means false while 1 is usually used for true.
Which leads us to the classic programming joke, “The best thing about a Boolean is even if you are wrong, you are only off by a bit.”
All computers speak binary: 1’s and 0’s. A simple and elegant 2 number system, binary is the basis of all binary code, and that code is the foundation of all programming languages.
Because Binary can quickly detect an electrical signal’s on or off state, it makes it an efficient way to control logic circuits in magnetic media (the positive and negative poles are quickly and easily transferred into binary).
7. “Application” (AKA “App”)
Yes, you have an iPhone or an Android smartphone and are probably very familiar with “apps,” how to download them, how to use them, etc. But the mobile app is just one example. Short for “application,” apps can also take form as web apps or online apps.
The term “app” has become a trendy, modern, go-to word, but it really doesn’t differ from a software program. An app is designed for a particular purpose, and on your iPhone or Android device, that can mean just about anything. Find a restaurant. There’s an app for that. Order pizza. There’s an app for that. Facebook. There’s an app for that. Most of these things can be done through a web browser, but the mobile apps, designed specifically to be accessed from your phone, make life so much easier.
To build an iPhone app, you’ll need to know XCode, Apple’s integrated development environment. To build an app for Android, your development environment will require Eclipse. View all programming classes for teens and kids.
8. “Scratch Programming”
Now let’s turn to something a little more tangible. Scratch is a MIT-developed graphical programming language, where kids can learn drag-and-drop programming basics to create interactive stories and comics.
While you can get a little caught up in all of the different programming languages shown above, Scratch programming classes are great for any kid needing a beginner-level introduction.
Instead of lines of code, Scratch users build with colorful command blocks and cartoon sprites. The real beauty of it is, even without typing code, users can gain experience with statements, learn computational ideas, and think creatively to problem-solve. Plus, Scratch is incredibly engaging.
Every bit of data a computer processes has to be converted into something for humans to understand and use. It could be a picture of a pizza, your tax documents, or the latest viral cat video.
But what you may not realize is that those tax documents and delicious looking pizza - anything, really - starts as numbers; the only thing that computers understand. 1’s and 0’s (binary) are the computer data and ASCII (pronounced “ask-e”) is a system that maps data/numbers into a computer's memory as text.
The acronym ASCII stands for American Standard Code for Information Interexchange and ASCII assigns letters and characters to the 256 slots available in 8-bit code.
Much in the same way you need tools to build a house, you also need tools, routines, and protocols for building software applications. That’s what an application program interface (API) is.
An API (pronounced phonetically as, “a-p-i”) outlines how software and its components should work together. APIs are also used in programming graphical user interfaces or GUI (pronounced “goo-ey”).
Computer programmers need to start somewhere, and that somewhere used to be the BASIC programming language. BASIC (Beginner's All-Purpose Symbolic Instruction Code) was created in 1964 by John G. Kemeny and Thomas E. Kurtz at Dartmouth College.
As mentioned, programming languages let people give instructions and commands to computers. BASIC, then, is a language that’s well suited for people who want to learn computer programming but may not be mathematically inclined. The language is structured very similar to English, with simple, straightforward commands. In recent years, programming languages like Java and Python have surpassed BASIC’s popularity because of their proliferation.
.NET Framework is a programming framework developed by Microsoft that runs mainly on Microsoft Windows. The .net framework can support a variety of different programming languages and allows developers to create applications more easily. Basically, it’s a batch of code that programmers can use to bring together multiple components without having to write it into code.
You can think of .net as the computer version of a work shed. The shed is stocked with different tools, and depending on the job, you can use those tools accordingly. If a programmer builds a program that needs to perform a certain task (like reading information off a hard drive) the programmer can just head to the shed (.net) and get the tool to do it. The shed owner (IT department) can add to it, while the supplier (Microsoft) of the shed requires you place it in a specific spot in your backyard (Windows).
Putting Knowledge to Use
So there you go: twelve quick and easy programming-related definitions.
Are you an expert now? Nope. But hopefully these definitions have helped you wrap you head around computer programming enough to engage in a conversation about it.
It’s no secret that coding continues to change the world we live in, and each new innovation leads to even greater opportunity.
Looking for a way your child can define their path to coding greatness? Take a look at our coding summer programs.