We’ve let our children down.
We’ve prepared them for a world that no longer exists.
Education is about preparing children for their future as adults. If the last two decades of coding education has taught us anything, it is that the school system is too slow to adapt.
We wanted technology education, instead we got laptop carts.
What about a future world dominated by artificial intelligence, do you think the school system is going to help prepare your son or daughter for success?
As a kids coding educator, it is time we step up and reevaluate the learning goals in the AI era.
The Current State of Coding Education
Right now the majority of coding education happens outside of the classroom. Or put another way: for kids who actually learn something that sticks, they likely learned outside of school.
There are many formats. Everything from after school learning centers, 1-on-1 tutoring, huge summer camps, and online tutorials.
It is a shame that parents have to take an active role in helping their son or daughter learn to code. They have to navigate the numerous options and make sure they line up to their child’s specific situation.
Alternatively, once in high school, limited schools offer a pathway with four years in Computer Science. This required lobbying from the non-profit organization Code.org to count CS as a science credit and not just any other elective like basket weaving. If you are at one of those schools and can fit all the classes into your schedule, wonderful. But what about everyone else? What about making learning progress even before high school?
Let’s focus on the valuable learning time before high school. How are students learning to code in late elementary and middle school?
Exposure Over Depth
The majority of coding education is geared towards providing exposure to the subject. It gives a spark of interest, hoping that the student will keep learning on their own or revisit it in high school or college.
Examples include Hour of Code in school or the game design summer camp. What comes next? How do students keep learning?
Some providers, including Breakout Mentors, have long-term options to go from beginner to intermediate to advanced. However, that depth of learning is very rare in the kids coding space. It also requires parents to have the money to pay for 1-on-1 tutoring over months or years.
For everyone else interested in coding, failing to provide a depth of learning is a missed opportunity.
Missed Opportunity to Train Logical Reasoning
Every STEM field requires strong logical reasoning, not just programming as a profession. For example, it is an important part of many other lucrative careers as well, everything from lawyers to accounts. Plus, entrepreneurship opportunities are enabled by advancements in technology, so it is a requirement to be able to deeply understand and communicate with technical employees. Therefore, instead of thinking of learning to code as a potential career path, instead think of it as the best way to train logical reasoning. An added benefit is also keeping many potential career paths open.
Brains develop depending upon how they are used, similar to a muscle. That’s why math is started from such a young age: if you just waited until middle school to start with addition, subtraction, multiplication, and division, it would be a struggle. They wouldn’t have the right brain pathways developed that require repetition over time.
Coding is the ultimate tool for training logical reasoning. You are required to combine multiple concepts to work together to achieve a result. It supports a progression of difficulty well, with students 10 years old able to be constantly challenged all the way through college. There are new skills to acquire constantly, whether it is learning to trace the logic through a program with hundreds of lines of code or powerful abstraction to do more with less.
It is also one of the only fields where young students can experience the engineering mindset of building something from nothing within a framework of logic. You don’t need expensive materials, only your mind and a keyboard. It is an iterative process of breaking down a large goal into smaller requirements, testing along the way, before finally reaching your goal.
There is no better way to train the logical side of your brain than coding. Not coding once, just for exposure. Rather, continued effort at the perfect challenge for you.
The Role of AI in Our Future
You might be thinking, “that’s great and all, but is AI just going to make coding obsolete? Why bother?”
We just covered the benefits of training a young person’s logical reasoning skills. Software engineering may become more like the role of a lawyer or accountant today. There are hard and fast rules to follow in those professions that require a background knowledge to be able to operate within. They need to deeply understand the goal before deciding the right solution to explore. Then their paralegal or junior lawyer does a lot of the work.
Software engineering will change. AI enables a future where your brainpower will not be devoted to writing most of the code, reasoning through variables and loops. Instead, you will operate at a higher level of abstraction, allowing the AI to handle the details.
This reshapes how you should think about coding.
Coding is Communication
Code is a language that is understood by a computer. Software engineers are translators, able to take a goal and tell the computer in its own language how it can be accomplished. Today that requires exact step-by-step logic and understanding a complex coding language.
A powerful AI doesn’t require the exact steps, instead you interact with it using natural language. However, the overall process is similar. You communicate what you want, evaluate the results at various steps along the way, and make changes as needed.
AI makes the basics of the field approachable for beginners. You don’t have to know a complex coding language and have the logic to program exact steps. Does that mean the profession will go away?
More Software, More Software Engineers
History repeats itself. Technology shifts the job landscape by taking over one repetitive function and eliminating a role, while simultaneously opening a door of opportunity.
Go all the way back to the printing press when books were copied by hand, making them very expensive and very few could read. All those scribes were no longer needed, but the industry as a whole grew rapidly: printing, book selling, increased literacy. There was an adjustment period, but many more workers were needed overall.
Software is similar. It is obvious that there will be more software needed in the future than right now and that AI will write most of it. However, that will only increase the need for software engineers, not eliminate it entirely.
Someone needs to work with the AI, including giving it technical instructions when needed. A basic description in natural language will only get you so far. The iterative process of evaluating the provided result and specifically changing one part will always be necessary.
More people will be able to do the basics of software development, leading to more software. More software that needs to be tweaked and improved, that requires specialized knowledge to communicate effectively with the AI.
The profession will change, however a strong technical background will still be an asset.
Rethinking Learning Goals for the AI Era
Kids learn how to do addition of three digit numbers with pencil and paper, yet we have calculators. Can’t we just skip that?
I chose three digit numbers specifically because that is something that adults almost never do. One or two digit numbers, yes. However, three digits or longer, I bet you are pulling out your calculator, not doing it in your head or on paper.
Yet it remains part of mathematics education. It trains the student how to think and gives an understanding of what the calculator does for you. It also gives a background for knowing if the answer is correct: if you end up with a one digit or 12 digit answer, you know you typed something into the calculator wrong.
Coding will be similar. There is still a requirement for a foundational understanding of how to do it “by hand”, even if an AI will usually handle that.
Proving Knowledge of the Fundamentals
Mathematics includes many tests along the way. Once you master three digit addition, you move on to the next challenge.
Coding doesn’t feature that same progression, mainly because the learning happens outside of school. There aren’t standard markers for success and frequent testing of knowledge. So how are you supposed to know when to move on to the next challenge?
And since AI can help solve far more advanced challenges, it will be tempting to just jump ahead. If you weren’t forced to do three digit addition in school, would you have done it? No way. Therefore, fewer students will gain the core understanding of the coding fundamentals, hurting their ability to communicate with AI on the more technical details that will be necessary.
What are the best ways to prove knowledge of the fundamentals? The best known tests for high school students are AP CS and USACO.
Shortcomings of AP CS and USACO
AP CS includes two courses Principles (P) and A. A is the Java Computer Science course while P is general computing. The College Board administers a test worth college credit and tens of thousands of US high school students take it each year.
The curriculum for A covers a wide range of CS, like object-oriented programming, including nuances of the Java language. However, it doesn’t test software engineering ability well due to its nature as a multiple choice and hand-written code test. It is possible to ace the test without knowing how to go from a goal to code, testing to see if it works, and working through bugs.
USACO is the prestigious programming competition that is rapidly growing in popularity. Each student is given a series of problems to solve using code during the timed contests. So unlike AP CS A, it tests your ability to write code that works. Yet it isn’t a test of coding fundamentals either.
Even the lowest division of USACO, Bronze, is still very tough. It isn’t a straightforward request and more akin to a puzzle or riddle. Knowing to code is the prerequisite, but to actually succeed on the test, you need to train for problem solving skills. You must notice the patterns from past problems and realize the insights you need.
The Need for Something Else First
It isn’t that AP CS A and USACO are bad, it is just that they do not test software development fundamentals. We should encourage high school coders to take both of those tests. However, there needs to be a measuring stick earlier, specifically for independence with coding fundamentals.
For example, how do you know if that weekly coding class at strip mall prepared your son or daughter for the next step? How do you know if their coding fundamentals are strong or if they are ready for USACO Bronze?
My business, Breakout Mentors, has been working with kids learning to code for 13 years. Since we primarily do one-to-one mentoring, we observe the student as they code and adjust the difficulty. However, we also in some cases give fully independent homework for students to test their abilities.
The current landscape of public test problems isn’t great. There are plenty for adults and some very dated platforms for high schoolers, but nothing that targets this age group specifically. There needs to be something else.
Announcing Liftoff Coders League
We are launching our own platform to solve this problem. It is called Liftoff Coders League and consists of weekly personalized problems and monthly live contests.
Liftoff Coders League will enable consistent growth with the coding fundamentals. In order for it to be consistent, it is necessary to make it fun. The thrilling live contests will bring the community together and include motivating leaderboards. Learning progress will be celebrated, including with stickers for the student’s water bottle or laptop.
It is targeted for middle school students who already have some experience in Python. However, the league is open to late elementary and early high school students as well. It will support a wide range of abilities, taking students all the way to being ready to study for USACO Bronze. In fact, if you are thinking about participating in USACO one day, think of Liftoff Coders League as the prerequisite to know your fundamentals are ready. Only then should you dive into the longer word puzzles and specific problem solving skills needed for the more difficult USACO Bronze problems.
We took our 13 years of experience at Breakout Mentors working 1-on-1 with kids learning to code and designed the perfect system for all. A huge aspect isn’t just the challenges, but also the community of new friends on a similar journey.
Launching June 2024
We are launching at the low price of $39 per month and also have a massive 35% discount when paying annually. Early sign ups will receive access to exclusive “Founding Member” stickers. Plus, the first 20 will also receive a free USACO Bronze video course. Don’t miss out, sign up now!
Go here to join Liftoff Coders League. It will ask for your payment details, but you won’t be charged until the league officially starts.
If you have any questions about if Liftoff Coders League is a good fit for your son or daughter, please contact us by phone or email.
We are looking forward to building this exciting community together!