In a previous article about games and toys that teach kids how to code, I recommended the best code-learning board games, toys, and kits that had been tested to help your child learn how to code from a professional programmer’s perspective. Although, if you see children playing nowadays, you are not as likely to see them gathered around a gameboard or taking an interest in specialty-science kits.
When I see children playing now, I see the gameboard substituted for tablets and the pieces substituted for virtual characters controlled by finger swipes. This is just one aspect of technology overtaking society, which is why even most code-learning games have some type of website or app that can be used with it to enhance the experience. Honestly, this makes a lot of sense considering how much time, as a professional software engineer, I spend on some sort of technology device.
Not only are mobile technology devices easier to transport, but the apps on these devices have the ability to provide more functionality, a more user-friendly experience, and quicker learning curves than traditional board games. To be frank, if I was to compare how much time I see my children spend on technology devices compared to board games or toys, the technology devices would be almost exclusive.
So, in an effort to protect my children from inappropriate content and vet which apps are best for their learning experiences, I have had my share of testing and vetting out different apps. I can tell you that not all apps are the same, which is why I am eager to share with you an app, called Codespark Academy, I have been able to have my children experience as well as try out myself that does an extraordinary job of teaching kids from a very young age the basic concepts of programming before they even know how to read.
To introduce you to Codespark Academy, I’ll start by providing an introduction to Codespark Academy. Next, I’ll move into what makes this code-learning app extraordinary, and then provide some details as to how the Codespark Academy puzzles and games teach kids how to code and prepare for a career in coding from the standpoint of a professional software engineer. Lastly, I’ll provide my opinion of what I hope to see in the future for Codespark Academy.
What Is Codespark Academy?
Codespark Academy is a word-free app that teaches children the fundamentals of programming through puzzles and gameplay. This app is made to teach children from ages four to ten, which is why the word-free aspect of this is invaluable to reach children who may not even be able to read. This is also important to help bridge gaps between children who may not speak the same language or have other inabilities to interact with one another. You may be asking now, how do the children know what to do with no written or verbal instructions?
How Does Word-Free Work?
That is a very smart question to ask. First, the games and puzzles have very simple objects with nonverbal signs and cues to help with understanding the purpose of the objects. Second, at the beginning of each puzzle and game, the screen uses highlighting and gestures to provide examples of what actions should be taken. Last, the puzzles and games follow some standards such as the intended direction of movement by barriers in gameplay that kids who are familiar with playing virtual games will be comfortable with understanding. When going through the different sections of the game, I found neither my children nor myself had any trouble understanding what the directions intended for each game or puzzle.
Codespark Academy also helps bridge gender gaps by incorporating female characters into the gameplay. This is important because research has shown that stereotypes generally do not start to develop until later in the adolescent stages of a child’s life, so breaking those stereotypes early regarding girls not following STEM-based career paths will likely lead to more amazing female coders.
Meet The Foo-ish Characters
I mentioned the characters in the app, which are actually called Foos. In case you are wondering what a Foo has to do with coding, the term “foo’ is a general term widely used in coding examples along with the term, “bar” which have a long history and meaning that I will not go into, but you can research yourself. Each Foo has its own responsibility and its own backstory, which brings children closer to the characters.
What Does It Look Like?
As of the writing of this article, The Codespark Academy app is broken into three sections (It looks like there will be four in the future, but I’ll discuss that shortly). The first section is called Puzzles, which is pretty self-explanatory. The puzzles use programming concepts to complete small tasks in a very fun way for kids. Each puzzle has multiple levels which get gradually more difficult as your child progresses.
The second section is the Game Maker that allows children to explore their creativity by creating their own games that they can then play themselves and/or share with other children to play and change. Children will first go through some demonstration levels to understand how the Game Maker works before building his or her own games. Once getting through the tutorial levels, this was by far my child’s favorite section. I think the ability to demonstrate the creativity and problem-solving that comes from creating something new is what made this section a favorite.
The last section is the Explore section that has miniature games children can play to learn some important computer science skills. Just as with the Puzzles section, the miniature games have gradual levels that progressively become more difficult as children continue to complete each level. The future fourth section is one where children can build their own stories with programmable props and characters along with uploading voice recordings, pictures, and text. The Create Your Own Story section will also help build an amalgamation of the skills learned through the puzzles and miniature games. Once this section is released, I am sure it will become a new favorite based on the functionality described.
How Do I Know What My Child Is Learning?
When you sign up for an account, you will fill out some basic information such as your email address. Once you sign up, you will receive emails regularly about your child’s progression and what he or she is learning. Once you download the app for Android or iOS, you can register up to three children to track.
How Much Does It Cost?
If you are a teacher, librarian or a nonprofit entity, Codespark Academy is absolutely free. If you are not part of a nonprofit entity, then a Codespark Academy subscription is free for the first week and then $7.99 per month. This is a month-by-month subscription that you can cancel anytime. If you are a homeschooling parent, you can purchase the monthly Codespark Academy at a discount by contacting Codespark Academy’s support team. The reason Codespark Academy uses a subscription model is that it allows for a continuous improvement model to provide the highest quality content to its’ users. This is the same business model many successful organizations such as Microsoft are using today or moving towards to keep releasing new and better content.
Not All Code Learning Is Created Equal
I have always said there are three factors that determine the success of any endeavor. Those three factors are the passion, research, and effort you put into it. Perseverance can be arguably the fourth, but I believe perseverance is the same as effort performed over a considerable time. When you see success, you will likely see these three factors driving the success, whether it’s as an individual or as an organization. From what I’ve seen, Codespark Academy’s success has been no exception to these factors.
Just by reading the section above about what Codespark Academy is should be enough to see the passion behind the organization, but the reason for the passion is just as interesting. Founders Grant Hosford and Joe Shochet are both passionate fathers and have over 30 years of combined experience regarding children’s games and digital business entrepreneurship.
Grant and Joe’s passion to create Codespark Academy started from a need for an app that teaches any kid from an early age the concepts of programming without any verbal or textual instructions. This circles around Codespark Academy’s mission statement to make computer science education accessible to kids everywhere. This passion has never wavered and actually grown over time.
You can be as passionate as you can be but without the right direction, customers likely won’t see the value. That’s where research comes into play. Codespark Academy’s curriculum is the work of advisors who are computer science professors with some of the highest credibility around pertaining to teaching students about coding. The way Codespark Academy’s content is broken out within each puzzle and miniature game, it’s very analogous with the curriculum format for a CS 101 college course with a much more user-friendly spin.
If you have the passion and perform the research, but do not place forth any effort to implement the endeavor, you still have not created any value for customers. Codespark Academy has grown dramatically and transitioned from just The Foos to Codespark Academy with the Foos. These transitions and growth obviously did not come from a lack of effort. Each change and improvement has come from the effort put forth by the Codespark Academy team to make the puzzles, games and everything else in between better so that the platform can actually provide computer science fundamentals to kids everywhere.
To be completely honest, when I first tested the app, the main thought that came to mind (as does with trying out any app) is how would I code this app. After going through the different puzzles, games, levels, etc., I can tell you from years of experience as a developer that building any type of app with as much consideration as the Codespark Academy app requires a considerable amount of effort. I know from my experience of trying countless code-learnings apps that not all code-learning apps are successful, and I’m pretty sure it’s because there are at least one of the factors that are not where they should be, but Codespark Academy is one of those exceptionally extraordinary code-learning apps that have the formula figured out.
Which Lessons Are Learned?
Now that we’ve gone through what Codespark Academy is and why its success made it extraordinary, I’ll take you through some of the functionality of the app to explain how it pertains to programming so that you can feel comfortable knowing any child using the Codespark Academy app is actually learning the foundations to take the next step to actually coding.
Variables And Inequalities
The Crocodile Catch game is a game where the user has to match the inequality shown on the screen to advance to the next level. Sometimes, there are additional characters or other things used as variables. Variables can be thought of as a container that holds a value or reference to something. The caveat is variables can hold only one type of content though. Developers use variables ALL THE TIME as containers of something that can likely change while processing through the code.
You may be saying hmm… variables and inequalities… that sounds like algebra class and you are correct. In programming, variables can hold more than just values and many times in coding, I am using inequalities to determine what the contents of the variable should contain, which makes the grouping of them in this mini-game a match made for coding.
In the mini-game, Sweet Sorter, the user will judge which shapes and colors go into which tube using boolean logic. Boolean logic is basically what you use every day for decision making. Boolean logic can contain ‘And’ and ‘Or’ along with grouping mechanisms such as parentheses. One example would be if you went to an ice cream shop, you may want ice cream and (a bowl or a cone for your ice cream).
When coding, you will implement these types of decisions constantly because computers are extremely literal with no assumptions. Boolean logic or boolean algebra has been around for a long time and so ingrained with decision-making that most search engines use boolean logic to determine user’s intent. I cannot think of any software I have written that has not included some variation of boolean logic.
Stacks And Queues
The game Wild West Pets simulates something like an animal show where the animals jump from a platform and perform other tricks to form stacks and queues of animals. I spoke about what variables can hold in a past section, but what I didn’t talk about is that those variables can also hold multiple objects. Some examples of what variables can hold are stacks and queues. Stacks and queues are containers that can hold multiple objects.
Stacks follow a Last-In-First-Out (LIFO) structure. Stacks are exactly as they sound. You can think of a stack as the little ring stacking game that children play at an early age where the last ring placed around the center post of the toy has to be the first one taken off to take any of the other rings off. Queues follow a First-In-First-Out (FIFO) structure where the first item in the container is always the first item allowed out of the container. You can think of queues as the line at the post office. The first person in the line should be the first one to be serviced and leave the line. There are certainly other types of containers that hold multiple objects, but stacks and queues are certainly great basic containers to learn for anyone starting out with programming and will undoubtedly be used at some point in a programmer’s career.
Donut Detective is a puzzle where the user plays as a Foo-detective trying to catch the glitch that has stolen some donuts. In order for the user to reach the donuts, he or she must sequence the steps needed to get to the donuts around obstacles. Sequencing is probably one of the most basic structures and most common of programming where one action or event will lead to another action or event.
When programming, you will likely have a specific sequence that you need actions to be performed such as declaring a specific variable before assigning its’ value. Even though sequencing is one of the most basic structures, the pragmatic utilization of sequencing can be very convoluted which is why some high-level mapping tools are sometimes used to map out the sequencing of a software program. Overall, sequencing will be one of the most widely utilized structures for programming, so learning this skillset early will be invaluable when coding.
Pet Pals is a game where the user is the caretaker of one or more animals at a facility. The activities for the caretaker can include feeding the animals, grooming the animals, playing with the animals, and more. After playing this game for a little bit of time, you’ll find that you will have a hard time keeping up with the activities without automating some of them. As software programs and coding tools have become more sophisticated, automation has become extremely more important over time when it pertains to coding.
Most coders do not spend their time on lower level tasks as much anymore because there are libraries of code that can automate the process for us. One common type of automated process that is widely used is the connection of the code to a database. Object-relational mapping (ORM) tools abstract the common activities related to initializing a connection to a database to save developers time when coding. It’s good coding practice to promote reuse of any method or function to help automate a task as well as reduce the amount of code to write and maintain. Automation will become more and more prevalent in coding as time progresses, so getting into the mindset of automating as much as possible is beneficial for anyone with the desire to start coding.
Bringing It All Together
The Game Maker functionality of Codespark Academy helps kids to use what they have learned with the puzzles and miniature games to code their own games. The Game Maker goes through some tutorial levels to help kids learn how it works. After the tutorial levels, children will use everything learned to build the games.
The game builder does not make the user write actual code to make it work, but uses visual coding to utilize the skills learned. All of the games can be shared and altered across users if the creator wishes. The process of bringing all of the skills learned across all puzzles and miniature games is the last step in learning how to code before actually writing code. This is an important step to writing code and becoming a programmer because almost all software development will use most of the skills discussed in tandem.
There are many more skills, puzzles, and games that the Codespark Academy app has available to teach children the fundamentals of programming and computer science, but rest assured that any child using the app will have a solid understanding of these two subjects. I also mentioned a number of improvements Codespark Academy has made in the past and they will continue to make in the future, but below are a few things I would like to see from the Codespark Academy platform in the future.
- Offer a desktop version of the app. There is a lite version available on desktop based on the original game “The Foos” (This is actually already being considered and worked on by Codespark).
- Create a portal for parents to check on a child’s progress in real-time instead of waiting for the emails.
- Keep doing the great job you are already doing to improve the user experience and functionality.
These are all improvements that Codespark Academy is capable of doing and may already be considering based on the current momentum of Codespark Academy’s growth and improvements. I recommend if you want to experience an extraordinary app that does something few people thought possible, teaching kids who may not know how to read yet, how to code while aiding in closing the gender gap at the same time, then try a free 7-day trial of Codespark Academy.
Please feel free to comment on this article below and if you have a topic you would like to write about or would like me to write about please contact us.