PEMDAS is an acronym that is taught in 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:
P(arenthesis)
E(xponent)
M(ultiplication)
D(ivision)
A(ddition)
S(ubtraction)
A familiar mnemonic widely used in place of PEMDAS 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 dont 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 students 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.