Coding 101 for the Homeschooling Parent
So your child is learning coding for kids, and suddenly it sounds like they are speaking a foreign language. What do they mean by Scratch? What does coffee (Java) and a snake (Python) have to do with programming? And all the acronyms: UI, API, CSS, HTML – what do they mean and how do they keep them all straight? Read on to learn all about Coding 101 for the homeschooling parent!
Never fear! Our Coding 101 overview will bring you up to speed on some key points in technology so you can understand your child’s work, feel comfortable asking them questions, and give them encouragement to continue. Here are some terms that you might hear as they progress through their courses.
Coding 101 for the Homeschooling Parent – HTML/CSS
HTML (HyperText Markup Language) and CSS (Cascading Style Sheets) are the building blocks of a website. HTML is the code that describes the structure of the page while CSS is the code that describes the presentation of the page. How do these work together?
In HTML, you create elements and tags. CSS uses properties and values to specify what to do with the elements in the HTML. For example, a paragraph is identified with the HTML <p> element. All content between these tags, <p> and </p>, is considered to be one paragraph.
<p>This is my paragraph. It has three sentences. This is the last sentence.</p>
By using CSS, you can control what this basic structure looks like for all elements with the same tag.
p {
color: green;
font-size: 14px;
font-style: italic;
}
The CSS code above makes the paragraph look like this:
This is my paragraph. It has three sentences. This is the last sentence.
Simple, right? Obviously, this is just the start. CSS has a robust ability to control almost every element in HTML. CSS Zen Garden shows the beautiful power of CSS. Your imagination is the only limitation.
JavaScript
If HTML is the structure, and CSS is the style, then JavaScript is the dynamic element. It is a scripting language that is usually client-side, which means it runs in the browser and does not connect to a database. JavaScript can collect data in a form, store variables, and trigger an event when a button is clicked. Use JavaScript to create a form that converts feet to meters, a tip calculator, a quiz, or use it to change the action of your mouse on screen.
JavaScript can also connect to APIs (Application Programming Interfaces), which are pre-built blocks of code that allow computer programs to communicate. The Geolocation API allows Google maps to display where you are located. The Canvas API can be used for animation and game graphics. You can even use APIs to display your Twitter feed on your website. We’ll get back to APIs later.
Coding 101 for the Homeschooling Parent – Scratch
While JavaScript is relatively easy to learn and can be used to create animations and games, starting with a program like Scratch is easier for younger kids, and fun for any age.
So no, your child isn’t talking about being itchy! Scratch has a bright, drag-and-drop interface that teaches children powerful programming concepts like variables, loops, and conditionals. It is a visual programming language developed by MIT Media Lab and is used in over 150 countries and is available in over 40 languages. It uses event-driven programming, with the flow of action following events triggered by the user. Kids can very easily code an action and see the effects right away. Learning to use Scratch doesn’t only build coding skills; it is a powerful tool for integrating creativity across the curriculum.
Python
Python is a server-side programming language. Where JavaScript keeps things on the client-side, without connecting to a database or storing data longer than the browser is open, Python allows you to build applications and save data across sessions, like usernames, passwords, and scores in a game.
Python is easy to read and understand so it’s a great starting point for kids. It is a high-level language, which means it uses natural language elements, and it is faster to write code in Python than in many other languages. It has a simple, consistent syntax and a large standard library, which is a set of prewritten code for performing functions. No need to reinvent the wheel with every program. It can run on Windows, Mac, and Linux. Since the syntax of Python is relatively easy to learn, your child can focus more on learning how to think like a programmer.
When your child learns Python, you might hear them say CRUD. They aren’t swearing; they are talking about the four basic functions of persistence in programming: create, read, update, and delete. Without server-side programming, nothing could be stored in a database for later retrieval and use.
So what sites use Python? It’s everywhere! Google, Instagram, Spotify, Netflix, Uber. The list is endless.
But why is it called Python? Well, the creator, Guido van Rossum, named it after Monty Python because he was reading the scripts from “Monty Python’s Flying Circus” at the time. Your children definitely won’t get the reference, but you can enjoy the sense of humor of the creator.
Coding 101 for the Homeschooling Parent – Object-Oriented Programming (OOP)
There are many different programming languages that are object-oriented – Python is one – but they all fundamentally have the same model: they group related information together and create code that is reusable and well-organized.
Let’s imagine an online shop that sells home goods. One item would be pillows, which would be a class. Many types of pillows are sold in this store, but let’s imagine that all the pillows in this store are made of cotton, which is an attribute of all the pillows. But the pillows have different shapes. One subclass of pillows might be square, and the other might be rectangular. And under the square subclass, you might have two objects: throw pillows and floor pillows, and under the rectangular subclass you might have the object bed pillows.
By organizing the data in this way, the subclasses (or child classes) inherit the data from the parent class. The data indicating the cotton material does not have to be duplicated because it’s part of the parent class.
This is the first of the four key components of OOP: inheritance, encapsulation, abstraction, and polymorphism. The data can be grouped so that it can be reused (inheritance), limited in what information is shared (encapsulation), simplified (abstraction), and allow objects to share behaviors (polymorphism).
Object-oriented programming might seem complex, but it’s really an effective method of problem solving that allows for flexibility and reuse of code, and it’s much easier to troubleshoot.
Front end development/Back end development
We’ve already hinted at this a bit so, as you might imagine, front end development is concerned with everything that a user sees and uses to interact with a website, and back end development focuses on the data. A front end developer will use HTML, CSS, and JavaScript to design the user interface (UI). A back end developer uses programming languages, like Python, to interact with the database. You might have also heard the term “full stack developer”. Someone in this position feels comfortable doing both.
There are many skill sets that overlap between these two types of development, but generally someone who is more interested in design, creativity, and responsiveness will gravitate toward front end development while someone who likes the complexity of the architecture behind the site will prefer backend development.
Coding 101 for the Homeschooling Parent – API
As we mentioned before, API stands for Application Programming Interfaces, a standard that allows computer programs to communicate and share information. You could take a lot of time to code everything yourself, but an API simplifies the process of accessing data that keeps changing.
There are many web services that share their data via APIs. While planning your vacation, have you ever looked for flights on a site like expedia.com, or searched for hotels on booking.com? Have you ever wondered how those sites managed to show you up-to-the-minute prices and availability? Now you know – they use APIs.
There is a public API for every possible topic. You can program using the NASA API to access Mars Rover photos; the Balldontlie API to access NBA statistics; the Harry Potter API to return spells, sorting hats, and houses; or the Pokemon API for every possible bit of information you could ever need to be a Pokemaster.
By learning Python, using it to connect to other web services with APIs, and building databases, your child will have an amazing coding foundation with endless possibilities.
UI
All of this programming doesn’t matter if the user can’t easily figure out how to use the application, or if they don’t like how it looks. UI is a term you will hear often while your teenager is creating that perfect game. Who wants to play a game that doesn’t have a cool design? UI stands for User Interface and an effective user interface needs to look great and help the users seamlessly navigate the app, game, or website. Creating an application isn’t just about the coding; UI ensures that the function and design work together. UI is an innovative and creative field in the tech industry.
By helping your child learn to code, you’re setting them on a path to build 21st-century skills while encouraging their creativity and pursuit of new interests. They will become excellent problem solvers and have fun while tackling difficult challenges. And now you can follow along and enjoy the process of learning about coding with them.
For more support as your child learns to code, you can enroll your child in CodeWizardsHQ’s online coding classes for kids and feel confident knowing that your child is being taught the skills they need in a fun, engaging way. With their interactive live online coding classes, adding coding to your homeschool curriculum is simple whether you have an elementary, middle, or high school student. They will keep you in the loop with progress reports after every class and support your child with beyond the classroom benefits like live homework help and class recordings.
With this Coding 101 introduction, you can impress your child with your knowledge when you ask them follow-up questions after their lesson. Maybe. It’s not easy to impress a kid, but this is a good start.
Coding 101 for the Homeschooling Parent
- Coding 101 for the Homeschooling Parent