Year
Question

About Math Trainer

Math Trainer is an easy-to-use AMC and AIME viewing interface.

All questions are loaded from the Art of Problem Solving wiki.

Version 3.0.0

Updates

Version 3.0.0
  • Greatly improved loading times.

Internal updates

  • Reconfigured the whole project to use Webpack.
Version 2.3.0
  • Allowed excluding the solutions in generated tests.

Also:

  • Improved the error handling for the test generator.

Internal updates

  • Calls to abstract methods now throw an Error object instead of a String.
Version 2.2.1
  • Fixed a couple bugs involving printing and test validation.
  • Improved error handling.
Version 2.2.0
  • Added print test feature to user interface.
  • Improved the formatting of the test printout.

Also:

  • Added title to app.
  • Got rid of individual question printing because it seemed unnecessary.

Internal updates

  • Generate.html now uses Vue.

Also:

  • Added abstract static TEST_NAME field to YTQClassificationSystem.
  • Cleaned up a couple unused props and components.
Version 2.1.0
  • Added ability to print out old tests and questions, but the feature is buried under generate.html.

Also:

  • Removed Refresh button.

Internal updates

  • Wrote Promise utility that excecutes at most N promises at a time.
Version 2.0.2
  • Revised app description.
  • Fixed clearing of Browse question when the About page is opened.
  • Made a fancier loader.
  • Enhanced the question selector.
Version 2.0.1
  • Fixed app not loading issue.

Internal updates

  • Got rid of Underscore.js dependency because it wasn't being used.
Version 2.0.0
  • Simplified the app down to just a question viewer.

Internal updates

  • Extensively organized and cleaned up all the code.
  • Moved code to GitHub.
Version 1.2.0
  • Added Settings page.

Also:

  • The Browse page alert only appears once now.
  • Added refresh button to Browse page.
  • Added wiki viewing and editing links to Browse page.
  • Fixed a number of bugs where questions were incorrectly loaded from the AoPS wiki.
  • Added an error notice when wiki loading fails.
  • Added option to delete all data.
  • The input fields for the Browse field will persist from session to session.
  • Added an error message that comes up when a wiki question doesn't load.
  • Added an error dialog for general errors.

Internal updates

  • Rewrote the ObjectManager API, separating parent and child object managers into two classes.
  • Separated the individual test logic from logic applying to every test with the {{ test }}-classes and {{ test }}-loader modules.
  • Renamed all QuestionID and Question class references in test class APIs so that they don't include the name of the test, for consistency. For example, amc-12-loader.Amc12Question has been changed to amc-12-loader.Question.

Also:

  • Wrote a Persist API to simplify app state persistence.
  • Added key erasing to Cache and Test Loader APIs.
  • Separated cache and app local variables with a branch functionality to Storage API.
Version 1.1.0
  • Added support for AMC 12.

Also:

  • The About page now shows version details for all previous versions.

Internal updates

  • Wrote a local storage API for easy getting and setting from local storage.
  • The cache now stores to local storage.

Also:

  • Made the versioning object and system conform to Semantic Versioning (semver.org) and made it better.
  • Removed the wiki loading test because the app itself seems stable enough to use it for testing.
Version 1.0.0
  • Added support for AMC 10.

Also:

  • Improved question selection validation.
  • Added a favicon.
  • Wrote a better About page with full credits.

Internal updates

  • Reworked the API to improve extensibility for new tests.
  • Changed lots of naming in the API to be more coherent.
Version 0.1.0
  • Created the app.

Internal updates

  • Created the app API.

Credits

Behind the scenes, Math Trainer uses the following tools:

  • Material Icons
  • Bootstrap 4
  • Require.js
  • jQuery
  • Vue

Favicon: Image from here (cropped).

Loader: made with loading.io.

This software is open source (MIT License).

Print a test

Year