Ask Slashdot: Replacing a TI-84 With Software On a Linux Box?
yanom writes "I'm currently a high school student using my TI-84 for mathematics courses. It has all the functionality I need (except CAS), but saying that the hardware is dated is putting it nicely. Waiting 4-5 seconds for a simple function to be graphed on its 96x64 screen just makes me want to hurl it at the wall. Recently, I've begun to notice the absurdity of doing my math homework on a 70's era microchip when I have an i7 machine with Linux within arm's reach. I've begun looking for software packages that could potentially replace the graphing calculator's functionality, including Xcas and Maxima, but both lack what I consider basic calculator functionality — xcas can't create a table of values for a function, and maxima can't use degrees, only radians. So, does anyone know of a good software package to replace my graphing calculator (and maybe provide CAS to boot)?"
If you're not afraid of programming (and it sounds like you're not): R. Gimme more details if you want to know what packages to use for graphing and stuff but installing R is incredibly easy. At the risk of tooting my own horn, you can read through this post, the corresponding story and the replies to it. There are a ton of packages for producing graphs. Are you going for accuracy? Beauty? Speed? What?
Lastly, please don't hate on the TI-84. I still have mine as well as a TI-89 and while they were both expensive, they are beautiful and trustworthy devices. Both have outlasted countless other computing machines that have passed through my usage.
My work here is dung.
...a TI-84 emulator? So long as they didn't add wait-states to simulate the processing speed of the TI...
Do not look into laser with remaining eye.
Octave - a matlab work-alike
easy plotting, extensive libraries for linear algebra, stats, etc.
Why do you want a CAS if you're not prepared to use it. For each trig function, define another which takes an argument in degrees and calls the built-in one with the argument converted to radians.
. . . there are some excellent graphing calculator apps for iOS and I am sure Android has a fair selection as well. They do 2D, 3D and solve algebra.
Also there exist a number of HP emulations but I don't know if there are any for TI.
All of them execute at some Warp factor faster than discrete calculators but there are some issues with using a device different from what the school recommends. My experience with guiding my own spawn around the perils of high school math leads me to believe that HSs (in Canada at least) are more interested in teaching button pushing than math. Many teachers have no interest in math and are perplexed when someone has an issue with something such as a different calculator solution.
Besides that, when using alternatives you may get differing results or even some fantastic errors depending on how well written the code is.
[RANT ON]
Sorry, but I gotta say this: CALCULATORS OBSTRUCT THE LEARNING OF MATH
phew, had to get that out
My apologies for the caps but it is a rant after all . . .
There is a place for calculators in engineering courses and in some aspects of learning math but you can get a PhD in Math Science without ever getting near a calculator. I saw my kids get all caught up in the numbers to the detriment of understanding the process and theory. When they started doing courses later on (such as physics, biology, chemistry and sociology-er 'stats'), they had to go back and learn some of the fundamentals that had never been emphasized because of the calculator fixation.
Bottom line: use the TI and don't waste time on alternatives. Use that time to learn the theory.
[RANT OFF]
Well, unless of course you are a real nerd (like the rest of us) and do both: learn the math and are obsessive about calculation tools
Cheers
"instead of waiting 4-5 seconds to do something, i am interested in spending hours of effort to recreate/relearn it on a different platform"
An engineer is someone who will spend three hours figuring out how to do a two-hour job in one hour.
Lacking <sarcasm> tags,
The requested URL (ask.slashdot.org/comments.pl?sid=2529390&cid=38076772) was not found.
This is the correct link. Man, first a major typo from a Wikipedia article and now this, I think I'm done with Slashdot for today. Not even sure how that happened ...
My work here is dung.
I've got an MSc in CompSci, and I'm now doing a PhD in a biology department. I teach a programming course using Matlab, and I've recently started using R to do my own analysis stuff, mainly because it's popular and I'd like to stay compatible with the rest of the field, as well as use some specialised software that works with it. I have to say, being used to real programming languages (such as C++, I'm not counting Matlab here, although see below) I'm quite frustrated with R. Function names are generally different from other languages and to me at least unintuitive, and the documentation is too often extremely vague and difficult to search.
For example, the function match() returns the offsets of entries in a vector that match a given object. But what exactly constitutes a match, well, according to help(match) that is "to some extent a matter of definition". It goes on to give an example or two, but that definition remains elusive. Or look at this gem from help(as.vector):
First, a "vector of type list" is actually just a list. In R, a vector is an ordered collection of elements all of the same type, while a list is an ordered collection of elements of (possibly) different types. So, by the normal Liskov rules, one could say that a vector is a kind of list in which the types of the elements are all identical. According to the R language definition however, a list is a kind of vector. In practice, lists and vectors are used in rather different ways so their exact relation is not so relevant, and it doesn't make much sense for the help page to throw them together like this. Second, apparently attributes are removed for atomic vectors, but not "in general" for lists. This is a somewhat arbitrary inconsistency, and it leaves the reader to wonder if there are specific attributes or lists for which this doesn't count. But the kicker is in the last sentence: not only are the exact workings of this function explicitly undocumented, they are also subject to change without notice! Note that these are not functions from some obscure package that I pulled off of somebodies blog. They are core language functions, and unfortunately these examples are not exceptional. A colleague of mine recently had his whole analysis suddenly return weird results after a routine update of an add-on package, because someone decided to swap the order of the longitude and latitude arguments to a function for no particular reason.
That's not to say that R is not usable, but in my opinion is is unsuitable for any kind of programming, and perhaps unsuitable for programmers. R is a powerful, extensible system for statistical analysis, with a command line interface. If you consider your text files with R code as reference notes rather than as source files, and if you use R interactively, copy-pasting lines from your notes and checking after every couple of operations that it's actually doing what you think it is, then you can do useful things with R. Looking around me, that is in fact how most people use it, and what I've taken to doing as well, although I can't resist attempting to automate things here and there.
Comparing R to Matlab, in my eyes there's no contest in terms of ease of use. The Matlab help files are professionally written and tell you what you need to know in enough detail to be useful, and that difference alone makes it a lot better. The language itself is also a bit more sensible, at least to me, being designed as an easier-to-use alternative to FORTRAN, where R is based on LISP. I was originally considering moving my course to R from Matlab, since I don't like to teach proprietary software, but now that I have some experience with R I'm pretty sure