Madan Thinks

Opinions, Context & Ideas from Me

Math Class goes Cloud

complex mathematic formula

As a math student (a little over a decade ago), my own experience was sitting thru theoretical lectures devoid of much practical application let alone any software usage. It was a firstly happy learning that our beloved Math Dept. @ Christ Univ. used sophisticated Math apps now & doubly joyful when I was invited to do a study on alternatives to the apps in use. I looked up at the SAAS options first for some answers….

Here is a summary of the evaluation I just finished. Thanks to Dr. Mayamma Joseph for asking, she’s someone I admired & learnt greatly from during my student days. I’m sure there are mass crowds who’d attest to this!

Note – apps used by the Dept. are removed below.

Problem Statement

The Dept. of Mathematics at Christ Univ. has a few mathematical software in operation (****, **** et al.). E.g. the 1st & 2nd year grad students don’t use the same software. This causes multiple issues in consistency of use, comprehension issues, feature difference etc.

License costs are borne by the varsity & a specific recent problem is the Dept. running short of **** licenses

Course mgmt. application (****) is not integrated with the mathematical software leading to high need for human intervention & process gaps. E.g. Lab work is manually written out by the students with screenshots of assignments – high occurrence of copying / replication; another example is teachers manually collect – grade – return assignments

Objective

The Dept. is looking at an inexpensive alternative to the array of software that support the curriculum of the courses in scope. This needs to be consistently deployable across these courses without a need for new hardware investment. This alternative should either support course mgmt. features or must integrate with currently used app

My assessment leads to SageMathCloud.

What is SageMath?

SageMath is a mathematical software envisioned to be a viable free open source alternative to licensed packages such as ****, ****, **** etc.

It consists of a collection of 100+ existing open source mathematical & computation software packages as well as new packages developed as part of the Sage project. SageMath software includes a core library bundling the functionality of these components into one consistent software. Additionally it provides a framework to develop new mathematical software & libraries of math algorithms.

SageMath can be used to study elementary & advanced, pure & applied mathematics. This includes basic algebra, calculus, elementary to very advanced number theory, cryptography, numerical computation, commutative algebra, group theory, graph theory, exact linear algebra et al. (a more detailed listing provided further in this summary).

Intro to SageMathCloud

SageMathCloud (SMC), is a highly available site thru which the Sage software packages can be accessed & put to use. It could also be looked at as a complete environment built around the Sage Math software package & includes utilities such as text editing, course mgmt. features, document mgmt. features, graphics etc. The SMC environment provides user interface that ties together these utilities & the underlying SageMath libraries / package.

SMC is hosted & managed by the SageMath project group

Both the locally installable version of SageMath & SMC are amiable for usage at educational institutions & research.

Feature Summary

Mathematical features supported

A detailed listing of Mathematical applications rendered using SMC is provide in the SageMath documentation library http://doc.sagemath.org/html/en/reference/index.html#mathematics

Text editor & worksheet capabilities

SMC supports Sage worksheets, LaTeX documents & Jupyter notebooks (formerly called iPython notebooks). There is also an obligatory inclusion of a comm& line interface called Terminal.

Course management

  • Creation & management of courses with aligned students. Creation of assignments.
  • Workflow to manage assignments: Create assignment > Share to required student community > Collect assignment > Grade assignment > Return assignment
  • Support minimal collaboration features between students via messaging
  • Functionality to manage documents albeit with basic version control capability but very good auto-save feature

Underlying technology

  • SageMath mainly is developed using Python programming language – supporting procedural, functional & object-oriented constructs.
  • Hosting – SMC is hosted in multiple datacenters without specific dependencies on particular cloud provider functionality. This includes on-site hosting at the Univ. of Washington (where the lead developer, evangelist & project lead, William Stein is based) as well as virtual machines running out of Google datacenters in the US. Core technical components include Cassandra database & custom backend services written in Node.js.

Graphics

Supports 2D & 3D Graphics

Why I think SageMathCloud is ‘Fit for Use’

Cross-platform It fits in with disparate platforms usage by the students, labs & the department

Inexpensive – the application is free to use, hence doesn’t require funding from the varsity

Liberal licensing construct – Perpetual free licensing. Logins can be either native or via Gmail

Vibrant online community – SageMath & SMC (code for the platform, algorithms, new feature discussions et al.) built out of contributions from an active community of academics, experts & volunteers. Our students getting to know & engaging with this community can only be beneficial

Hosting & benefits of Software as a Service (SAAS) – SMC doesn’t require the varsity to invest in hardware to host (like we do for ****). By my assessment, the application is scaling to meet the usage of a global user community & build on modern tech. Advantages of a cloud based SAAS obviously accumulate – the varsity’s IT team will not have to support version upgrades, render routine support et al.

Opportunity to learn niche technology skills – A large section of our grad Math students are also majoring in Computer Science & the good portion of the reminder want to pick up tech skills; deploying SMC would give our students a chance to analyze high quality code, learn from the tech architecture & design; even contribute to releases if they’re motivated / competent enough. E.g. – Python programming opportunity

Debugging – SMC is acknowledged to present a more capable debugging capability compared to its peers (Magma & Mathematica)

Collaboration – Provides for online features (e.g. – chat) for the student & lecturer community to collaborate within the environment of the product itself.

Teaching & visualization – SMC has capable visualization capabilities alongside the debugging capabilities that makes for an excellent teaching aid.

Course mgmt. – This feature though not enterprise grade is expansive enough to cover the Dept’s existing need with a fully automated process.

Unknowns & Potential Risks

Support – As with all software developed by a user community, there will be a scattering of bugs which our students might encounter & will have to log as tickets to the release managers at Sage. I observe a lack of good application support process to track these tickets to closure.

Segregation of data – Though I don’t expect the varsity to store any data of a private personal nature on SMC, I still don’t have full confidence in complete segregation of data. The UI is not intuitive enough to completely avoid errors (incorrect assignments etc…)

Process gaps – Leaves room for process gaps in course mgmt. The department will have to put in place, document & train various stakeholders on the process if SMC is deployed

Maturity – Students & lecturers must understand that SMC is a continuously developing software & changes might be frequent; requiring pre-emptive action to communicate within the varsity’s user community & provide required training

Ease of ease – By my observation, the user experience is not completely intuitive; though this feedback does not fully lie at SMCs door

Availability – SMC is designed to be high-availability, but there is a low probability of application not being available during critical periods (e.g. practical exams) & this is not within the varsity’s control.

Portability of programs in **** & **** – Any existing programs in the currently deployed software cannot be used in SMC & equivalent options within SMC have to be identified for usage.

Space constraints – As with any cloud based software, there are space constraints for specific accounts. Though I don’t expect anyone to breach this, the space requirements require closer evaluation by the Dept.

How do we best roll this out at the Dept.?

Out of scope for this blog 🙂

—————————————–

Further reading

www.sagemath.org

http://www.quora.com/What-is-the-difference-between-Sage-Math-GNU-Octave-MATLAB-matplotlib-&-Maple#

http://ask.sagemath.org/question/8583/reliability-of-sage-vs-commercial-software/

Note- A pro-bono voluntary activity undertaken

Image courtesy – iStock

Leave a comment

Information

This entry was posted on August 26, 2015 by in Technology.