Math for Computer Science: Breaking down barriers to early computer science education


Eric Bennett, M.Ed., directs
Future Set Tech Camp, where creativity meets technology in project-based STEM summer camps, Saturday workshops, and after-school programs. He joins us on the blog to explain why he created a free online Math for Computer Science course for kids.

The idea that elementary-aged children will benefit from a course on a buzzy programming language is certainly appealing to well-intentioned parents: understanding the world around us increasingly means understanding technology; jobs in software engineering and information technology are both high-paying and in-demand; many children are naturally curious about technology. The problem with this idea is that writing even the most basic computer program requires an understanding of math concepts beyond the scope of a typical elementary curriculum. If students lack this math knowledge, computer science instruction will not have the intended benefit: students might be able to copy an instructor’s code but will not understand how it works or be able to produce code of their own.

Since math is used so extensively in computer science, is it possible that students will learn it through the process of writing a computer program or developing a video game? While the notion of learning math through games or in the context of a fun project is seductive, the reality is that mathematics is best learned through structured practice. Procedural fluency, as it is termed by the National Council of Teachers of Mathematics (NCTM), is a critical component to teaching mathematics, and fluency is only developed through repetition. Creative applications such as coding or game development will certainly enhance a child’s understanding but cannot replace more rigorous instruction.


For these reasons, mathematics has often been used as a prerequisite for computer science courses: students are allowed to enroll in a computer science course only after completing a particular mathematics course. While this approach ensures that students are prepared to reap the benefits of a computer science course, it also creates a barrier to entry. Thus, whether students simply lack math knowledge or it is enforced as a prerequisite, the benefits of courses in computer programming and video game development are limited for many interested students. Two solutions to this problem are clear: the first would involve selecting computer science curriculum that does not require this math knowledge; the second would be to deliver targeted mathematics instruction to interested students.

Front-end web design involves HTML and CSS, both of which are markup languages rather than programming languages. Just as a word processor can be instructed to adjust font sizes, spacing, and alignment, markup languages can be used to add structure to the words on a web page. While numbers can be used to specify sizes, dimensions, and positions within these markup languages, they cannot be expressed as variables, expressions, or equations. Thus, HTML and CSS are an excellent introduction to computer science for elementary-aged students. However, because most of these students are more interested in creating a fun game than an informative website, this solution may not be ideal.

The math concepts involved in computer programming and video game development are typically taught to older students, so this content should be presented to elementary students in a different way. Visual models and manipulatives are often used to assist struggling students and are promoted by the NCTM for their effectiveness in teaching conceptual understanding. These techniques, then, should serve elementary students well in tackling more advanced math concepts. Additionally, in computer programming, calculations are made by the computer program rather than the computer programmer. For the purposes of computer science readiness, then, tedious fraction and decimal arithmetic can be pushed aside in favor of integer operations and more abstract concepts like variables and variable expressions. For an example of a curriculum constructed according to these principles, check out Future Set Tech Camp’s Math for Computer Science, a free online course.

Rather than using mathematics as a barrier to entry, closing the door to many interested students, we can use computer science to motivate these students to learn specific, carefully presented math concepts. With so many children naturally drawn to technology and our job market’s demand for computer science skills stronger than ever, there are clear benefits in delivering computer science education to elementary-aged students. With the right mathematics and computer science curriculum, these benefits can be fully realized.

Eric Bennett

Math and happiness

Lacie Taylor is founder and owner of Math For Keeps, a math ed business in Austin, Texas. She teaches her students how to practice math (much like you’d practice piano or basketball). With this approach, as she explains in the guest post below, her students develop a fluency in math as a language that changes the whole game for them.

Learn more about the Math For Keeps practice-to-mastery method here.

One of the magical things about one-on-one teaching is that it’s easy to keep a student in what educational theorists call their Zone of Proximal Development. I call it your Sweet Spot! If you’re bored, optimal learning is not happening. On the other hand, if you’re stretched so far that you’re freaking out, shutting down, with tears and much stress, optimal learning is also not happening. Here’s the fun, happy news: when you’re feeling your best while learning something, when you’re stretched enough that you’re engaged and inspired but not so much that you’re giving up, it FEELS good, AND that’s when optimal learning is happening. How lucky is that?

So how do we keep a student in that sweet spot? Let’s use one of the most famous subjects for knocking students out of their happy learning place—math—for outlining how.

First, a more formal definition of the Zone of Proximal Development: it is the gap between what a student can do independently (what they have mastered) and what they cannot yet do independently. Skills that are in the gap might have been introduced, and perhaps the student can do them with assistance, but they don’t yet have them mastered. Another way to put it: You’ve got your Actual Development, and your Potential Development, and your Zone of Proximal Development is where skills live when they’re in transition from one to the other.

