My Dear Aunt Sally (iOS)

My Dear Aunt Sally (iOS)

PEDMAS is an acronym that is taught in elementary school classrooms across the nation. It helps students remember the priority, or Order of Operations, used to solve expressions involving strings of numbers and operators. It stands for:

Paranthesis
Exponent
Multiplication
Division
Addition
Subtraction

A familiar mnemonic widely used in place of PEDMAS is: Please Excuse My Dear Aunt Sally. Thus the name of this application... Kind of an inside joke for the mathematical types.

Computers, including smart phone calculators, desktops, etc. have built in functionality to properly interpret such expressions so we don't have to. But have you ever wondered what algorithms the CPU executes to get the right answer every time? This app demonstrates one such algorithm called the Shunt Yard, developed a few years back by Professor Edsger W. Dijkstra.

We’re going to take a closer look under the hood at Order of Operations algorithms. It will interest programmers and school students alike; for programmers, the use of queues and stacks will reinforce previous computer science learning; for students, it allows them to write an expression, then analyze it using Order of Operations rules, step by step. The Quiz mode generates random expressions of user selected lengths and magnitudes and checks the student's answer. Incorrect answers can be examined using the same step by step process.

In the SOLVE mode, algebraic expressions are entered free hand using an internal keyboard which limits entries to the five common mathematical operators (+ - / * ^) as well as one level of parenthesis. There is a maximum term limit of ten variables, but no limit to their magnitude in this mode. 

In the QUIZ mode, between two and ten variables can be selected, their maximum value and which operators that are eligible. The program then randomly generates an algebraic expression using these parameters.

Both modes make available an analysis page which is used to step through the solution. Stack/Queue dynamics are displayed.