tool for manipulating algebraic expressions and equations
JavaScript HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
metrics integrated math AST and <StaticMath> Jan 27, 2016
src update hit testing to return index of the glyph inside numbers Sep 13, 2016
.babelrc switch from react-hot-loader to babel-preset-react-hmre Jan 31, 2016
.gitignore
.gitmodules add a build script and gh-pages as a submodule Feb 23, 2016
LICENSE Initial commit Jan 25, 2016
README.md add an example with all of the URL params Mar 19, 2016
api-server.js update alert message when we don't have a hint for a step by telling … Feb 26, 2016
editor.html
index.html added KA leaf icon and title for saving app to homescreen Feb 26, 2016
ka_leaf.png
notes.md
package.json Merge branch 'master' of https://github.com/khan/algebra-tool Sep 5, 2016
screenshot.png add README with a screenshot Feb 26, 2016
server.js
webpack.config.dev.js start work on SVG renderer Sep 5, 2016
webpack.prod.config.js add a build script and gh-pages as a submodule Feb 23, 2016

README.md

Algebra Tool

A tool for manipulating algebraic expressions and equations.

screenshot.png

Features

  • works with equations and expressions
  • basic operations: +, -, *, /
  • integers and fractions
  • adjust the amount help it gives the student
  • undo/redo
  • history with descriptions of actions
  • hint system (when running the server locally)

Future

  • powers and roots
  • absolute value
  • trigonometry
  • system of equations
  • vectors and matrices
  • differentiation and integration

Installation

  • npm install
  • npm start (requires node version 4+)
  • in another terminal node api-server.js
  • open http://localhost:3000 in a browser

Live Demo

khan.github.io/algebra-tool

Supported URL Params

  • start: URL encoded expression or equation, default: 2x + 5 = 10
  • end: URL encoded expression or equation, default: x = 5/2
  • eliminateZero: if an evaluate action results in a zero, we will automatically remove it. TODO: handle division by zero
  • eliminateDivByOne: if a cancel operation results in division by one, we will automatically remove it.
  • autoeval: compute the result of an evaluate action instead of asking the user to input the result.
  • hints: enables hint system (only works when running locally)

e.g. localhost:3000/?start=x-1%3D5&end=x%3D6&eliminateZero&eliminateDivByOne&autoeval&hints

Contributing

Please report bugs and feature requests to https://github.com/khan/algebra-tool/issues.