This article is a review of the NumWorks graphing calculator — a modern, open, and beautiful calculator that also happens to run Python.
Before going on, I need to point out that I am not a calculator person (looking at you /r/calculators) and that this is simply a review of an (educational) product that I genuinely enjoy using.
Also, looking at my slightly obnoxious headline, I need to emphasize that there are many other great calculators, some much better than the NumWorks. At least if we are considering calculators merely with regards to their mathematical functionality! As we will see, when considering the educational value as well as future possibilities, the NumWorks stands an actual chance in this still highly competitive and arguably monopolized market.
Before going into the calculator itself, I want to briefly dicuss my history with calculators and how I see their role as (educational) tools.
If you are just interested in the NumWorks calculator, you can safely skip down!
My Calculator History
In most households, you will find at least one or two calculators lying around. They are practical but often boring small computers that assist their owners in planning renovations, doing homework, or filing taxes.
If you have progressed through the educational system, there’s a good chance that you have encountered various types of calculators. Maybe that’s also why you have so many lying around in some drawer.
There’s the basic four-function calculator, the more advanced scientific one, and ultimately possibly also a graphing calculator such as the famous Texas Instruments TI-84. Depending on where you are and what you do, you might even have encountered one of the mystical high-end, very expensive, models such as the HP Prime, TI-Nspire, or Casio ClassPad.
For me, going through Gymnasium in Southern Germany in the 2000s, the journey started with a basic TI-30 ECO RS scientific calculator. It wasn’t great or exciting by any stretch of the imagination, but it made math classes more interesting and enjoyable for me! I did not enjoy the repetitive calculation part of math classes, and this little calculator, at least I thought so, would save me from it. However, more importantly, it allowed me to experiment with math and it provided me with a solution or answer immediately. That, I loved!
A couple of years down the line, we graduated to a graphic calculator. In my case, this was a Sharp EL-9900 - not very powerful, not very pretty, not very intuitive, but exciting at the time! For those in the US system, this would be your TI-84 or similar, just slightly worse.
Again, this was not a great calculator despite having a reversible keyboard with a basic and more advanced keyboard layout. Something that is, at least from an educational perspective, pretty clever. However, it was able to plot, and it was programmable in something that resembled BASIC. This was an absolute game-changer for me. I struggled with math in school a lot, but I was in love with portable devices (this is before smartphones and I carried around a completely useless Sony CLIÉ PDA) and with programming.
Looking back, one reason why I struggled with math in school was the fact that I always enjoyed learning by iteratively figuring things out. While I now know better, math exercises frustrated me for a long time because I had no way of knowing whether what I was doing was right or not. There was no experimentation; there was no playing or tinkering, just exercises I wasn’t able or willing to solve. The calculator, limited as it was, really helped with that. For example, being able to see and experiment with the plot of a function allowed me to figure out how things work on my own. It also encouraged me to play with other applications such as GeoGebra and later Wolfram Alpha. Of course, I also loved writing small programs that would help me during exams. Smuggling these small ‘applications’ into exams, finding ways to bypass the dreaded calculator reset, simply added to the fun.
Moving on to university, particularly studying economics, I experienced a massive downgrade to my calculator game. While I was prepared to take the next step, I quickly learned that we were only allowed to use very restricted, non-programmable scientific calculators during exams. Well, if that weren’t the case, I would have never experienced the absolute joy of working through optimization problems and statistical calculations by hand under pressure. To be fair, this, of course, only applied to exams! Of course, it always felt a little bit strange to ‘downgrade’ yourself in an exam situation after having experienced state-of-the-art tools during classes.
Nowadays, I really don’t need a calculator anymore. While I do more math now than ever before, I usually have access to a range of applications that are much less cumbersome to work with than a calculator - Python and R notebooks, Wolfram Mathematica and Alpha, MATLAB; you name it!
Nevertheless, I still enjoy using calculators on an everyday basis. Maybe it’s because they are specialized tools without many ways of distracting me. Maybe it’s because of the feeling that differentiates pushing buttons on a physical device rather than typing things into a Juypter Notebook. To a certain extent, it is similar to how I sometimes still prefer pen and paper despite the fact that using an iPad and an Apple Pencil has many advantages given my workflows.
Independently of my own experiences, I believe that calculators, especially modern ones, can be fantastic educational tools. While we now, excitingly, have a variety of fantastic and mindblowing tools, products, platforms to introduce and teach computation and coding, a calculator, especially one that allows you to tinker, is still a great introduction to the world of computers.
That said, most calculators are crazy overpriced for what they are, and many manufacturers have made tinkering with these devices very hard. For example, Texas Instruments has relatively recently patched out the ability to write assembly on the TI-83 and TI-84. The community, which has become famous for pushing these calculators to the absolute edge, will find a solution but it’s still a very bad signal and quite frustrating given how expensive these very basic computers are.
Enter: The NumWorks Graphing Calculator
The NumWorks Calculator
Aside from its very modern, I would say beautiful, design, the NumWorks calculator (N0100 and N0110, the current revision) has been “designed with openness in mind,” including a very transparent engineering process as well as components and an operating system published under a Creative Commons license. However, speaking of licensing, it’s important to mention that the CC BY-NC-SA 4.0 is technically not an open-source (as in Free Software) license. Nevertheless, especially given that this is a for-profit product, the licensing is very permissive!
The current iteration of the calculator (N0110) features a 2.8-inch color screen, a 216 MHz ARM processor, 256 KB of static ram, 8 MB of flash ROM and a very respectable battery life of about 20 hours. The software, more below, is based around applications - much like smartphones - and features a wide array of useful and commonly used tools and features.
Compared to flagship models such as the HP Prime, TI-Nspire, and Casio ClassPad, the NumWorks does not have to shy away in terms of power, but in terms of computational power or quality but in terms of available functionality. The operating system and the available apps, as they are right now, are simply not as mature and fully-featured. However, it is quite complete and for most people the NumWorks already offers more than what they will ever use.
While there are these limitations, the NumWorks currently sells for about 80€, while these flagship models will set you back almost twice that amount. Even compared to a monochrome TI-84 (~ 110€) the NumWorks is quite a bit cheaper.
While lots could be said about the differences and pros of cons of each of these devices, I want to focus on three features that I love about the calculator.
Firstly, I want to point out that the NumWorks is able to run Python out of the box. This is exciting for educators wanting to provide their students with an opportunity to code as well as for professionals who wish to add custom functions to their calculators easily.
Secondly, there is a fantastic simulator available for free that lets you use the calculator in a browser. This is not only super useful for educators wanting to show how to do something but also for those who look for a consistent experience across devices. In addition, having a fully-fledged simulator as well as free Android and iOS applications, makes this calculator accessible even to those who do not want to or cannot buy the physical device.
Finally, I want to reiterate on the relatively open platform and ecosystem. Aside from having an openly licensed operating system, the NumWorks team also provides fantastic technical and educational material as well as useful additions such as a typeface for creating your own instructional material. They do not only allow you to tinker, but they are actively encouraging it!
The Operating System - Epsilon and Omega
When you buy a NumWorks calculator, it will be shipped with the default operating system Epsilon on it.
Epsilon is open source and comes with various useful apps (including, for example Statistics, Probability, and Regression) that are a joy to use. In my experience, Epsilon, while in many cases not as advanced and fully-features as, for example, HP’s operating system, is very powerful and extremely easy, and intuitive to use. Compared to many other calculators I have owned and used, you really do not need a manual for the NumWorks. Of course, the one that they have is great and it comes with a number of YouTube videos showing you how to do things!
The operating system, as the hardware, has been designed for educational use-cases and schools. In particular, Epsilon has been designed to be approved for many standardized exams such as the PSAT, SAT, and ACT. While this is great for students and teachers, it necessarily limits what the calculator, despite its powerful hardware, can do.
This, within the community, has lead to many discussions. For example, relatively early on, symbolic computing and CAS, which have been part of Epsilon, have been removed from Epsilon for compliance reasons. Overall, Epsilon is clearly designed, first and foremost, with high school education in mind and not for pushing the hardware to its limits.
Omega is a fork of Epsilon that (re-)introduces many new features that make the calculator a lot more interesting and attractive to those who do not need to comply with exam standards. For example, Omega, as you can see above, allows you to do symbolic computation. In addition, the fork comes with more apps (Periodic Table, RPN for Reverse Polish Notation) and the option of easily installing external apps such as KhiCAS.
For those interested, installing Omega on the current iteration of the calculator is ridiculously easy. It definitely does NOT feel like a hack, but it comes down to plugging in your calculator and pressing install.
When running Omega and possibly some additional applications, the calculator swiftly moves a lot closer to its much more expensive competitors and becomes, in my mind, a viable option for professionals who need or want to use a calculator from time to time.
While there are many other use-cases, most calculators are used as educational tools. Is the NumWorks the best calculator – focusing on its ability to do math? Certainly not! If cost and beliefs did not play a role, and if I needed an additional piece of hardware to do math, I would happily choose a Prime over the NumWorks any day. Having said that, I need to also remind myself of how awful the user experience is with some of the market-dominating products.
However, if I were looking for a calculator, and a platform, for educational purposes, I think NumWorks very easily is one of the most exciting things on the market right now. It’s, at least compared to its competitors, affordable and accessible. Also, it’s beautiful and has great usability that makes using the device an enjoyable experience. Most importantly, however, it is a calculator that can grow with you, and that encourages tinkering and playing with it. If you wanted to, you could not only develop Python on your calculator, but - having some experience and/or grit - develop your own fully-custom applications for it. Of course, you also just modify the operating system and see how the thing works from the inside. I can say, it’s relatively hard to actually break it!
In my mind, being able to really experiment and play with the device is what makes this such an interesting and exciting tool for both education and beyond.