Open source math software competes in the classroom

Register or Login to like
Freer than free, opener than open: The fight for the learning management systems

When I think about what makes SageMath different from other math software systems, it's one of the most fundamental things about it: SageMath was created by the very people who use it every day. These researchers, teachers, computer programmers, and engineers are the ones who fully understand computational problems because they live them. They understand the requirements and challenges of math research, what's involved in teaching courses, and how to manage an open source project that users are able contribute to and customize to meet their own unique needs.

Before SageMath, we were using clunky, expensive, and incomplete tools (like, Mathematica) that were closed source software, so we couldn't see how they worked and modify them to do what we really needed them to do. A little secret: Professors teaching math get bogged down scheduling computer lab time for students and helping them buy and install expensive software. So, I found a way around all this and started SageMath as an open source project at Harvard in 2004.

I wanted SageMath to be a powerful tool for my students. It wasn't initially intended to be something hundred of thousands of people used! But as I began building the project, and as more professors and students started contributing to it, I realized these were problems many others were striving to solve as well. SageMath was desperately needed, and that wide interest became the driving force behind getting it up and off the ground. Over 500 contributors have participated and help make SageMath a real solution avaliable to students and teachers around the world.

Sharing it with the world, however, proved challenging.

To solve the problem, I created SageMathCloud, a web-based and collaborative way for people to use SageMath and other open source software solutions, like: LaTeX, Jupyter Notebooks, command line terminals, the full scientific Python stack, Java, Julia, Fortran and more. I based it's structure on two decades of experience I have using math software in the classroom and online at Harvard, UC San Diego, and University of Washington. It's commercial grade, hosted on Google's cloud, and backs up all user files every few minutes, recording a complete history of file editing. Large classes use it extensively today. Plus, there's no installation required. Just open your web browser and start using SageMathCloud.

I was told there would never be an open source solution good enough to compete with Mathmatica, and good enough for mass adoption. But, we made something even better.

For the first time, teachers can easily use Python and R in their courses, which are industry standard and mainstream open source programming tools that have strong support from Google, Microsoft, and other industry leaders. Teachers can also collaborate in real time to manage their online courses with the same cutting edge software used by top mathematicians at the best universities in the world. For the first time, students can use a full suite of open source math-related software programs to learn, experiment, and collaborate with others to improve their skills and gain a better understanding of math.

User profile image.
William Stein is Professor of Mathematics at the University of Washington, CEO of SageMath, Inc. and has published 3 books on number theory. He is also the founder of the SageMath software project.


I'm curious how this compares to Octave (also open, matlab-like software)?

(1) SageMathCloud also includes Octave, along with a pre-configured Jupyter kernel, and support for using Octave from Sage worksheets. So SageMathCloud directly and strongly supports octave itself, and Sage has an Octave interface. (2) The numerical Python ecosystem (numpy, scipy, etc.) provides a completely different approach to numerical computing than Octave; instead of trying to be a drop in replacement for Matlab (and hence inheriting all the warts of Matlab), the scientific python ecosystem (which Sage packages), provides what many consider to be a far better approach. Instead of a cripled math-only language, one gets a very widely used general purpose programming language (Python), with extensive support for compiled code (Cython), JIT (numba), and a repository of over 75K packages (

In reply to by Sandra McCann

This is great! I shared the link to this article with a university professor and with a large number of secondary math teachers and staff development people. What a great project!

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.