Skip to main content

Mathdeck - a program suite for managing the computations involved in writing displaying, and grading mathematical based homework problems.

Project description

Mathdeck is a program suite for managing the computations involved in writing, displaying, and grading mathematical based homework problems. It is written to abstract away computations so that other responsibilities such as managing users and grades can be left to more apt systems such as online course management systems.


  • A system for writing homework problems.

  • A system for displaying problem files.

  • A system for measuring how close a proposed solution is to a predefined solution and offering suggestions for improvement to lead a student in the right direction.


  • Clear API

  • Clear documentation.

  • Comprehensive test suite.

  • Creating problems should be as easy as possible for people who are mathematically inclined and would be able to pick up the basics of python in a couple days.

  • Python 2.7 and 3+ support


Documentation source files are found in the docs/ folder. Compiled html pages are hosted on Read the Docs here:


  • Python 2.7+

  • Sympy 0.7.5+ (for writing and checking problems)

  • Jinja2 2.7.3+ (for displaying problems)

For developers

It’s recommended you first use the python package “virtualenv” to create a separate virtual environment before installing. To install mathcheck for development purposes run python develop in the command line in the root of the project folder (the folder with To run the tests run python -m unnittest discover (requires python 2.7+) in the root folder.

About the name

Mathdeck is short for math display and check, the program’s two main functions.


Mathdeck is licensed under the BSD 3-Clause license. See LICENSE file for more details.

Project details

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page