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 review the fundamental skills necessary to learn more advanced math. The idea is to fill in “swiss cheese gaps” in knowledge that often accumulate when learning math in school. These gaps can slow down further learning, since math success in later courses depends on knowing the skills taught in previous courses.
This week, I’ll go over the topics available on Khan Academy. Next week, I’ll look at how they relate to discrete math topics.
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 using Khan Academy to increase your skill mastery after you have officially “mastered” the skill.
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 on? Not quite.
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 on the concepts you need the most practice with.
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 programming preparation.
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: