Question: The algebra-enabled have many spreadsheets. Why can't the arithmetic-enabled have even one?
T/Maker  Email: roizen@ix.netcom.com         If you can only donate 55 seconds,  I'll take all of them with a click here! 
References:  https://en.wikipedia.org/wiki/T/Maker     https://en.wikipedia.org/wiki/Peter Roizen    My Other Idea:  WildWords Crossword Game      
Links for later:    The Download Page          (Revisions in progress. The download is perfectly useable.)       Tutorial Videos      

IHA BoxprRelated History: This product has roots in one I created in 1979 and a modernization of the most unusual part in 1991. In 2020 a Windows update killed them. I could not jump ship to a normal spreadsheet. That would be a betrayal of decades of ideas, fond memories, and a surprising level of success. So I decided to resurrect and revamp the calculating syntax (still one of a kind) and focus on an emerging group. That would be some huddled masses yearning to learn math and tools they can use to make better decisions. T/Maker cuts abstractions (e.g., bingo names for values) and fosters plain sailing (e.g., left to right readable calculations) among other simplifications. It's the clear choice for those who now have nothing to choose. Sketch from Programmers At Work, Microsoft Press, (c) 1983

This News Is Absolutely, Positively Terrible!
The 2023 assessment of 4,600 US adults showed
Americans scoring at the lowest numeracy level or beneath it went to 34% from 29% (2017). That means more than a third now struggle to perform tasks beyond basic arithmetic. Here is a tool I would like to put on the table. It circumnavigates the need for a knowledge of algebra required by every other computerized spreadsheet. That knowledge is unfortunately beyond the comfort zone of many people.  With T/Maker, useful, practical, and even complicated calculations can be done in two dimensions with just the principles of arithmetic that everyone remembers.

Why not develop and teach something special for them?
Although I am using my product to start with, Microsoft, Google, or another big player could ensure the existance of something similar and expand the range of equipment on which it works. Users could turn known numbers into new ones that summarize situations or offer useful insights. The 34% and many others do not need need solutions to polynomials or simultaneous linear equations or even formulas with B7's, E9's, and parentheses. For their sake and in the smallest of test groups, I wonder if we could kindly ask the algebra driver to exit the bus for a limited time and and take a position under it. I would gladly help such an effort.
                                                     
There are different looking screens in T/Maker. The image shown is a piece of a Trails Screen. This screen allows you to enter or change both text and calculations. Each column consists of two subcolumns -- a green one for calculating instructions followed by a white one for text or numbers. On this screen you can see a Calculation Trail. Such a trail consists of Steps. A step has a number and some sort of instruction that typically involves T/Maker's built-in calculator and its current value. Steps are executed in the order of their numbers. Think of how you would proceed with a hand calculator.

Step 1 uses the exclamation point ! operator which tells T/Maker to enter a value into the calculator. Since this symbol is not followed by one of a variety of possibilities, the number to enter is assumed to be the one in the "white adjacent column" (abbreviated as wAj). A plus sign + adds a value to the calculator which is OK to start a trail with if the calculator has the number you want to start with (often zero). Step 2 multiplies the current value in the calculator (cVc) by the wAj. Step 3 outputs the current value in the calculator to the wAj and sets the calculator to zero. Note: If the step 3 had used the number symbol # instead of the equal sign, the value in the calculator would have been left unchanged instead of set to zero. This is often used to display a value in the calculator while carrying it forward for other purposes.

The darkened green cells indicate the starting locations where step 1 of the trail is to be restarted. Typical tables often have few trails which are started from many locations. Such trails typically serve one clear purpose and must have a trails screen to themselves. If a trail is only used from one starting location, it sometimes serves many puposes with steps wandering around. Even so, multiple trails can be used keep intentions clear.


Let's watch a video of a trails screen where the text and data have already been typed in (saves time). Steps will be added to do some ad hoc calculations. This is no harder than using a hand calculator but you, of course, can permanently store the result and view or modify it later. A chart is also made to highlight a similarity across various T/Maker screens. This video seems mIndlessly obvious. Sort of stupid. But wait a minute! Using a spreadsheet is stupidly easy? Isn't that actually quite amazing. 
Click here!


Lists: Sometimes a well-made list with a minimum of calculations is valuable on its own. Below is one similar to a favorite of mine. It lists all bills that need to be paid. The list includes the number per year, how it arrives, where to find details about it, what day it closes, how it is paid, an approximate average amount, the total per year (calculated), and a number to sort on for my prefered order. The other number calculated is the column total of "Total." The table can also be sorted on any other column. I print one every three months and use the last three columns to mark an amount paid if any for potentially adjusting the average. With the number of bills one has these days, I am happy to have this page in a permanent location on my phyiscal desktop.



My actual list has a lot more lines. Take a quick look at some easy and useful manipulations of this list including the insertion of a cloned row.
Click here!
 

Surprise!  Many things are not as complicated as you might expect. The tariffs that shocked the world can be calculated by the trail shown, and it can be used on other rows with just a click. Below, the steps are explained.
Step 1. enters the wAj (white adjacent cell) into the cVc (current value in the calculator).
Step 2. neg, is a function with no operand that reverses the sign of the cVc. It has nothing to do with column C.
Step 3. divides the cVc by the wAj.
Step 4. multiplies the cVc by 100. It has nothing to do with column E.
Step 5 divides the cVc by 2 and imposes a minimum that the cVc is at least 10. These operators are followed by a constant so the value in the wAj is not used.
Step 6. Outputs the cVc to the wAj (column G).
Columns A through F came from the NY Times. Column G is calculated using the trail. Only the data in columns B and D are used.
This presentation is made so that all operators and operands can be seen in full detail. I confess, it's to make it self-explanatory and kind of pretty!
 


You can also follow an operator by a column name when you don't want to physically place it in the correct column. The names of the columns are the letters from A to Z in upper or lowercase. The calculation above could have been done in the one step below placed anywhere on the row. This approach is often used in trails that make use of values dispersed across a variety of columns. I recommend lower case letters for column names.

!b neg  /d  *100   /2   >10  =g      

 

Summary of Referring to Values in a Step So Far: It is so important to be able to look at a step and immediately understand what calculations it does and with what values it does them. I am not troubled by boring you a bit with pounding these basics into your head. As we have already seen, an operator which expects a following operand but has none specified, will take the value from or place the value into the wAj (white adjacent cell). A good rules is this: if an operator takes an operand that is not the adjacent white cell, put no space between the operator and the following operand (in a very few cases illegal). If it takes no operand or refers to the wAj, follow it by a space. I have been doing that mostly without being conscious of itl I will henceforth try it as a rule. Also, it is always a good idea to read some text you have written out loud to see how it flows off your lips. Do the same with steps. "Enter the A cell value into the calculator, subract 32, divide by 9, multiply by 5, and then put the value in the B cell." Sounds like Dick and Jane reading a math book!

Constants: To use a constant as the operand simply write it after the operator.  This two step example converts  temperatures from one scale to another. The exclamation point and equal sign refer to the wAj as they are not followed by an operand.

Syntactical Anomaly: Do not enter a negative number as an operand.  T/Maker interprets - (dash) as subtraction operator. Use _ (the underscore character) instead.  
Wrong:  *-3  (intended to multiply by -3).   Right:  *_3
     

Column Names: You may place single letters (upper or lower case) to refer to the value in that column (A to Z) on the same row. In the example, it would be a drag to shift the screen, locate the columns needed, and place the operators next to the correct wAj cells. This technique is very handy in many situations. It not olnly saves time but can improve the clarity of intentions. I recommend typing the single letter in lower case.

 
Building Confidence:  If you click on the text above the distressed individual, you can read some horror stories of mistakes in commercial spreadsheets that led to millions of dollars lost. Like me, you probably don't have it, so you can't lose it. But it's nice to feel confident the calculations you specify are being accomplished in the fashion you expected. It is estimated that more than 90% of conventional spreadsheets contain mistakes. I suspect the syntax and visual presentation used in T/Maker would yield a significantly lower error rate for typical problems. Even so, T/Maker includes a special tool that allows you to walk through any set of calculations one operation at a time while displaying the values being manipulated. It's called the Debugger and can build your confidence level while helping you find any mistakes. Also you may avoid the usual eye strain and accompanying headaches.

Do you really want to stare at this?!

Which can lead to this!



Important To Read And Watch The Video (easily reviewing your work and fixing mistakes are key advantages of T/Maker's approach)
The Debugger Et All:  We are going to revisit the tariff calculation and take a look at the light green buttons and the top of the toolbar along with the Debugger. The table has been redone with two trails. The first one is the one we showed initially and is used only on row 3. The second trail is the one-step-only version with a slight modification that is an intentional and quite subtle mistake. It is used on row 5 only. This is done in this fashion only for the purpose of demonstrating various features. The screen below is the one you see when in debug mode. With T/Maker the order of every calculation is explicit and determined by your specification. The Debugger will follow that order under your commands. Trails are executed in numerical order. For each trail, separate applications are done row by row from the top. At each row, these applications are done left to right. From each start location, steps are executed in number order. For each step, the operators are performed left to right. In a conventional spreadsheet with algebraic formulas, parentheses, and rules of presedence, the order of actual calculations is not sitting or even hiding in plain sight.


Let's learn a lot of stuff. Click Here!


Memory Names: Memories can be used to store and fetch values and can be created on the fly in a step. They're great for intermediate values. Names must start with two letters. Numbers and letters may optionally follow. Names are not sensitive to case and should not match a T/Maker keyword.  I recommend always capitalizing at least the first letter to visually differentiate memory names from column names.

This trail is using the Pythagorean theorem to determine the length of a tarp that will drop 9 feet while moving 6 feet away from the side of a house. Remember,  A^2 + B^2 = C^2.  9 is multiplied by itself and placed in a memory named Asqrd. 6 is multiplied by itself and then Asqrd is added to get A^2 + B^2. sqr is a T/Maker function that replaces the cVc with its squareroot. Thus C^2 became just C (the hypotenuse of the right triangle).


Cell Names:  These are generally used in all commercial spreadsheets as the way to identify values needed in a formula. In T/Maker one tries to avoid them as they are often the cause of mistakes. But you can use them. The name of an individual cell is the column name letter followed by the row number. Note the in the example that  the step could be placed in any cell and would accomplish the exact same calculation.  I recommend lowercase for the letter in a cell name.


Mortgages And The Like:  For mortgage payments and a few other common but complicated calculations, there are built-in procedures to do them. The table below might be used to calculate the monthly expenses of a potential home purchase. It would usually be done with three trails each on it's own screen. I have shown each trail separately with the rows they involve. This results in a duplication of some rows. The mortgage payment calculation is the second of the three trails. I will only show that piece in the video. See how it works. Click here!








Forms: With four different line styles plus the possibility of no line, you can design some nice forms. Allow text to span multiple columns when setting formats (Alignment + Spans). Text can be specified in an invisible ink format effectively blanking it out. This is useful when elements in a table are needed for calculations but not desired in a final print-out.

Printing:  Print the table in one of four fonts. Choose font style and size. Set a row height to tighten or spread out the vertical dimension. Decide whether or not to print lines. Options are available for row names and column names. Switch between landscape and portrait as well as set margins with two system dialog boxes called up with a button.

The top of the page shows the length and width of your table in pages. In addition to marign adjustments, changing the size of the font and other items may affect these numbers. Use the Recalculate button to refigure the size when you have altered any items. I generally try for a minimum number of pages with the width of only a single page.




Graphics: While the charts and graphs are not on a par with well-established spreadsheets, you can use them to get insights into your data and a student can learn what type of chart best illustrates a certain point.









Find / Replace Helper in Misc. Menu:
If you are in a position where you regularly enter data of purchases or whatever that need to be listed, the Find / Replace helper can be handy.
Use it to create abbreviations to minimize typing and store them with the file.
Then the Do All Instructions / Cells button is used to replace all abbreviations with the fully spelled out text.
For a needed monthly list of purchases, start with the previous month's file, rename it, and blank out the data to take advantage of the abbreviations stored in it. Quick look. Click here!




Starting From (Almost) Scratch :  I do keep the template below handy without any data. It gives me a head start on adding up lump sums or quantities with unit prices. My once a year hand-prepared maintenance bill for a small ski boat gets checked for labor and parts. The template includes a single pie chart for all the items most of which are zero. I just push the Show button for that.

   



It's There Somewhere:  While not always the case, if you find something you and others probably want to do, there is a chance it's there. It may be a faster way to edit, move the screen, duplicate some data, or in this case, insert, delete, or reorder trails and givem the names and descriptions. This starts with the Revise button on the Trails screen. Select the Trail Slot and move it or whatever. If you change the text (Name or Comments), remember to push the Set / Reset button. Names and comments will be helpful reminders. Also, someone else may have put in meaningful text in a file you got from elesewhere, like here! Some other screens have their own purposes for the Revise button.





The When Clause:  Different rows or columns in a table may require very different calculations. With the Apply button you do have the possibility to have a number of different trails and choose to apply them across different rows or columns as needed. This introduces an overhead of keeping track of what is used where and making choices when a new row or column is added.  Another approach is to put something in the trail or a step that lets the trail determine if it should do a calculation or not. This is achieved through what is called a "When Clause."  This clause is a true or false test which can be put in a step. If the clause is true, the operators after it are executed normally. If the clause is false execution moves on to the next step.

The clause itself consists of the word "when," a first operand, a test to be performed, and the second operand for the test. One chooses the elements proceeding from left to right on the help screen. This completes the edit area to the right of the light green "Load Clipboard and Cursor" button below. You may also edit what is in that area to provide specifics of what happens when the test is true. Then you can push the just mentioned button to get a cursor representing the text and click it where needed. It is often the case that some form of almost the same clause is needed more than once. You can change the text in the edit area and use the aforementioned button to get a new cursor. Note below that the calculation given is only executed for rows designated with the code "A".



Watch the construction of a When Clause demonstrating another use of it with the Tally Table button.



 Most of the material below is for persons curious about what advanced users might do. T/Maker is also a programming language of its own.
Statistics: Basic statistics can be obtianed with one trail using the & (Combo cursor). It uses memories to keep track of a number of key indices. These can be fetched from the memories and displayed as in the table below. With a few other trails you can put the values in normalized form and calculate correlation coefficients. This table includes those calculations. The current maximimum number of rows is 250. I have been meaning to try this with perhaps 25 numbers for each variable and all completely random. I am curious what the chances are of seeing correlation coefficients that suggest a correlation even though all numbers were random.




Column Relative Memory Names:  If a memory name ends with a question mark, the question mark is replaced by the column letter in which the name is used. Again, case insensitive. For Row 1 below the consecutive values are placed in raB, raC, and raD (think of "ra" as an abbreviation for "row above". In the second row, the value in raD (33, the D is specified) is divided by the values above for the three columns which use the question mark. The example below demonstrates how you might put values from previous rows into memories to make referencing them easier without having to use cell names. Note that when calculating row 3, the row above becomes row 2.
This was used in the example below by the Combo cursor as it needs to use different memories for each column.





Mortgage Payment The Hard Way:  This is the formula for a monthly mortgage payment (M) from the amount borrowed (Principle) over (n) periods at an interest rate (i) per period:
M = P [ i(1 + i)^n ] / [ (1 + i)^n – 1 ].  It is more easily forgotten than remembered. This example is for readers who wonder about unexpected tasks that T/Maker might handle. Most will not be attempting to construct a table at this level of complexity. But hopefully they can get the idea of how it works. Skip it if you like.


I  do know the payment accounting that is done each month. Interest is added. The payment is subtracted. That yields the remaining balance for the next month. And so it goes for every period. T/Maker is programmable. With the terms of a mortgage and a given monthly payment, it could do the math. If the final balance ended up negative by more than a trivial amount, it would mean the payment was too large. If it ended up too positive, it would mean the payment was too small. Something called a binary search is a smart way to deal with this type of situation.

First we need to find a low and a high estimate for the correct payment (discussed later), then we take the average of the two, and do the math. If the remaining balance is too negative the payment was too much. We change the high estimate to the average we just used and start over with a new average. If the balance is too positive, the payment was too little. We change the low estimate to the average instead and try again. If the balance was a trivial amount from zero, the payment is right and we stop repeating loops. The term "Binary" is used because the range of possibilities is cut in half with each iteration.

We will have three sorts of stages in this process: 1) Start Up: calculate the correct value as in the previous example to compare with this approach and set some nicely named memories with initial values. 2) Prep Next Guess: Prepare memories with values to run through all payments and establish our next payment guess. 3) Run and Evaluate: Do all payments, evaluate the remaining balance, and take the appropriate action. We will do one trail for each stage which makes it easier to see what is going on. A trail is a very flexible item.


Trail 1:


Startup: When T/Maker begins calculating all memories are effectively zero. In the first step, Pass is a memory which will be zero at the first execution of the trail. A When Clause is used with the "not equal" comparison to see what the story is. This test will fail since Pass is zero, so the rest of step 1 will not be done. T/Maker will jump to step 2. Later when Pass is not zero, the rest of the step will be done and T/Maker would EXit this TRAIL (EXTRAIL) and jump to step 1 of next trail, namely, 2.

This trail is meant to be executed only once. Steps 2 through 5 calculate the correct mortgage payment in the way of the previous example. Step 6 puts the borrowed amount in the memory Amount. Step 7 divides the interest per period by 100 so it is a rate as opposed to a percentage. Step 8 puts the number of periods in the memory Months. In truth, it could be quarters or years or whatever. Perhaps a memory named Periods would have been more to the point.






Trail 2:



Prep Next Guess: The first two steps of trail 2 are only done the first time trail 2 is executed. Otherwise, the Low and High estimates for the Payment are controlled in the third stage. The Low payment is calculated to only pay back something less than the full amount of the loan. Banks don't generally offer that. The High payment would pay back the interest on the full amount every month plus the Low payment. This would probably be called "sharking."

Step 3 displays the Low payment. Step 4 calculates and displays the Payment based on the average of Low and High. Step 5 displays the High payment.

Step 6 sets the memory Remains to full Amount (this is before the first payment is made).
It also sets the Time to 1 (think of this as the current month/period).
And it adds 1 to the memory Pass. This makes sure we won't do the one-time steps again and serves to count the total number of different payment amounts that were tried before the correct payment was found.


Trail 3:


Step 1 calculates the remaining amount including new interest.
Step 2 subtracts the next payment from the remaining amount.
Steps 3 and 4 simply display memory values of interest,
Step 5 Regardless of the Time, If what remains is already less than minus 5 the payment is too high. So the High value is reset to the current Payment and the table is RESTART(ed) from the beginning. However, this time Pass is not equal to zero so various steps will be skipped.
Step 6 tests if the final payment was just made. If not, this trail is RETRAIL(ed) which means T/Maker will jump back to the first step for this trail and advance another time period.
Step 7 is only tested after all payments are made. It checks if the remaining amount is greater than 5. If so the Payment was too low, so the Low value is reset to the current Payment and the table RESTART(ed).
Otherwise it is mission accomplished! The amount remaining is between minus and plus $5.
If there were a trail 4, T/Maker would have started on it.

Don't lose sight of the benefit that this example offers an oppotunity for students to learn something interesting independent of this problem solved. This can be done with many other subjects: statistics, probabilities, etc.
For the record, no trail yet has used a cell name except the example of how to use a cell name!


Simulations With Random Numbers: The table below gambles on roulette with the optimal strategy. One sets what they are willing to risk and how much they want to win. You choose your lucky number as well! The strategy involves betting only on a single number with an amount that achieves your goal on your first win. That amount goes up to cover bets lost. The more you are willing risk for a smaller win, the better your chances. To avoid being responsible for a bad decision you might make, the example below of risking 10,000 to win 500 actually loses after 108 lost bets in row. It wins much more often than it loses. But a loss wipes out the gain from 20 wins.

This simulation is done in one trail so it could be shown one screen. Dividing tasks into a few trails be more natural. You can think of the trail as a program that runs over and over again until either the number of passes exceeds "Max Passes," the money is all lost, or the desired winnings are achieved.  Steps 1 to 4 initialize values in memories for the very first pass. Steps 5 through 8 place the remianing funds, update the number of passes, and check for a terminal condition. Steps 9 and 10 calculate the bet ("cel" stands for ceiling and forces the bet, if possible, to be the whole number big enough to achieve the desired winnings). Step 11 rolls the dice. Step 12 handles a losing bet. Step 13 handles a winning bet. In either case, the trail is restarted which would exit if a terminal condition has arrived. At the top of the screen is the "heavy" math toolbar to remind you of what's available.

Why is this the optimal strategy? Like all casino games, the odds favor the house. When you bet on more that one number, part of your bet is actually betting against other parts of your bet. The more money that gets to the table, the more slices of it the house is expected to get. The odds pay you as though there were 36 numbers on the wheel but there are 38 when you include 0 and 00.



Here's a video of a number of spins. Watch the Pass count and the This Bet size.


Importing Data: To try T/Maker, you don't have to start with typing data. You can probably import data from a program you have that exports files in the popular CSV (Comma Seperated Values) format. T/Maker can also import data using white space as a delimiter, parsing mostly vertical columns, or using a first line that is a template for where columns of data are located.



Open a table file or create a new blank one for the data to be imported.
Click Export / Import menu, then Clipboard / File Controls
If the data is in a file, use the Load Clipboard button.
Otherwise make sure the data is in the clipboard.
Push the Show Clipboard button to display the data.
You may edit lines shown for whatever purpose.
If you do, push Set Clipboard To: button to load your edited version.


For this example, I made a selection from a web page and used the copy keystroke. I was unable to select the titles. Perhaps they are represented by a graphic and not text. Pushing the Show Clipboard button, the data appeared as in the listbox. I used the Select cursor on Row 1 Column A as the strarting position to load the table. Then I chose the White Space Delimited option to transfer the data to the table. You can see the first two rows below.


Picking data out of a web page works or does not work depending on how the HTML in the web page is written.
As you can see, there are a number of Clipboard to Table options. You can try one after the other. 
Push the Explain button for more details.

If you can get a CSV file, use it. If not, you can inspect the clipboard to see what might work.  The Export / Import menu also has some cursors to fix problems that might occur on individual rows.



Exporting Data:
Load the table from which data is to be exported.
Click Export / Import menu, then Clipboard / File Controls
Use the Select Cursor to select an area (click first and last cell)
Hint for above: use Page Up, Page Down, etc. to move screen
Or, push Select All button.
Enter CSV Character for separating values in CSV Format.
(Above does not have to be a comma)

Check Export Raw Values or leave blank for formatted values.
Choose a Table to Clipboard option.
Clipboard will then show in area below.
You may edit lines shown for whatever purpose.
If so, push Set Clipboard To: afterwards to load your changes.
To save clipboard as a file, push Save Clipboard option.
A dialog box will allow you to set a folder and file name.
   Moving Data:
   Save the file as it is first. 
Duplicate or move data in a table by exporting it. Then import it to the new location.
   Erase the old data when that operation is completed. Don't save anything until you are sure.
   BTW, one backup file is kept with zzz prepended to the file name if you set that option in the Options Menu.



The Quadratic:  Real life math is generally about applying known formulas to known values to get an estimate or understanding. Finding solutions to equations or points where lines intersect is more about scientific pursuit than managing your home or even small business.  Part of algebra includes this famous formula which can be a nightmare for some students. I thought I would put in a table that solves it for the coefficients a, b, and c.  Pushing the Compute button displays the solution if there is one in real numbers and prepares a list of numbers for the chart to the right. The Show button would show the chart.



The necessary designations for the graph values were put in the table manually on the Graphs input page.  I first did the graph as a single line showing the parabola f(x) versus x. That was rather boring and quite low on information value. I then tried the presentation above. The value of x is shown as a red bar which starts off negative and climbs. The blue bar shows the value of the function. You can see the two solutions where the height of the blue bar is zero. When things are easy, a spirit of trial and error discovery is encouraged. That often leads to something unexpected and better.




Keyywords : Spreadsheet, tables, t/maker, tmaker, arithmetic, remedial math, algebra, quadratic equations, silmultaneous linear equations, word problems, computational skills, math for everyone, spreadsheet for everyone, elementary school spreadsheet, problem solving, problem solving before algebra, spreadsheet for 10 year olds, two dimensional hand calculator, arithmetic syntax for spreadsheets, practical math, math for the real word, usable math, few mistakes, fewer mistakes, easy to understand, intuitve, visual syntax, like writing on a blackboard,sensible, practical, useful, straightforward, user friendly,
fun, enjoyable, low stress, easy to use, math for dummies, spreadsheets for dummies, do not need algebra, algebra not required, only arithmetic needed, no algebraic formulas, no cell names,
memories, make your own names for memories, left to right order, no precedence, no parentheses, mortgage function, net present value, discounted value, growth rate, trigonometry, sine, cosine, tangent,
logs, exponents, Peter Roizen, Cubberley, University of California at Berkeley, Cal, Palo Alto, I Hate Algebra, non-algebraic solutions and notations, programmable calculator, iterations, convergent solutions, probablities, optimal strategies, linear programming, statistics, correlation coefficients, standard deviations, MAGA Principle 1:  Make Arithmetic Great Again.  MAGA Principle 2: Make Alegbra Go Awayy.  MAGA based. MAGA MATH. MAGA SPREADSHEET, MAGA Tables. conditional logic