CS Primer Show #23: MathAcademy and the efficient pursuit of mastery
Math Academy was originally built to support a school program. How come it also works so well for adults? What makes someone a student a good fit for Math Academy -- what's required to succeed? The idea of calibrating to student interest/motivation profiles in the future, just like we currently calibrate to student knowledge profiles.
Want to get notified about new posts? Join the mailing list and follow on X/Twitter.
Link to Podcast
The transcript below is provided with the following caveats:
- There may be occasional typos and light rephrasings. Typos can be introduced by process of converting audio to a raw word-for-word transcript, and light rephrasings can be introduced by the process of smoothing out natural speech patterns to be more readable via text.
- The transcript has been filtered to include my responses only. I do not wish to infringe on another speaker's content or quote them with the possibility of occasional typos and light rephrasings.
Justin: Yeah, well, let me start by saying I’m also very surprised by all the adult learners solving math problems consistently every day. They’re so into it, posting their progress on Twitter, encouraging each other. This has been kind of a surprise because we started out as a school program, building software to support it, and it was just kids on the system. We never really thought it would take off with adults, too.
But I guess lots of people want to learn math for lots of reasons, and there are plenty of adults in that boat. In terms of what makes it work well for adults, a couple of things come to mind. The biggest factor is that adults are very time-constrained. Efficiency, particularly learning efficiency, is key.
Everybody likes learning efficiency—it’s good for everyone—but kids generally have a lot more time to waste than adults. When you’re an adult trying to learn an academic subject, not only are you time-poor, but you’ve probably spent your whole day doing cognitively taxing things. You’re not going to commit to something unless it’s efficient enough and gives you enough bang for your buck to make progress.
This has been a struggle for many adult learners in the past, especially with math. You see this in Reddit threads all the time, where people say things like, “I want to learn machine learning, but I don’t know the math behind it.”
Justin: Right. You ask on one of those threads, and they tell you, well, you’ve got to know this, that, and the other thing. You end up with a stack of 15 textbooks, and probably only seven of them are actually necessary. Some people even say you need group theory and abstract algebra for machine learning—don’t listen to that. But you’ll still end up with this stack of textbooks.
Then you start working through them, and after a month, you’re 50 pages into the first one, which is 400 pages long. Then you do the math and realize it’s going to take you eight months to finish just the first textbook. Multiply that by seven, and suddenly, you’re thinking about the next decade of your life. At that point, you kind of give up.
Justin: The diagnostic basically places your knowledge profile on the graph. You take a diagnostic for a particular course. It’s not like we assess you over the entirety of math. We kind of expect that you generally know where you are—you’re not confused about whether you’re ready to study multivariable calculus or need to learn how fractions work.
At least for now, we expect you to enroll in the appropriate course. But we do check for prerequisite knowledge you might be missing. For example, if you sign up for a calculus course, we’ll look back to see if you know trigonometry and algebra. If there are gaps, we’ll detect them, and that’s fine—we’ll add those to your learning plan.
It’s about tracing your knowledge profile in a section of this big graph of mathematics. Currently, it starts at fourth grade, and the highest levels we have right now are methods of proof, calculus-based probability and statistics, multivariable calculus, and a math-for-machine-learning course that includes a lot of university-level math.
We’re continually expanding the curriculum. It’s going to cover all of an undergrad math major and add actual machine learning courses. We’re currently developing a machine learning course that teaches algorithms, including backpropagation, with students working problems by hand. We’ll also have a second course that gets into transformers and similar topics. We’re continually expanding this graph.
Justin: The trade-off is that the people for whom it’s not a good fit are those who want a low-effort, mentally easy, just-for-fun experience. Imagine someone who goes on YouTube and says, “I want to learn some interesting math,” but what they really mean is they want to watch someone talk about interesting math with pretty shapes on the screen. They don’t want to work out problems or put in effort; they just want their brain tickled a little. That’s not who we are.
It’s also not for people who want to solve one or two math problems a day during their train ride to work or something. The way we phrase it is that we focus on mathematical talent development. We train our students using techniques similar to how a coach would train an aspiring professional athlete or musician. It’s serious training.
It’s not for someone who just wants to appreciate math or dabble in it. It’s not a math appreciation software. It’s like an actual sweaty workout. You need to come to it with some reason or motivation.
Justin: I don’t know that it has to be intrinsic because plenty of people want to learn math in service of other goals. For instance, with machine learning, people might have intrinsic motivation for coding or find AI in computer science cool, but then realize it involves a lot of math they didn’t like in school. They might think, “Oh, fine, I guess I have to do this math.”
Sometimes that softens, and they think, “This actually isn’t so bad. Maybe I like it a little.” Or they find some beauty in it. But it doesn’t require intrinsic motivation. It just requires consistency and commitment, like working out at a gym.
You don’t have to be intrinsically motivated to work out. You might set up some extrinsic structure, like wanting a beach body for summer. There are different reasons that can get you into the gym. As long as you’re there, doing an effective workout consistently, positive changes will happen.
Justin: Currently, we show a knowledge graph of the course. You can see, maybe there are 300 topics in the course, and as you complete topics, they fill in. But that’s still just a small subset of our entire graph.
One thing we want to improve in the future is putting more leverage behind our knowledge graph visualization. Not just showing the course, but showing where you are in all of mathematics. We want to show a time lapse: “Here’s where you were a month ago, and here’s all the tasks you’ve completed.” Your knowledge graph would fill in as you progress.
We’d also show how every task you do hits specific topics in the graph and which topics receive implicit review from practicing those sub-skills. If you take too much time away from the system, we could show your knowledge decaying, peeling back, or fading.
We want to visualize this as a representation of a student’s mathematical brain—almost like an MRI of their math brain. We definitely want to lean more into this, including gamification, where you can level yourself up.
Justin: Exactly. It is like a fingerprint. That’s one of the reasons why typical classes struggle. In a typical school, you have 30 kids in the same class, and each has their own fingerprint of a knowledge profile. They’re all missing different pieces of prerequisite knowledge. Somehow, the teacher is supposed to deliver one lesson that magically calibrates to all these individual fingerprints. It just doesn’t work well.
That’s why this approach is so efficient—every decision is calibrated to that fingerprint.
Justin: That’s exactly it. Every moment a student spends on the system is intended to be working on something at just the right level to help them move as fast as possible. If it’s too easy, there’s no point. If it’s too hard, there’s no point. You want it right at the optimal level of difficulty.
That might mean they know the prerequisites for a topic and are ready for a new lesson, or it could be reviewing information or problems they’ve done before, but their memory has faded a bit. Whatever it is, we’re always trying to use the student’s time as effectively as possible.
Justin: The context comes, but it typically comes after the baseline mechanical skills have been laid. More context is also coming in the future that isn’t currently there. Let me elaborate.
For the mechanical skills, let’s take that calculus course as an example. We have a lot of problems and topics that involve using integration to measure volumes of things—like the volume of water with an integral, or other concrete meanings of integrals in many real-life scenarios. But it’s true that we don’t start with a real-life scenario when teaching integration.
We start with the most simplified mathematical idea of just the area under a curve and gradually expand from there. The reason is that we’ve been building the system to focus on raw learning efficiency—building on prerequisites. If you try to motivate a subject with a real-life scenario but the student isn’t ready to handle it yet because they lack prior knowledge, you risk overpromising.
For example, if you say, “By the end of today, you’ll do something amazing with this cool math you’re learning,” but they only learn a small piece of it and it’s not as amazing as promised, it can be disappointing. The amazing part does come, but only after more practice.
Additionally, the connection between something like measuring the volume of water and integration isn’t self-evident to students. It often requires a lot of explanation, especially if a student is struggling. This can lead to students zoning out. There are many opportunities for pedagogical mistakes if you’re not careful.
Expert teachers are good at this. They can introduce concepts in an engaging manner without spending too much time explaining connections. They don’t overpromise, but they use interesting examples to maintain interest while moving students along efficiently.
This is something we want to integrate more into our system in the future—like having a conversation with a really cool tutor who makes you excited about the subject. That might involve historical anecdotes or applications that interest you.
Justin: That is also on our radar. We’ve actually taught some classes on the Math Academy system. We had an elementary dashboard monitoring student progress and everything. We’ve got a couple of schools using the software, and it’s definitely going to be more of a thing in the future.
Ultimately, we want to become the ultimate math learning platform. A key ingredient for that is layering things on, starting with learning efficiency. We’ve optimized efficiency to a point where it feels close to the maximum—it’s hard to squeeze much more out of it.
Now, the focus is on keeping people excited about doing the work and staying consistent. Incentives, gamification mechanics, and contextual elements like historical anecdotes could be very motivating for many learners.
Of course, we wouldn’t want to clutter the experience or slow down the learning. It would require a very delicate balance. We definitely wouldn’t want to go to the point of being like a YouTube video, but there’s probably some dose of it that could work.
Justin: Here’s the thing: I don’t think it has to be one-size-fits-all. The dose of contextual information, historical anecdotes, or whatever else can be adapted. If you’re a human teacher, you either include it in the lesson or you don’t. Different learners have different motivational profiles, just like they have different knowledge profiles. You’re either matching or not matching to those profiles.
In an adaptive learning system that’s completely individualized, maybe for some students, the best motivational approach is to strip out all historical anecdotes because they don’t want that. They just want to know how to do the problems and move through them as fast as possible.
Justin: Motivational profile, maybe. Or motivation style—something like that.
Justin: I think that’s something we definitely see on our roadmap in the future as we build out more of the product. There are other things coming first, though. For instance, we’re working on a streak mechanism right now to help learners stay consistent with using the product. But I’m excited to try to get our arms around the problem of motivation profiles eventually.
Justin: The grand plan is to expand outward from math, but there’s a limit to how far outward we’ll go. I don’t see us doing history courses or English literature anytime soon. Our focus has been math for years.
Recently, we’ve started expanding into math-adjacent areas like computer science, including machine learning, and we’ve begun working on an intro to programming course. We’ll also be doing a lot of applied math, such as quantitative finance and general physics.
The areas where it gets a little fuzzier are the less inherently math-focused sciences, like biology. You can make biology very math-focused, and maybe we’ll have a quantitative biology course at some point for those interested. But would we ever have a course like cell biology? I don’t know.
Justin: That’s cool. I agree. I’d probably enjoy taking that kind of course—almost like a mathematical applications to biology course. Or maybe it could show up as applied projects tacked onto various math courses.
Justin: Are you talking about Execute Program?
Justin: I’m familiar with it, but I haven’t actually done it.
Justin: Oh, wait, I know what you’re talking about.
Justin: Oh, yeah. It kind of started after college. I was writing just as a hobby. I thought it’d be cool to write a math textbook. I was doing a bunch of tutoring, and once you leave college, you feel your memory of this stuff starting to decay—especially if you studied something like math and then stop using it as intensely.
It gave me pleasure to write a textbook as though it was the one I wished I’d had when I was first learning the material. My understanding of that has evolved a lot, though, so I wouldn’t consider my earliest textbooks amazing pedagogically. Hopefully, they’re better than some others out there, but I wouldn’t call them the best, and they pale in comparison to anything we have on Math Academy.
Justin: Honestly, no. I mean, the thing is, a textbook doesn’t adapt to the student. So much of learning efficiency comes from adapting every pedagogical decision to what the student is working on at that moment.
If we’re talking about breaking up a textbook into slides and presenting those at the right time, which is kind of what Math Academy does, then that sounds more interesting to me. But even if a textbook is easy to edit, I personally wouldn’t be motivated to work on it because I feel it’s far less efficient compared to Math Academy.
That said, if I were writing a textbook on something very niche, not covered by Math Academy—like for teaching a specific course or presenting content in my own way—then editability and ease of iteration would definitely factor in. Writing a textbook is very time-consuming, and provisional edits are important.
Justin: I hope you enjoy it. Once you get the wheels going, it’s just like working out—it might feel a little hard at first.
Justin: Exactly. It’s just like working out.
Justin: Bye.
Prompt
The following prompt was used to generate this transcript.
You are a grammar cleaner. All you do is clean grammar, remove single filler words such as “yeah” and “like” and “so”, remove any phrases that are repeated consecutively verbatim, and make short paragraphs separated by empty lines. Do not change any word choice, or leave any information out. Do not summarize or change phrasing. Please clean the attached text. It should be almost exactly verbatim. Keep all the original phrasing. Do not censor.
I manually ran this on each segment of a couple thousand characters of text from the original transcript.
Want to get notified about new posts? Join the mailing list and follow on X/Twitter.