It's Past Time for You To Ditch That Fancy Scientific Calculator

Anything that overpriced, underpowered graphing calculator can do, Python can do better.
Image may contain Electronics Computer Keyboard Computer Hardware Hardware Keyboard Computer and Calculator
Larry Washburn/Getty Images

Bruce Sherwood, the co-author of Matter and Interactions, had a question for me when I saw him at the American Association of Physics Teachers conference not long ago: "What calculator do you use?"

If this seems odd, well, it was a conference of physics teachers. I responded with something along the lines of "I don't actually use a calculator." Of course, Bruce probably knew I'd say that. He absolutely agrees with me.

I don't remember the last time I use a traditional calculator. When students ask to borrow one, I show them this:

Rhett Allain

Yes, that is a classic HP 11C from the 1980s. It cost $135 back then—a fortune. It's still a great calculator, but I'm not about to let a student borrow it. Not because I'm mean, but because older scientific calculators use RPN and I doubt many students know RPN. Now, you may ask, "Why don't you have a modern calculator, Rhett?" I have many reasons, not the least of which is I never use a calculator. I'd bet most scientists don't use a calculator.

Neither should you.

So how do I calculate stuff? A slide rule? No. Although slide rules are cool, most scientists don't use those, either. For simple things like finding a square root or converting, say, Fahrenheit to Celcius, I use a web browser. You can just type stuff right into the Google search box. Try it. Type "sqrt(4.55) meters in feet." Not only does Google determine the answer, it converts it from meters to feet (although I have no idea why you would want to do that).

For longer calculations, I use the programming language Python, usually a web-based version like you find at trinket.io. Let me show you how with a fairly typical introductory physics problem.

*Suppose you launch a ball off a table 1.3 meters above the floor. If the ball launches at a 35 degree angle above the horizontal with a velocity of 3.3 m/s, how far from the base of the table will it hit the floor?

We won't work through a full solution, only a short version. Because the ball has only gravitational force acting on it after it leaves the launcher, it will exhibit constant acceleration in the y-direction and constant velocity in the x-direction. You can treat y-motion and the x-motion independently except for the time it takes to travel. This results in two kinematic equations:

To find the final x-position (labeled x2 in the equation), I must first solve for the time from the y-motion equation. Unfortunately, this means using the quadratic equation but, oh well, that's how it goes. We'll switch to Python and finish the problem. Just click the play button to run the program and get the answer.

As you can see, I get two values for the final position. Clearly the positive value is the one I want.

So why is python better than a calculator? A few reasons.

First, I can save this for future reference. If I want to refer back to it, boom, there it is.

Second, the quadratic formula kind of sucks. But in this case, I can assign values to "a,b,c" and write out the quadratic formula as I usually see it.

Third, I can print the intermediate steps to make sure I'm on the right track. In this case, I printed "t" before using it to make sure it wasn't some super high crazy value.

Fourth, Python (with VPython) features built in vectors. It can add vectors, find the magnitude, cross products, scalar products. That's awesome.

Finally, if I decide to launch the ball with a speed of 3.8 m/s instead of 3.3 m/s, I don't have to redo all the values. Just change one line and get the new answer.

Notice that in this case, I used Python as a calculator. This isn't what I call a numerical calculation. For those, I use Python to break a problem into smaller steps (which is still cool, but just different). Also, in this example I used Python in trinket.io because it shows the output window alongside the code window and that works very well for a calculator. Of course, you could use glowscript.org or even offline python (using Jupyter notebooks or something).

Now, if scientists often shun calculators, should students use them? No. I believe that students should always use the best method of doing something, and in this case, the best method is a tool like Python. I find the graphing calculators that most students use underpowered and overpriced.

If students ditch calculators, how are they supposed to take tests? Simple: They can use their phones to run Python on glowscript.org or trinket.io. In fact, I am making that the rule in my class this semester. Now, I concede that students might use their phones to Google an answer or text a classmate for help, but I'm not too worried about it.

There's no reason to continue using clunky old calculators when much better tools exist. Ditch that calculator. You'll be better off without it.