Reimagining STEM Education: Advancing Equity Through Digital Access and Freedom
We cannot truly reimagine STEM education while essential learning tools are locked behind monthly subscriptions. Today's pay-to-play software economy creates a quiet but devastating divide between students who have digital access and those who are left behind. Educational equity, digital access and digital freedom belong together. No child's education should depend on a recurring payment, on data they were never meant to hand over, or on permission to keep using what they were already given. If we want a more equitable society, we must build a system where the keys to the future belong to every child, not just those who can afford the recurring fee.
A scientific calculator that grows with you into a programming system. It is first a scientific calculator, and both the question and the answer stay on screen. As you grow more confident, the same system and its language, Srivus, will teach you to program, and you will never have to start over on a different tool.
Stand-alone and offline. It never needs the internet.
Free, complete, and it does not expire. Windows, macOS and Linux.
Why I built this
My reason for building this system is twofold.
I have always wanted to build a solid computational system for students, one that bridges the typical hand-held scientific calculators and the full-fledged computational and programming systems like Matlab, Mathematica, R, Java and Python.
The second reason is equally important, but it hits deeper in the heart. During my time as a Math teacher at a high-need charter school in Redwood City, California, a few of my students confided in me, early in the semester, that they had no internet access at home. Even though they had their school-issued Chromebooks, they could not access popular web-based learning apps while at home. This disheartening revelation weighed heavily on me. I wanted to build a system like this one for them, but I was too busy. Finally, I put everything together in the Summer of 2026 and built a stand-alone and offline desktop application, which I hope will be useful to students and teachers alike.
That is why this is a desktop application and not a website. Everything is on your own machine: the whole language, the manual, and the full reference. There is no account to create and nothing to sign in to, and once it is installed it never needs the internet again. The goal is simply to provide teachers and students with a capable educational tool while keeping access straightforward, private, and practical. I call this principle YDNB: "Your Data, Not My Business": a zen-like approach to privacy in which the system quietly stays out of the way, allowing learning to move productively and effortlessly like the flow of a clear stream, without unnecessary collection, surveillance, or intrusion.
This system is dedicated to all students, especially my former students.
What this system is
Both the question and the answer stay on screen. You can save your work.
A typical hand-held calculator forgets. A good scientific calculator remembers only the previous answer. Here the whole conversation stays where you can see it, so you can look back over your work one step at a time the way you would in an exercise book, change one number, and run it again. Best of all, you can save your work on your computer and load it up for review at a later time!
Calc
The standard calculator and your home base. Both the question and the answer stay on screen, whole numbers stay exact however large, fractions stay fractions, steps() shows the working, and quantities carry their units.
Accessibility
A map of the whole program, a line that always shows where your keyboard is, and every shortcut. Ctrl+G reaches anything in about six keys, text runs from 90% to 200%, and Assist Mode makes the controls larger and easier to see.
Notes
A script editor with a library of saved notebooks, for programs longer than a line or two. Write multi-line programs, run them cell by cell, and keep a folder tree of your work.
Graphs
Plot curves, add relations and inequalities, and drag sliders that change the curve as you watch. Trace, Intersect and a table of values read the curves on screen, and a hole in a curve is marked where it is.
2D Plots
Polar and parametric curves, data points with error bars, functions on log axes, density and contour maps, vector and slope fields, and phase portraits. One row is one plot, each with its own color and style.
3D Plots
Surfaces, parametric surfaces, solids of revolution, space curves, implicit surfaces, orbitals, vector fields and stream tubes, and data points, all in a box you can turn.
Matrices
The determinant and the inverse of a square matrix, up to 8 by 8, and the solution of A x = b, in a grid whose cells take any expression, complex numbers included.
Stats
Linear regression and summary statistics from data you type or load from a file, with the histogram, boxplot and scatterplot underneath.
Distributions
The normal, t, chi-squared and F curves, with a critical-value line you can drag and the tail areas it cuts off.
WMW Test
The Wilcoxon-Mann-Whitney rank-sum test on two samples, with exact and normal-approximation p-values and full handling of tied ranks.
Images
Look at a picture held in a variable and work on it: brightness and contrast through the whole range, filters, edges, and a histogram of its pixels.
Chem
The periodic table, fifteen ways: pick a property and the whole table recolors, click any element for everything known about it, and plot a trend down a group or across a period.
Functions
A reference of every built-in function: one card per function, with a usage line for every way it can be called, worked examples, and, for every mathematical function, the domain it is defined on.
Manual
A manual written as a learning path, from the calculator to programming, with every worked example colored the way the editor colors your own code.
Data
SI units and prefixes, the Greek alphabet, conversion factors, and curated constants from physics to the planets. Click any value and it copies the expression that produces that number.
About
Why this program was written and who it is for, how to reach the person who wrote it, your license, and what you are running, in a block you can copy into a message.
Across every tab
The system looks after your work: one search box for six places, autosave, one step back, files you own, and the color themes, four of them for color vision differences.
For every student in the room
Accessibility as a Design Centerpiece: It is not an afterthought.
A great deal of care, thought, and scientific discipline has gone into making this system welcoming and accessible to all students, especially those with learning differences or color-vision deficiencies. Accessibility should not be an afterthought or an accommodation added at the end; it should be part of the design from the very beginning, so that every student has a fair opportunity to explore, experiment, and understand.
I often think about how different my own early experiences with programming might have been if my first Integrated Development Environment had included an Assist Mode: something that could gently guide me, make difficult concepts more visible, and help me learn without taking away the challenge of discovering things for myself. I hope this system can provide that kind of support for today's learners: not lowering the expectations, but opening more pathways for students to reach them.
The second tab helps you find your way around
The Accessibility tab sits immediately beside Calc, so that a student who cannot find their way around does not first have to find their way to it. It is in the free edition as well, since keyboard access should never be something a student pays for. Four things are on it.
A map of the whole program. It is a tree of every tab, every section of every tab, every button, and the variables and cells you have made yourself. One Tab press takes you into it, and the arrow keys move through it: Down and Up to move, Right to open a branch, Left to close one, and Enter to go to the item you are on. In this way, hundreds of places are reached through a single Tab stop.
A line that always shows where your keyboard is, written out in full, e.g., Calc › Calculator › square root. If you press Tab once too often, read that line and press Shift+Tab once to come back. You never have to start over.
Every keyboard shortcut, including which tab each Ctrl+number reaches. The list is generated from the tabs themselves, so it is always up to date.
First steps without a mouse. Five keyboard gestures are presented one at a time, and each is ticked off when the student presses it anywhere in the program. The last of the five is Shift+Tab, the gesture that undoes going too far.
Anywhere in the program, in about six keys
Press Ctrl+G from any tab, type a few letters of what you want (a button, a tab, or one of your own variables), and press Enter. The keyboard focus moves to that item, ready to use. Measured across the whole program, nothing is more than fourteen keys away, and most things are five or six. The arrow keys move through the matches and stop at the ends, and Esc closes the box and returns you to where you were, so opening it never costs you your place.
The keyboard focus travels with you. However you arrive at a tab (by a number shortcut, by Ctrl+Page Up or Page Down, from a search result, from the Help link on an error message, or by clicking the tab strip), the keyboard focus is placed inside that tab, ready to carry on. If you look at another tab and come back, you are returned to the exact box you were typing in.
A typeface chosen for readers
Atkinson Hyperlegible was thoughtfully designed by the Braille Institute to improve readability, especially for readers with low vision. It is built directly into the system so that every student sees the same clear, consistent typography regardless of their device. This page is set in it too, helping students focus their attention on the big ideas.
Text from 90% to 200%
If the text feels a little too small to read comfortably, simply press A+ a few times. Each press scales the entire system together, keeping headings proportionally larger than the body text so that everything remains clear, balanced, and easy to follow.
You can always see where you are
A clear, colored outline always shows which control has keyboard focus, so students never have to guess where they are. This support does not depend on knowing about Assist Mode, it is built into every interaction and remains visible across all fifteen themes. A student navigating entirely by keyboard should have the same confidence and sense of orientation as anyone else.
Assist Mode
With a single switch, the system becomes easier to see, understand, and navigate: buttons, pickers, and checkboxes become larger with more space around them; a bold outline clearly highlights whatever you point to; and a brief explanation appears to describe what each control does. The same information is also communicated to screen readers, so a student hears a meaningful name such as "power" rather than being left to interpret an unfamiliar symbol.
A reading aid for long numbers
For long whole numbers, a subtle grouping line is added beneath the digits to make the value easier to read at a glance. For example, 6 402 373 705 728 000 can be visually understood without changing the actual number. When copied, the value remains the plain sequence of digits, preserving its accuracy. The grouping uses thin spaces rather than commas because, in this language, 1,234 represents two separate values rather than a single large number.
Errors that teach
When something goes wrong, the system responds with a clear message in [square brackets], accompanied by a Help link that takes you directly to the relevant section of the manual. A mistake should not feel like a dead end or a failure. It should be an opportunity to understand what happened, learn from it, and move forward with greater confidence.
Color is never asked to work alone
Color is never expected to carry meaning by itself. A status is communicated through both color and a clear check or cross symbol, while graph curves are distinguished by dash patterns as well as hue. This thoughtful redundancy helps ensure that the meaning remains clear for students with color-vision differences and even when the work is printed in black and white. There are fifteen color schemes, four of them built for color-vision differences.
Everything is reachable by keyboard
Keyboard navigation is designed to be predictable and efficient. Ctrl + a digit takes you directly to a tab, and because there are sixteen tabs and only ten digits, Ctrl + Page Up and Ctrl + Page Down step along the whole row and wrap round at the ends, so every tab is reachable from every other one. If the row is too wide for the window, press anywhere on it and drag sideways; a plain click still selects the tab you clicked. Within the terminal, every cell can be reached using the arrow keys.
Tab takes you out of a box rather than typing a character into it, out of a cell, out of a graph expression row, out of the data boxes on the Stats tabs, and nothing you have typed is disturbed on the way. The one deliberate exception is the Notes script editor, where Tab indents your program because that is what you want there; Ctrl + Tab leaves any box at all.
We have also set a concrete accessibility goal: no tab should require more than 80 Tab-key presses to move through completely. That limit is measured and tested as in a science experiment, and the build fails if a tab exceeds it.
Undo, for the moment it matters
Restore last change provides a simple way to recover a definition that was accidentally overwritten or cleared, and if you attempt to close the window while work is only partly entered, the system pauses to ask before closing. These safeguards are intentional: they minimize unnecessary frustration and protect students from losing work. The goal is for productive struggle to occur where it belongs, in understanding the mathematics and the algorithms and developing new ideas, not in trying to navigate or recover from the system itself.
Assist Mode, seen rather than described
Here is the system with Assist Mode switched on. Nothing is hidden, removed, or rearranged, the structure and functionality remain exactly the same. It is the same learning environment, simply adapted to meet the needs of the student using it.
The switch is the second control along the top bar, so it is one click away and one click back. The controls grow and take more room around them, and the line across the bottom of the window explains whatever you are pointing at. In this picture it explains what Save Workspace does.
Text size is a separate switch
Text size and Assist Mode are independent settings, because the students who need one are not always the students who need the other. This picture shows the ordinary system at 130% (three presses of A+) with Assist Mode off. Only the type has changed size. The same cells, the same panel and the same keypad are laid out again to fit. The setting is remembered, so a student who needs it sets it once.
The Srivus language
Computational thinking reimagined
What you learn here, you take with you.
It seems to me to be a waste of effort, and a clear missed opportunity, that the time a student invests in learning a particular scientific calculator does not usually make learning a new programming language like R, Java or Python any easier afterwards. That is the gap this system intends to fill. Srivus shares many language structures with Java and Python, so the habits you build here are the habits you will need next.
Write your own functions
You can name a formula once and use it everywhere, in the calculator or on a graph. A quadratic expression is simply defined as f(x) := x^2 . There are advanced features such as lambdas and higher-order functions.
Real control structures
Blocks, if and else, while, for-in, C-style for loops, break and continue, and a switch with arrow arms and no fall-through. These are the same structures you will meet again in Java and Python.
Types you design yourself
Objects and classes, with private fields, constructors, methods, single inheritance and operator methods. As you dig deeper you will meet procedural programming, functional programming and object-orientation, and simple data structures such as lists, dictionaries, matrices, and tensors.
Checking your own work
The expect command encourages students to put their mathematical thinking into words by stating what they believe should happen and then allowing the system to check that expectation.
The spy command goes a step further by showing a value together with the expression that produced it, helping students connect results back to their reasoning.
Because the arithmetic is exact, == is exact too, and it says so plainly: sqrt(2.0)^2 == 2 gives 0, since a function's answer is a double rounded at its last digit, while the decimals you type are worked to 34 digits, so 0.1 + 0.2 == 0.3 gives 1. When a hair does not matter, as with a square root squared, a long sum, or a value that should have been zero, approx is the tolerant twin that asks the question you meant. It answers 1 or 0 and never stops the cell.
Reflective problem solving
Testing one's reasoning through codes is therefore introduced as a natural part of everyday reflective problem-solving rather than something reserved for advanced programming. The goal is to help students develop the habit of checking, questioning, and understanding their work from the very beginning.
And it compiles itself
A function may begin by being interpreted quietly, but after it has been used for roughly a third of a second, the system can automatically turn it into efficient compiled code. Students do not need to write anything, change their answers, or even think about the process, it happens behind the scenes without altering a single digit of their results.
For students who are curious about how the system works, the compiled version can be requested and explored by name. For everyone else, the experience is simply that their work becomes faster and more responsive as they use it.
A list comprehension builds a new list and keeps only the values that pass the test. In other words, it is a list of all those x values 1 through 10 that are even, i.e., divisible by 2.
Mission
Reimagining STEM Education: Advancing Equity Through Digital Access and Freedom
I know I am pushing against a powerful trend in today's subscription-based software economy, where essential digital tools increasingly sit behind recurring payments, creating a quiet divide between those who can continually afford access and those who cannot. In education, that divide is especially difficult for me to accept.
Both editions are complete by themselves.
Both editions share the same underlying language, but they are thoughtfully designed to support different groups of students. In the free edition, students can work directly in the calculator with matrices, statistics, dictionaries, classes, and their own functions, all through the same language they are learning. The Advanced Edition builds on that underlying language by adding nine dedicated tabs that give these areas of mathematics and science their own focused workspace. The goal is not to change what students can learn, but to provide the level of structure and support that best fits how they learn and work.
Whether this is a struggle that I can ultimately win is not the point. What matters is the effort to bridge the gap, to keep essential and beneficial digital tools within reach of students and schools, so that technology expands opportunity rather than quietly dividing people into those who have access and those who do not.
Perpetual license as a common good.
A perpetual license for an educational software has something in common with what I view as the idea of a common good: something created or acquired for the benefit of a community, where its value grows through continued use and shared access. The important resource is not only the software itself, but the knowledge, habits, lessons, and confidence that accumulate around it. Teachers learn how to use it effectively; students build familiarity with it; curricula develop around its capabilities; and a school can preserve that investment across generations of learners.
The power of perpetual license for users
True control: You buy the version you want and keep it for years.
Cost savings: You pay once and save money over time.
Offline freedom: The system works even when the internet goes down.
Peace of mind: No recurring charges on your or your guardian's credit card each month.
Two editions
Basic Edition
Free
For fifth graders, or earlier, if they are sincerely interested and adventurous, and up to those taking Algebra 2 or Precalculus. Personal use.
- The complete Srivus language
- Calc, with the full keypad
- Accessibility, second from the left: a map of the whole program, and the fastest way to reach any part of it without a mouse
- Graphs, for curves, relations and shading
- The Functions reference
- The whole Manual, all fifty-six chapters
- The Data tab: reference constants, units, conversion factors and the planets, with every value one click from a runnable expression, and formula pages for math, physics, chemistry and statistics, with every symbol defined, the conditions of each formula stated, drawn figures and live graphs
- All fifteen themes, and every accessibility feature
Advanced Edition
$39 one-time, perpetual
For STEM students and up to college: AP Statistics and AP Calculus, but chemistry and physics too, and anyone who has started to program. You buy it once and it stays with you. There is no subscription and nothing to renew. However, you should try out the Basic Edition first to make sure it runs on your computer. The installation process is almost identical to that of the Basic Edition.
- Everything in the Basic Edition
- Notes, a script editor with a saved library
- 2D Plots, for polar, parametric, log axes, data and fields
- 3D Plots, for surfaces, solids of revolution, space curves, implicit surfaces, fields, stream tubes and orbitals
- Matrices, for determinants, inverses and solving Ax = b
- Stats, for regression, summaries and plots
- Distributions, for normal, t, chi-squared and F
- WMW Test, the Wilcoxon-Mann-Whitney test
- Images, for filters, edges, segmentation and frequency
- Chem, the periodic table fifteen ways
Sent to you by email within 24 hours, by me personally, with a license file made for your copy alone. There is no subscription.
matrices.pngMatrices, a matrix entered and a real operation done on it.
For schools and districts
For a whole class, a school, or a district, let's get in touch only if you need the Advanced Edition.
The Basic Edition is free for your school as well as for your students. Please feel free to install it on as many school-managed devices as your students and teachers need, completely free of charge and without having to contact me for permission first.
For the Advanced Edition there is a site license, so that you are not buying seats one at a time, and it expressly allows your IT staff to install or image the software on school-managed devices for your students.
It also covers your students and staff at home. It is just as important to me that your students and staff can use it at home as they can at school. Your students and staff may install the software on a school computer or on their own personal one, because I believe learning should not stop when a student leaves the classroom. Based on my teaching experience at a high-need school, access to school devices was often not the greatest barrier, lack of wifi access at home was. A license that ended at the school gate would have missed one of the central purposes of building this system in the first place: giving students the opportunity to continue learning wherever they are.
They keep it after they leave. A student who graduates, transfers or moves on does not lose the software, and neither does a teacher who retires. It stays on their own computer permanently, whatever happens to the school's license afterwards. A tool that a student has learned to think with should not be taken away on the day they finish learning with you. If the license ended at graduation, it would be a rental with a long lease, and the purpose of this project is that students should not have to rent the tools they learn with.
The fact that the software runs completely offline is another part of that commitment to accessibility. In a computer lab, it does not require additional bandwidth, special filtering exceptions, or a separate sign-in process for every student. Everything stays on the local computer, so student information is not transmitted or collected at all. It aligns perfectly with the above-mentioned principle YDNB, "Your Data, Not My Business."
Site license for the Advanced Edition
It is a single, perpetual license in one payment, there is nothing to renew and no annual subscription to remember or budget for again. Pricing is based on your school's total enrollment, a number your school already knows, so there is no need to count devices, track licenses, or spend time managing hardware. The aim is to keep the decision simple with no endless recurring cost, allowing the focus to remain where it belongs: on supporting students and teachers.
| Your school | One-time |
|---|---|
| Under 200 students | $399 |
| 200 to 599 students | $899 |
| 600 to 999 students | $1,399 |
| 1,000 to 1,999 students | $2,199 |
| 2,000 to 3,499 students | $2,999 |
| 3,500 or more, or a whole district | from $4,500 |
Purchase orders are welcome, and you do not have to wait for me to start. Make yourself a quotation to attach to your requisition, and ask me for a W-9 or a sole source letter whenever your business office needs one.
If the price is the reason your school cannot have this, please write to me. I would genuinely rather see this software in your classroom than have cost be the reason your students cannot benefit from it. I have taught in a high-need school myself, so I understand firsthand how difficult budget conversations can be and how often limited resources force teachers to make painful choices. I want every student, regardless of their school's budget, to have the opportunity to use great educational tools that can support their learning, including this software. Please reach out and I will make it work!
Create a quote for your school Or email me directlyQuestions
The questions I hear first.
Does it need an internet connection?
What does it cost?
Which Java do I need?
Is my work stored on someone else's computer?
Will it run on a school Chromebook?
On ChromeOS, support depends on the hardware and on the school's device-management policies. The application is distributed as a Java JAR file, so the Chromebook must have the Linux (Crostini) environment enabled and a compatible Java runtime available. Many school-managed Chromebooks disable Crostini entirely, in which case a JAR application cannot be run locally.
For Intel/AMD Chromebooks, the standard JAR download can generally be used once Linux and Java are available. ARM-based Chromebooks are not currently supported. On Windows, macOS, and Linux computers, the same JAR can be used with a compatible Java runtime, although the installation and file-association steps differ by operating system.
For school-managed devices, the practical advice is simple: talk with your school IT specialists to see if it can be installed. For IT personnel, please test the actual installation on one student device before deploying it broadly or planning classroom use. Verify the Java runtime, operating-system compatibility, application permissions, file associations, network and security policies, and any school device-management restrictions before approving the application for student use. A technically capable application is only useful in a classroom when the school's hardware, operating system, Java runtime, and management policies all permit it to run.




