This post uses MathJax. If you see mathematical formulas with dollar signs around them, or badly formatted formulas, try refreshing the screen. Sometimes you have to do it two or three times.
Some personal history
When I was young, I was your typical nerdy geek. (Never mind what I am now that I am old.)
In high school, I was fascinated by languages, primarily by their structure. I would have wanted to become a linguist if I had known there was such a thing. I was good at grasping the structure of a language and read grammars for fun. I was only pretty good at picking up vocabulary. I studied four different languages in high school and college and Turkish when I was in the military. I know a lot about their structure but am not fluent in any of them (possibly including English).
After college, I decided to go to math grad school. This was soon after Sputnik and jobs for PhD's were temporarily easy to get.
I always found algebra easy. When I had to learn other symbolic languages, for example set theory, first order logic, and early programming languages, I found them easy too. I had enough geometric insight that I did well in all my math courses, but my real strength was in learning languages.
When I got a job at (what is now) Case Western Reserve University, I began learning category theory and a bit of cohomology of groups. I wrote a paper about group automorphisms that got into Transactions of the AMS. (Full disclosure: I am bragging).
The way Saunders Mac Lane did cohomology, he used "$+$" as a noncommutative operation. No problem with that, I did lots of calculations in his notation. In reading category theory I learned how to reason using commutative diagrams. That is radically different from other math — it isn't strings of symbols — but I caught on. I read Beck's thesis in detail. Beck wrote functions on the right (unlike Mac Lane) which I adapted to with no problem. In fact my automorphisms paper and many others in those days was written with functions on the right.
Later on in my career, I learned to program in Forth reasonably well. It is a reverse Polish language. Then (by virtue of summer grants in the 1990's) to use Mathematica, which I now use a lot: I am an "experienced" user but not an "expert".
Learning foreign languages in studying math
I taught mostly engineering students during my 35 years at CWRU (especially computer engineering). When I used a text (including my own discrete math class notes) some students pleaded with me not to use $P\wedge Q$ and $P \vee Q$ but let them use $PQ$ and $P+Q$ like they did in their CS courses. Likewise $1$ and $0$ instead of T and F. Many of them simply could not switch easily between different codes. Similar problems occurred in classes in first order logic.
In the early days of calculators when most of them were reverse Polish, some students never mastered their use.
These days, a common complaint about Mathematica is that it is a difficult language to learn; at the MAA meeting in Madison (where I am as I write this) they didn't even staff a booth. Apparently too many of the professors can't handle Mathematica.
I gave up writing papers with functions on the right because several professional mathematicians complained that they found them too hard to read. I guess not all professional mathematicians can switch code easily, either.
There are many great mathematicians whose main strength is geometric understanding, not linguistic understanding. Nevertheless, to become a mathematician you have to have enough linguistic ability to learn…
The big elephant in the room is ordinary symbolic algebra as is used in high school algebra and precalculus. This of course causes difficulty among first year calculus students, too, but college profs are spared the problem that high school teachers have with a large percentage of the students never really grasping how algebra works. We don't see those students in STEM courses.
It is surely the case that algebra is a difficult and unintuitive foreign language. I have carried on about this in my stuff about the languages of math in my abstractmath site.
Some students already in college don't really understand expressions such as $x^2$. You still get some who sporadically think it means $2x$. (They don't always think that, but it happens when they are off guard.) Lots of them don't understand the difference between $x^2$ and $2^x$.
In complicated situations, students don't grasp the difference between an expression such as $x^2+2x+1$ and a statement like $x^2+2x+1=0$. Not to mention the difference between the way $x^2+2x+1=0$ and $x^2+2x+1=(x+1)^2$ are different kinds of statements even though the difference is not indicated in the syntax.
There are many irregularities and ambiguities (just like any natural language — the symbolic language of math is a natural language!): consider $\sin xy$, $\sin x + y$, $\sin x/y$. (Don't squawk to me about order of operators. That's as bad as aus, außer, bei, mit, zu. German can't help it, but mathematical notation could.)
One monstrous ambiguity is $(x,y)$, which could be an ordered pair, the GCD, or an open interval. I found an example of two of those in the same sentence in the Handbook of Mathematical Discourse, and today in a lecture I saw someone use it with two meanings about three inches apart on a transparency.
Anyway, the symbolic language of math is difficult and we don't teach it well.
There are other ways to structure calculations that are much more transparent. Most of them use two or three dimensions.
- Spreadsheets: It is easy to approximate the zeros of a function using a spreadsheet and changing the input till you get the value near zero. Why can't middle school students be taught that?
- Bret Victor has made suggestions for easy ways to calculate things.
- My post Visible Algebra I suggest a two-dimensional approach to putting together calculations. (There are several more posts coming about that idea.)
- Mathematica interactive demos could maybe be provided in a way that would allow them to be joined together to make a complicated calculation. (Modules such as an inverse image constructor.) I have not tried to do this.
A lot of these alternatives work better because they make full use of two dimensions. Toolkits could be made for elementary school students (there are some already but I am not familiar with them).
It is impractical to expect that every high school student master basic algebraic notation. It is difficult and we don't know how to teach it to everyone. With the right toolkits, we could provide everyone, not just students, to put together usable calculations on their computer and experiment with them. This includes working out the effect of different payment periods on loans, how much paint you need for a room, and many other things.
STEM students will still have to learn algebraic notation as we use it now. It should be taught as a foreign language with explicit instruction in its syntax (sentences and terms, scope of an operator, and so on), ambiguities and peculiarities.