Skip to content

Goals and Priorities

Ahmed Elnaiem edited this page Feb 6, 2017 · 1 revision

Goal

Teach students math in a pedagogically sound way. The Socratic team prioritizes support and features based on how many students it will help based on statistics from the questions we get from students around the world. This isn't a perfect metric because it's limited to the students asking questions on our platform, and we want mathsteps to help any math student. So if you're working on helping students with Calculus, we would love to see mathsteps extended to provide that help and to work with you to bring that to life!

Current Coverage

Mathsteps currently covers: Simplifying expressions, with the following exceptions:

  • Negative exponents issue
  • Negative roots issue
  • Expanding an exponent over parens e.g. (x + 2)^2 issue
  • Fractional exponents issue
  • Expanding an exponent over fraction e.g. (2/3)^2 issue

Solving for a variable, with the following exceptions also in issues:

  • When x is in the denominator issue
  • A square root is involved issue
  • Absolute with a variable (mathsteps does not currently support multiple cases, which is a limit to implementing this) issue

Next steps

We are hoping to add support for:

  • Factoring of quadratics (initial version coming soon) issue
  • System of equations issue
  • Finding a derivative
  • Trigonometry
  • Multi-variates e.g. x^2*y^3
  • log/exponentials

Priorities

The most impactful enhancements as identified by Socratic from student questions are as follows:

  1. Fixing the exceptions to simplifying expressions and solving equations mentioned above
  2. Factoring support for quadratics
  3. Systems of equations
  4. Simplifying multi-variates
  5. Differentiation
  6. Integration
  7. Trigonometry

Although mathsteps has hundreds of tests, there are still many bugs to find and fix. We hate giving students the wrong result, and love it when people fix any of the edge-cases that may arise.

Architecture Projects

Errors

Tracking when a math error happens, for example division by 0.

Multiple cases

Necessary for absolute values. Need to be able to define a case for which a set of simplifications/solutions are valid.

Multiple equations

Necessary for solving a system of equations. Equations need to be able to be manipulated together (substitution, elimination etc.)

Keeping track of restrictions (e.g. for 2/x then x != 2)

This is more important in a world where we want to define a domain of a function.