How Charlotte Mason would Teach Coding

How Charlotte Mason would teach coding

I’m a big fan of Charlotte Mason… and I’m not alone.

Charlotte Mason, if you are unfamiliar, is the belle of the ball in the eyes of many homeschoolers. Known for her character-building, whole-person, story-based, hyphen-filled approach to educating children, she was the founder of one of the most influential homeschooling philosophies to date.

I consider neither Salt and Lightspeed nor my own personal homeschool to use pure Charlotte Mason methods, but her philosophy has inspired and is woven throughout both.

In this post, I’ll begin to break down how Charlotte Mason would teach coding.

Charlotte Mason and computers

Born over 130 years before the first personal computer, you might think Charlotte Mason wouldn’t have any thoughts about how to teach computer coding. Strictly speaking, you’d be right, and so I’m going to dub the rest of this post a very verbose educated guess.

The thing is, though, you’d also be wrong. Even though Charlotte Mason created a curriculum that wouldn’t have even dreamed of computers, what she really created was a complete educational philosophy that can be applied to any area of education.

This is the first in a series of posts that will break her philosophy down by looking at her school’s motto—“Education is an atmosphere, a discipline, and a life”—and applying it to coding. In this post, we’ll be tackling the first part: “Education is an atmosphere”.

Education is an atmosphere

“When we say that ‘education is an atmosphere,’ we do not mean that a child should be isolated in what may be called a ‘child-environment’ especially adapted and prepared… It stultifies a child to bring down his world to the child’s level.

-Charlotte Mason, Home Education vol. 6

Stultify. Verb. To “cause to lose enthusiasm and initiative, especially as a result of a tedious or restrictive routine.” -Oxford Languages dictionary.

I assumed you’d have to look it up because you weren’t born in 1800, so I saved you the trouble.

I often think of education as crafting an environment where there’s a clear problem to solve, together with the tools to solve it, be that time, space, or popsicle sticks. That’s not usually how the real world works though… and our kids know it. They might not know it consciously, but they do know it.

Our kids desire to learn

God created us with a hunger for that which we need. Just as our bodies crave food, and our spirits crave Christ, our minds crave tackling the types of problems we will face as adults. Messy problems. Spontaneous problems. Problems with many solutions. Problems with no solutions. Moral consequences. There is a time and a place for canned exercises, but we trivialize our children’s minds by so crafting their environment so that there is no room for creativity or failure. And if there’s no room for failure, there’s no room for success.

Sounds complicated, right? How do we feed our children with problems like this? The good news is we actually don’t have to. Our kids are surrounded by life, with all its mess, problems, spontaneity, and challenge. God has so crafted their environment, their atmosphere, to equip them for life. (Note: This does NOT mean that we are to take a hands-off approach in raising our children. As Proverbs 22:6 reminds us, we are to “train up a child in the way he should go.”)

Where does coding fit in?

Ok, so where does coding fit in? Well, where doesn’t it?

Charlotte Mason
  • Cleaning your room is just an algorithm. Optimizing that algorithm will lead to more efficient cleaning and a quicker reward.
  • Looking for your lost keys is an exercise in search techniques (very VERY common in programming problems). Do you search all of one room first (depth-first search) or skim over the most likely places in each room before going back to the next most likely and so on (breadth-first search)?
  • Going to the store involves negotiating many different desires (everyone likes different food), weighing that against a budget, and sprinkling some currency math on top.
  • Fighting over a toy involves working together on a team to problem-solve for net-gain.

I bet I could find an overlap between life and coding in almost every situation. That’s not because coding is some amazing unicorn of a field (love it as much as I do). It’s because coding is just one way to apply problem-solving, and life is, in one sense, one problem after another to solve.

How to be Intentional

So how do we nurture a home atmosphere Charlotte Mason would be proud of, that in turn nurtures our children’s ability to problem solve and work on their coding skills?

1. Put your Pinterest board away

You know, the one with all those fun STEM activities you never get around to doing as much as you want? Don’t worry, it’s just for a few days. If you don’t have a Pinterest board to ignore, I’ve got you covered! You can follow Salt and Lightspeed’s STEM activities for kids’ board, then ignore that.

Use this time to really get in the habit of paying attention to what your kids are already up to. Nudge them towards thinking critically about how efficiently they’re doing the dishes. Ask them to consider the outer spaceworthiness of their latest crazy Lego creation. Most importantly, then, listen.

