Specialties

Educational Knowledge GraphsPhysics of LearningMath EducationMath ContentScientific R&D

Educational Knowledge Graphs


Since 2019, I've solved every problem that Math Academy has faced while constructing an educational knowledge graph for all of 4th grade through university-level mathematics and building a fully automated & personalized learning system around it:
  • Constructing and annotating the graph manually yet efficiently using command-line tools
  • Validating graph integrity and automatically correcting issues (or supplying relevant information if a human-expert decision is required)
  • Initializating student knowledge profiles via adaptive diagnostics (and minimizing the number of diagnostic questions needed)
  • Modeling student knowledge profiles via spaced repetition -- canonical spaced repetition operates on discrete independent flashcards, but I developed a novel mathematical framework that extends it to hierarchical bodies of knowledge where repetitions on advanced topics trickle down to simpler topics that are implicitly practiced
  • Caching student knowledge profiles to reduce compute time/resources and enable visualizations throughout the system UI, and continually recalibrating cached knowledge states
  • Automatically selecting personalized learning tasks that optimize learning efficiency -- students learn 4x as much content in the same amount of time, as compared to a traditional classroom
  • Triggering remedial interventions when repeated confusion is detected
  • Enabling flexible configuration settings to tailor the system's behavior to student goals -- for example, if you're taking a calculus course, do you want to be given material from lower grades that we think you don't know yet? If so, do you want to be given all of that material or only material that is foundational for calculus?
  • Predicting when a student will finish their course (via Monte Carlo simulation, and continually recailbrating estimates)
  • Validating system behavior -- single decisions in real time as well as sequences of decisions whose effects manifest over longer periods of time
  • Analyzing student performance to pinpoint specific pieces of content that need further refinement
  • Avoiding downtime during production graph revisions by cloning topics, revising the clones, and then instantaneously "knife-switching" the revisions back into the production graph -- this enables a tight feedback loop connecting user feedback and content revisions
  • Aligning incentives of adversarial students in a gamified learning environment by calibrating awards and penalties
  • Automatically generating human-interpretable justifications for all decisions made by the system -- what do my diagnostic results mean? Why did I get a particular learning task? Why did I get a penalty?
  • Creating an overall student learning efficiency score, along with various subscores, analogous to a credit score
  • Conceiving of and creating a successful prototype for our very first knowledge graph visualization (and constructing/managing the underlying data for later iterations of the knowledge graph visualization)


Physics of Learning


I conceptualized and developed all the novel models and algorithms that Math Academy uses to help students learn effectively and efficiently. Some of the most important ones are listed below.
  • Fractional Implicit Repetition (FIRe) is a mathematical framework that extends spaced repetition to hierarchical bodies of knowledge where repetitions on advanced topics trickle down to simpler topics that are implicitly practiced.
  • Fast Frontier Inference is a diagnostic question selection algorithm that allows us to quickly find a student's knowledge frontier and hence estimate their spaced repetition profile.
  • Repetition Compression is an algorithm that helps Math Academy's spaced repetition engine achieve maximum efficiency. It takes all the topics that have due repetitions and compresses them into a much smaller set of topics that implicitly covers all of those due repetitions.
  • Short & Long-term Anger Penalization (SLAP) is an algorithm for triggering XP penalties in response to guessing or general lack of effort. It calibrates penalties by modeling how frustrated a tutor sitting next to the student would become. It keeps adversarial students in line while ensuring that students who use the system properly and truly gave their best effort rarely (if ever) experience penalties.


Math Education


I worked hands-on with 300+ students over the course of a decade (2013-2023) and have seen just about every single success mode and failure mode when it comes to learning math in all sorts of settings:
  • Group and one-on-one tutoring at franchises, through agencies, and independently: homework help, test prep, and enrichment (primary school through college)
  • Public and private school classes: regular, honors/AP, and even radical acceleration (calculus in 8th grade & university math during high school)

Additionally, within a radically accelerated math program, I developed a quantitative computer science track that scaffolded high school students up to doing grad-level coursework (reproducing academic research papers in artificial intelligence). More info here.

At the same time, I've also had first-hand experience with general dysfunction surrounding education including failing students, cheating rings, unreasonable parents, grade inflation, "no-fail" policies, administrative bureaucracy, and teacher credentialing / professional development that is centered around political ideology rather than the science of learning.

While my years of teaching and tutoring were certainly memorable, I don't do it manually anymore. Instead, I'm working on Math Academy's adaptive, fully-automated online learning platform. Our goal is to do everything an expert tutor would do, but better, and at scale.

Math Content


As a hobby, I used to write about math, including several textbooks. Despite little to no search optimization, this content ranks in the top results for many common search queries, some of which are provided below:
I also wrote hundreds of Math Academy's first lessons, which are admittedly much better scaffolded than anything I've written independently. And although my day-to-day is now mostly engineering/analytics, I still do a final review on every single lesson that Math Academy releases to users. We currently have multiple thousands of fully-scaffolded lessons that we continually improve as we gather feedback and data from users.

Scientific Research and Development


I've been doing scientific R&D projects since 2012. I initially started with small-scale projects for high school science fairs, but gradually ramped up to large-scale projects spanning many years, such as the developing the AI system that powers Math Academy's fully automated and personalized online learning platform.

I've encountered a wide variety of domains:
  • educational knowledge graphs
  • physics of efficient learning
  • intelligent tutoring systems
  • topological data analysis
  • biologically plausible deep learning
  • computational/theoretical neuroscience
  • experimental mathematics (running simulations, finding patterns, proving results)
  • experimental particle physics (improving detectors)

In many different settings:
  • early-stage startup
  • small company
  • government-affiliated research lab
  • university research lab

Requiring a variety of modes of communication:
  • working in sync with a small, fast-moving team
  • pitching ideas and interpreting results to both technical and non-technical stakeholders
  • writing technical whitepapers and non-technical marketing material
  • presenting conference-style via slides & posters