So this space of learning—after you’ve been shown something, but before you’ve got it in the bag—that’s a fun happy space! The brain loves to be in this space, and loves to see skills move through this space into mastery. So why does learning sometimes stop feeling so fun? One culprit is our expectation that students work on things outside this zone. We’re expecting them to work on things they either already have in the bag (boring) or things that are unfair to expect them to do on their own just yet (defeating). The antidote, then, the guidelines for keeping students in their sweet spot, are pretty simple:

1. Don’t teach past what they’re ready for.
2. Don’t give busy work.
(TO NOTE: Do not get mad at your child’s classroom teacher if they aren’t doing this for your child. Doing this in a classroom of 25+ kids, all at different levels, when the paradigm is set up for its opposite, is a formidable challenge. But it’s one that alternative education is up to, and that’s one reason we’re all here on this blog.)

Number One Guideline: Don’t teach past what they’re ready for.

 If you as a student have truly been set up for success, each new level of math should feel completely do-able and accessible. The fact that it doesn’t, for most math students, sooner or later, simply means that the last level didn’t get mastered. At every new level of math, there is a new layer of skills that you’ll be figuring out. You won’t be able to do them independently; you’ll need help. The previous layers will have felt like that too at some point, but by now, if they have been practiced effectively all the way to mastery, then they will feel intuitive. You will be DONE with those skills. You won’t have to figure them out anymore. They are there to support the new skills you’re being expected to learn. When math starts feeling impossible, as it does for so many of us, it’s because we’re still getting that last layer down. We’re not ready for the new layer yet. Don’t give it to us before we’re ready, or our brains will reject it. We will hate math, feel discouraged by it, think we can’t do it, and start asking why the heck we have to learn it. Vicious downward spiral. Yuk.

Number Two Guideline: Don’t give busy work.

This is a tricky one because it is true that the more practice you have at a given type of problem, the better you become at it. The more automatic it feels, the more your brain energy gets freed up for the next level of skills. But it is also true that practice can quickly become tedious and mind-numbing once you’ve made it past that first-problem moment. In a perfect world, the student will have perfectly prescribed practices that are just right for their level. Your brain loves to witness progress. Nailing something that just recently seemed difficult is rarely boring. In fact, the most common student response to this scenario is “these are fun!”

Alt Ed for Curing Math Woes

In public education, currently, it seems students have two options: they learn at the school’s pace, or they end up having a less than happy, thriving experience in math. Sadly, most fall into the latter camp, because the school’s pace really doesn’t work for that many students (at least not without a different approach for practicing skills to mastery).

Students learn at different paces. If practice methods were introduced earlier, we could probably equalize better, but as it is, the further along you get in age, the more likely you will be in a class full of 15+ other kids all at dramatically different levels.

In the work I do, if I get a student early enough, I can make sure they’re ready for each class as it happens. The more likely scenario, however, is that parents have no idea just how behind their students are until after the student is multiple grade levels behind. The pain point gets loud enough long after the “ideal” time to fix it.

This doesn’t mean it’s not fixable. For many students, remediation can still happen in time for them to get on grade level. Then there are students who, even though entirely capable of learning math, at their own pace, will not catch up with the school’s pace. In this scenario, for students in public school, it is so easy for everyone involved to feel defeated. Parents, students, teachers alike are all operating under the assumption that because the student is not learning math at the school’s whirlwind pace, which has been pushing them along before they are ready for years, the student is condemned to struggle and to be perpetually behind and to probably not really learn math at all. And this is all with students (those using my practice method anyway) who are absolutely learning math.

What if “behind” didn’t even have to be a notion? Already, some students don’t go as far in math as others, and that’s fine, but what if those who didn’t go as far still learned math, and still loved it? Of course, this is totally possible in public education, with a bit of overhauling. Meanwhile, let’s explore it via all the amazing alternative education options in Austin.


Happy is most important! My whole method was developed on the premise that most of us (both “math-minded” and not) will end up frustrated by math trying to learn it with the minimal practice that is offered in the classroom. And not just the kind of healthy frustration that comes as a natural part of learning, but a very defeating kind that makes us feel inept. This is not fair. EVERYONE deserves to have a rewarding experience learning math. I aim with my practice method to give that to my students, regardless of what they’re getting in the classroom. So while it may feel discouraging—for those of you for whom your brain’s timeline is different than your school’s timeline—-I hope that overall the message I am sending is encouraging. The people I work with are fantastic students. They work hard, they’re enthusiastic, they show up ready to learn, they will get this stuff, on the timeline that is perfect for their brains. My job, with the help of parents—we all work as a team—is to make sure that when this timeline is different from the school’s, as it sometimes is, they don’t feel defeated, that if their enthusiasm for learning takes a hit, they know the reason and bounce back.

Lacie Taylor