Like most students with TI calculators, I have whiled away many
boring lectures playing games on my calculator. My TI-85 and then my TI-86 has kept me awake
and out of detention during high school. Now, as I approach my senior year, calculus,
physics, and college trig, I wonder what improvements could be made on these machines.

Taking a TI-86 to a math class is like taking a gun to a fist fight--it's hard to lose!
You do have to know how to use the calculator and how to do the math, but most people can
learn faster than the teacher teaches. Mind numbing, repetitive work can be made tolerable,
however the real edge comes from custom programs.

There are many programs that make
up for the few shortcomings of your calculator. There are even collections of these
helpers. Each one of them asks for input then displays the output. This works great if the
problem that you are working has only one step, but when many steps are involved it fails.

Helper programs should optionally take input from the Ans variable and output to
Ans. If a program requires more than input or output, a list or matrix of the arguments or
outputs should be saved in Ans. This would speed the use of these helpers in multi-step
situations.

I'm not saying the programs we've seen so far are not useful--they are.
I'm saying there should be a form of the program that works similar to a regular TI
function to save time and irritation. A collection of these functions would be very useful
in advanced classes and in, gasp, real life.

I think that the TI-86 is a godsend for the maths class it takes only a few minor minutes to create a BASIC program and then one night when your bored shitless and all yoooour mates have deserted you, you can go and turn it to Assembly to make it faster and smaller...
And yes I agree a collection of different remotley built functions for the calc would be helpfull especially if it incorperated more BASIC programing operations...

What i'm going to say really only applies to the TI-82, so those of you w/ "smarter" calcs can just tune out now. Here's my idea, since there is no built in way to do functions (at least there isn't on the 82) why don't we set some standards for different variables to be used as parameters being passed between programs -- i'm not making sense, here's what i mean:
Let's say that you made a QUADFORM program, and it works wonderfully, but let's say you have another program which requires solving quadratic equations. Why not set up a structure that would allow the QUADFORM program to be used as a stand-alone program, and also to be used as a psuedo-function within another program. Here's a basic outline of how it might work:
The variable (theta) would be used as a flag that could be used by QUADFORM to tell if it's running as a stand-alone or if its running as a non-interactive function (i.e. if theta == -99 then we must be running as a function -- no user interaction, if theta == anything else then it must be running as a standalone app. The return values could be stored in y and z, and the input values would be drawn from a, b, and c. Here's some code snippets:

So here's my point (i know, it took me long enough to get to) -- why don't we get a set of standards for which variables, lists, or matrices will be used for param passing(a, b, and c in my example), which vars will represent inter-program flags (theta, in my example) , and so on so that we can reuse more of our code. Or isn't it worth it?

I've been working on something similar to this. I wanted to be able to do functional programming and so I created some variable and stack conventions much like those used with MIPS assembly language. The basic conventions are:

The stack is maintained in the matrix [E], so that matrix must not be touched. I wrote the following functions for stack manipulation, each of which takes an argument in ANS and returns a value in ANS. These functions do not modify any variables besides R,S, and Z so all temporary variables are safe.

prgmPH (push: push the value in ANS onto the stack)

prgmPK (peek: returns the value at the top of the stack in ANS)

prgmPP (pop: pop the value at the top of the stack and return the value in ANS)

prgmPKN (peekN: returns the value at the Nth item from the top of the stack in ANS)

prgmPPN (popN: pop the top N values from the stack, returning the Nth item from the top of the stack in ANS)

That's about all I've worked out currently. Conventions could also be worked out for the lists and matrices (besides [E]).

It would be great if everyone could follow some convention so that functional programs could be distributed easily. If anyone has any comments or suggestions regarding the conventions I've proposed, I'd appreciate any email.

Well I do agree that the TI calculators are very helpful in math class and during boring lectures and such, however, it has been my experience that students don't learn that quickly and the teacher may have explain something a few, hundred times before they start to get any right answers what so ever. Maybe the kids in my class are just morons. Also in a lot of math problems that require multiple steps, most of the teachers require you to write out the complete problem. So if you can get away with it and not have to explain the programs to everybody, it seems like an ok idea.

teachers think the the calc wont show the steps so they make u write them out but i have run across and made a few they can show the steps the calc take to solev the problem it only takes more space on your calc if your willing to use that extra space then thats perfect for u

>teachers think the the calc wont show the steps >so they make u write them out

sorry but the reason they make you write out the steps is not because they are afraid that the calc did the work for you, but so that you understand the concept. Regardless of whether or not your calc shows you all the steps it is important for you to understand why those steps are there. And if you are in a lower math class where you think the steps are pretty intuitive and a waste of time, it's still good practice for when you get to a higher level math and you get lost quite quickly without having something on paper to guide your thoughts. Besides, everyone makes simple math errors, and most teachers give partial credit if they see that you were doing it right to a point. It might not make a difference on a 20 question test but when you've got a 3 question test it's a world of difference.

If you are smart enoughto write a math program that shows all the steps taken to solve a problem then you I would say you have the concepts down. The problem is when you give the program to your friends in the class because then they don't learn.

You've actually hit upon my high school senior year teacher's philosophy, and we were only allowed to use programs that you have made. Of course, this led to many people teaching others how to program something, but in the process the one being taught ends up learning the concept anyway, as well as how to program, so everyone benefited.

Learning BASIC is the greatest way to help yourself during a math class. It has always helped when I could make a really simple program that will give me the end answer on the spot, and then improve on it when I have time. Also, making your own programs will help you understand the process involved in the problem, thereby if you should ever happen to do the problem the long way, or without your graphing calc, you should be able to do it on a simple scientific calculator. I have always written my own BASIC math programs, for most of my friends dont seem to bother to learn BASIC. I often find my self writing programs for TI calcs I don't even own, learning BASIC is that simple. So, in turn, learn BASIC, its simple, it doesnt take a lot of time, and it will help you in the end.

I do know BASIC, and all of the math programs
I have written are in function form. I have come across programs with algorithms and input routines that I can't simplify and put in function form. This article is only a statement of my thoughts, few though they may be.

It also seems to me that if you have one of these nifty little gadgets, you learn the covered material faster. If this is because we are trying to find an easier way to do it via programming a calculator, then, I don't see why teachers don't get the hint and give everybody one of these. In my math class this year, the teacher handed out 81's. There's nothing wrong with 81's in themselves, other than that they are slow and extremely stupid when it comes to math. They are also very user-unfriendly. My teacher thought that they were the neatest thing to hit the earth, and warned us not to lose or break them, as they cost a lot of money. Then I got my 86 out, showed him what it could do, told him how much it cost, and a week later, the class had 86's. The grades in that class went through the roof. Think about that....

Well I tend to agree. There are many helper programs...but I don't agree that multi step problems will fail...I've programmed quite a few BASIC math and chemistry programs..which made long boring repeating tasks very managable... And for a bunch of programs that work from each other like functions, yeah..I think They're should be more...

I agree that some helper programs could be better, but you shouldn't be complaining--you should be writting your own.

Most people write a program on the spot because it helps them with what they are doing in math right there. Then they may decide to post it in case anyone else could use it.

Writting a program forces you to understand the problem. Before you can program something, you must understand it better than if you were going to work it out by hand. Programming BASIC math programs is a great way to learn math.

Using a program someone else wrote only hurts you, because you don't understand how it works, and if the problem ever changes (even slightly), you'll need them to write you a new program.

[just as you'll be paying someone to make a website for you, or to write macros for a database you bought]