You can use the money you saved by not buying toilet paper just because you need 30 of those cardboard circle things to do a STEM project, and get yourself a cup of coffee.

2. Bring coding projects into the real world

Although this part will look very different based on the child’s skill level, we can apply this philosophy to coding itself. Working in an actual job was very different from “make the object on the screen do so-and-so 40 times.” Problems weren’t clear-cut, and solutions were sometimes not possible. If they were, they often involved more than knowledge of how to code. Code is, after all, just a language for expressing a solution, not the solution itself.

Take a whole-systems approach to solving problems. In other words, keep the “How do we do this?” and add “What should we do?” Lucky for us, programming projects waiting to be done lie in wait behind every undone meal plan, chore chart, game scoreboard, or Christmas countdown clock.

Coding can help with so many daily tasks, giving your child something useful to contribute to the household that tests their mettle and brings them the joy of unguided work and feeling useful. Depending on their ability or age, they could make a simple counter with Scratch that increments the score so that you can have a scoreboard next time they play a board game or make you a simple meal planning app. This has two huge benefits.

First, I cannot emphasize enough the joy of creating something that is useful, and that people enjoy. They will feel firsthand the reward of coding something that makes others’ lives easier or more fun and seeing it in action.

Second, this will require them to design their own solution. In most problems, the curriculum has done the design work for the kids. When you present them with a problem they need to solve instead of a solution they need to implement, they gain so much more experience while exercising much more freedom and creativity. Do they need to make an online, interactive version or a desktop version? Should they use Scratch, Excel, Java, or HTML? What variables do they need? What methods? How should they display it?

They might fail, they might feel stuck, they might need to learn more first. However, with skill-appropriate projects, encouragement, and freedom to make mistakes you will be feeding their minds with the right food, and therefore igniting their love of learning.

Three resources to help get you started

Charlotte Mason’s philosophy is, at its core, that your home environment with all of its realness is what your child can thrive on. It does help to be able to know how to ask the right questions. To nudge in the right direction. Many resources, great in their own right, are meant to take your child’s attention away from the home and into a textbook, class, etc. Following the spirit of this post, these three resources are meant to help you in the process of optimizing your own atmosphere as an educational one.

  1. Conundrums. These are basically open-ended questions with no right answer. An educational innovator named Josh Dahn started using this type of question in his own school. A company called ClassDojo has since been making them into cute videos for your family to watch and discuss. My kids and I use them regularly in our school. They’re such a great way to learn how to discuss something open-ended, with no right answer, as a family. To disagree. To reason. To be wrong. To change. This free resource will teach you how to ask good questions. Once you get the knack for how to pose your own conundrums, the uses are limitless. Check it out (it’s free) here!
  2. Board games. As I write this, I’ve just finished playing a game called Cartographers with my 5 and 7-year-old. Earlier today they played a game called Unlock Kids with a friend. I’m actually going to count playing those two games as school for the day. Board games are such a fantastic way of allowing children freedom in problem-solving. They craft their own solutions, their own strategies, their own approach. They learn to optimize and be efficient. To win with humility and lose with grace. “Gameschooling,” actually, might be my favorite educational concept overall. Having a weekly game night would help to provide the arena for your children to flex their independence, something all humans crave. Seemingly a contradiction, you’ll also be bonding tighter as a family. I wrote a little bit more about the benefits of gameschooling in this post.
  3. Subscribe. Here at Salt & Lightspeed I talk about educational concepts, tips, and ideas to help you encourage an atmosphere of creativity and engagement among your little coders. Salt and Lightspeed’s resources are entirely screen-free, also, so if you’re nervous about screen time but want to teach coding this is a great place to get started. If you’d like some weekly encouragement and plenty of free resources, subscribe!

Conclusion

Unlike many ideas, this one doesn’t require going out and buying anything, or radically rethinking your school schedule. Just consider encouraging intentionality in your little one’s thoughts. Next time the kids are trying to clean their room, help them think through how to optimize the process. Next time you’re going to the store, have them organize your shopping list in a way that would get you in and out of the store the fastest. Maybe enlist them to help you solve a problem with a programmatic solution and let them go for it. The atmosphere you create in your own home is your greatest ally.