Stages of Learning a Programing Language:
Before beginning to work on projects using the language of your choice, you need to check which level you’re at. The main levels are:
- Beginner: Being a beginner means you still need to learn about variables, conditional statements, loop basics, and functions.
- Intermediate: An intermediate-level programmer will know how to work with and use data structures, advanced loops, algorithms, and object-oriented programming.
- Advanced: If you are advanced, you will understand all of the concepts above and be able to use them for applications such as Artificial Intelligence or game development.
These concepts serve as learning benchmarks regardless of the language you choose because they are applicable in every language. Once you have learned how to use these concepts in one language, another language will be much easier to learn as well!
Before we can begin creating fun and complicated projects, it’s important to understand the basics of coding. Some of these concepts include creating variables, using operators and booleans, creating loops and if-statements, and creating functions. Below we’ll take a deeper look at each of these concepts and how to learn them.
When coding, a variable is a way of storing information by giving it a name that the computer can refer to it by. For example, take this line in Python:
In this case, the variable myPet was created, and in this case, it holds the value “dog”. The computer can use this name to refer to the dog inside the code. Variables can be integers, strings, or floats, giving you a wide range of values to choose from.
Hint: An integer is a whole number without decimals, a float is a number with a decimal in it, and a string is a word or phrase.
Using Operators and Booleans:
Although Operators and booleans sound pretty hard at first, they're relatively simple when you practice using them a lot. Operators are simply math terms, such as division, multiplication, addition, subtraction, etc. However, when coding these all have different symbols. For example, in Python, multiplication is done with an * instead of an X. There are also two types of division: Division with a single slash returns a whole number. For example, (4//3) results in 1,but (4/3) results in 1.333.
Hint: These types of operators make coding and calculations much simpler so make sure you learn how to use them well.
Booleans are a type of logic that the computer uses to decide whether to run code or not. Booleans unclose keywords or symbols representing “and”, “or”, and “not”, as well as a state: true or false. Each boolean has different requirements to be true. “And” takes two inputs, and if both are true, the result is true. “Or” takes two inputs, and if at least one of them is true, it is all true. And finally, a not changes a value to its opposite, so it would change a true to a false and vice versa. While this may take a bit of getting used to, booleans are simple to understand as you get more experience using them.
Loops are another important concept to understand, as they allow us to run a section of code multiple times or keep running it until something happens. There are two types of loops:
- While loops
- For loops
A while loop would look something like this:
This code will print “Hello World” until the value for i is greater than or equal to 3.
Hint: These loops are especially useful in creating games as they let players take their turns until a specific event occurs.
For loops specify exactly how many times the code should repeat. For example, a for loop looks like this:
As you can see, both of these codes would produce the same output but use different methods to do so. Once you get used to using these loops you will be able to create cool projects using repeating code.
If-statements are quite possibly the most commonly used skill for any beginner in coding. They are easy and efficient and let us check for a specific event without having to write out long code. If-statements are used in more complex concepts as well, such as algorithms and advanced loops, so having a strong understanding of them is essential.
Functions are modules of code that are “self-contained” and allow us to run them anywhere without retyping the long section of code. For example, if you’re working on a big project and you have a large section of code that runs a bunch of times, you can make it into a function and simply call the function rather than having to retype everything again. Functions make code simpler and more efficient. Making them an essential skill for every kid to learn when they code.
Languages such as Python often have libraries that allow kids to make complex code much more simply. A library is a collection of resources that are free to use. Some popular Python libraries are the math library, Turtle, and Tkinter. These are a great way for kids to learn to code, by simplifying code and making it easier to create complex projects even with very little experience. This is especially good for young children who may not yet understand enough code to know what todo if they didn’t have libraries to assist them.
Once you’ve learned all of the above concepts and know how to use them, you would be considered an intermediate programmer. The following topics are somewhat more complex, but they all build off of the previous concepts so they shouldn’t be too hard to learn and understand if you have a strong understanding of the beginner concepts.
Data structures are formats of storing and categorizing information. For languages such as Python, this includes lists, tuples, and sets. Other languages such as Java and C++ also include arrays, stacks, and queues. Many other data structures can be used but these are some of the most common ones. Structures like these make it easy to store information or variables in an easily accessible and organized way. Learning these structures as a young programmer is great because it will give you the basic skills needed for building bigger and more complex projects.
Algorithms are another essential intermediate coding concept for kids to learn. They are specific procedures to solve a specific problem. Some common types of algorithms to learn are:
- Recursive: repeats itself until the problem is solved
- Divide and Conquer: Breaks the problem into two sections and solves each section, combining them at the end to get the final result.
- Dynamic: “Remembers” the last calculated value and stores it and uses it to solve for the next value
- Brute Force: tries all possible combinations until it finds the correct one
Although these are only a fraction of the types of algorithms you can learn, they are relatively simple, making them great for kids who are new to coding.
Hint: For students interested in coding competitions such as the CCC or USACO, algorithms like these are essential to know, as they are used to solve many of the given problems.
The previous concepts learned as a beginner or intermediate programmer will allow you to create some very cool and useful programs. However, programming languages can do a lot more than this, and by using some more advanced concepts you can make some even better programs. If you’re interested in learning even more, here are some of the most common and useful concepts to learn:
Artificial Intelligence (AI) is one of the most interesting topics to explore when it comes to programming because it is still fairly new and there are so many applications. AI involves creating “human knowledge” with code and allowing computers to make decisions based on logic and reasoning as if they were human. If you are interested in learning about AI, try learning from Youtube, Google’s Teachable Machine, or one of Geekedu’s advanced-level classes. Learning how to use AI as a child or student is great because it allows you to experiment with and create an even wider variety of programs.
Once you understand all of the beginner and intermediate concepts, you will be able to create some fun games using the programming language of your choice. Python has a great built-in library called Tkinter that makes creating games fun and easy, and languages such as Java and C++ can be used to create even more detailed and professional games.
These are just some of the many programming concepts available to learn, and hopefully they’ve helped you decide what level you’re at and what you can learn to improve. If you are interested in learning how to use and apply these concepts, try some of Geekedu’s classes. They offer Python, Java, and C++ classes for children that teach all of these concepts and more, making learning to code fun and easy. Hopefully this guide helped inform you about all of the most important programming concepts to know and understand and has given you an idea of what programming level you’re at and what your next steps will be.