In their first 13 or so years of school, students cover a standardized math curriculum. Last week, I covered how Khan Academy approaches that curriculum. Notably absent from that list are many topics in discrete mathematics. But what is discrete mathematics, anyway? I’ll answer that in two ways: with a definition, and with a curriculum.

## The Khan Academy Math Course System

Khan Academy’s math program is designed to help children and young adults learn and practice a particular set of math skills. These skills map to school curricula like the US Common Core, so that when students learn something on the site, it translates to success in the classroom. But Khan Academy can also help adults […]

Continue## Post-Mastery Practice Examples from Khan Academy

The process of learning math involves mastering thousands of small skills. Khan Academy has exercises that help you practice the first 1500 or so of these skills. But as I discussed last week, the Khan Academy mastery system only gets you to an initial level of mastery. The topic for this week: how to continue […]

Continue## Using Khan Academy for Post-Mastery Practice

Before learning discrete math, it’s useful to know how much other math you remember. Last week, I discussed how Khan Academy is uniquely useful for evaluating and improving your skills in math topics through Calculus. But eventually you might reach Mastery level in all Khan Academy math skills. Does that mean it’s time to move […]

Continue## How Useful is Khan Academy for Learning Math?

Math builds on itself, so trying to learn a math topic without first mastering its prerequisites is just asking for trouble. A good place to learn prerequisites is Khan Academy. Although it’s missing many advanced math topics, it covers the basics well. And the way it organizes practice problems ensures that you regularly get tested […]

Continue## How Important is Math for Competitive Programming?

Competitive programming practice sites often organize problems by topic area. For example, uHunt has categories for graphs, string processing, dynamic programming, and many others. uHunt Chapter 5 covers topics in mathematics. Since math is a separate field from computer science and algorithms (though it’s closely related), I’m considering this week how it relates to competitive […]

Continue## A Project for 2019

Petr Mitrichev, legendary competitive programmer and current Google employee, didn’t major in computer science. He got a degree from Moscow State University in mathematics. In a Topcoder Spotlight Session in 2008, he answered a few questions about how math relates to competitive programming practice:

Continue## Competitive Programming Frequently Asked Questions: 2018 In Review

For each of the past two years, I’ve been working on year-long projects and writing about them here. In 2017, the topic was designing and coding a time-tracking app. This year, my project was a competitive programming FAQ. Like most FAQs, it’s a work in progress, but it now contains a set of popular questions, […]

Continue## CPFAQ: How Did X Become a Top Competitive Programmer, Part 2

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page. Last month, I described how several successful competitive programmers approached their training. These stories are not […]

Continue## CPFAQ: How Do Coding Interviews Differ from Coding Contests?

I’m working on a project this year to build a competitive programming FAQ. This is one in a series of articles describing the research, writing, and tool creation process. To read the whole series, see my CPFAQ category page. It’s no secret that the popularity of competitive programming depends partly on the popularity of the […]

Continue