Fixing Mathematical Notation with Computing, and “Proving” It with Education

November 2, 2018 at 7:00 am 4 comments

I was looking for a paper that I needed to review last night, and came upon these paragraphs in the paper I brought up by mistake.


This is bold language:

It might be argued that mathematical notation (MN) is adequate as it is, and could not benefit from the infusion of ideas from programming languages. However, MN suffers an important defect: it is not executable on a computer, and cannot be used for rapid and accurate exploration of mathematical notions.

The paper I found in my archive “Computers and Mathematical Notation” doesn’t seem to be published anywhere.The author is Kenneth E. Iverson, the inventor of APL. This paper echoes some of the thoughts in Iverson’s 1980 Turing Award Lecture, “Notation as a Tool of Thought.”

The unpbulished paper is notable because he wrote it in J, his successor language to APL.  He realized that his languages would be more accessible if they used the ASCII character set. J (which you can find at is essentially APL, but mapped to a normal keyboard.

The attempt to “fix” mathematical notation (“suggestions for improvement,” to be exact) is bold and interesting.  What makes his argument particularly relevant for this blog is how he made the argument. How do you “prove” that you have improved on traditional mathematics notation?

Iverson decided that education was the way to do it.  He wrote mathematics textbooks, using J.  He wanted to show that basic mathematics is more explorable using his notation.

I find this network of papers and textbooks fascinating.  I love the goal of inventing a programming notation, not to develop software, but to improve the expression and exploration of mathematics. (In that sense, J is like Mathematica.) I am intrigued by the challenge of how to show that you succeeded, and to use education as a way to demonstrate that success. I’m amazed at these multiple textbooks that Iverson wrote and released for free, to encourage exploration of mathematical ideas with J.

This week, I was informed that I will be receiving the 2019 SIGCSE Award for Outstanding Contribution to CS Education. The award will be presented at the 2019 SIGCSE Technical Symposium to be held in Minneapolis, MN  from Feb 27 – March 2, 2019. I am honored and thrilled.  SIGCSE has been my academic home since my first ACM publication at SIGCSE’94. The list of awardees is stunning, including my advisor, Elliot Soloway, Alan Kay, Hal Abelson, Jan Cuny, Alan Perlis, Judith Gal-Ezer, Sally Fincher, Grace Murray Hopper, Wirth, Knuth, and Dijkstra (among many others — the award started in 1981). It’s an impressive club I’m joining.

That announcement didn’t feel like enough for a blog post in itself, so I’m just tacking it on down here.  I’ll probably write more about it when I figure out what I’m going to say in my talk.


Entry filed under: Uncategorized. Tags: , , , .

Novum Organum: The original “How To Not Be Wrong” What do I mean by Computing Education Research? The Social Science Perspective

4 Comments Add your own

  • 1. tdmorley  |  November 2, 2018 at 8:27 am

    I have, over the years, changed my mind about some notations, partly on the basis of tricky issues of variable binding, such as in Lisp or Mathematica. Some of Iverson’s ntatins, like floor and ceiling have become commonplace.
    On another note the special interest group on philosophy of mathematics is having a special section at the winter joint mathematical meetings this year. I am speaking on “Feynman ‘s funny pictures”.

  • 2. Gaby Nieva  |  November 2, 2018 at 10:08 am


  • 3. bob therriault  |  November 3, 2018 at 2:48 am

    J is actually more than just APL mapped to the ASCII character set. it has many elegant approaches to programming that have since been introduced back into APL. it is worth the effort to learn this executable, mathematic notation that not only captures the operations of mathematics but lets you experiment using the computer as a tool. Thank you for mentioning the language and congratulations on your award. it is well deserved.

  • 4. Ellis 'Skip' Cave  |  November 3, 2018 at 11:36 am

    I learned APL in the late 70’s and used it primarily to develop OCR algorithms (on an acoustic-modem-connected IBM Selectric typewriter with an APL typeball) for automatic mail sorting systems and point-of-sale terminals. I switched to J in the mid 90’s, and I still use J for my engineering work today. A couple of years ago, I stumbled on the Q & A website Quora. A good portion of the questions asked on that site are math problems, so I began answering the posted questions using the J language. J’s vector/matrix capabilities and terse 1& 2-character ASCII operators (called verbs in J) allowed brute force solutions to many problems in a single short line of code, which would have otherwise required complex analysis and knowledge of obscure math relationships. I have answered thousands of questions on Quora using J. I have found that J makes an excellent teaching tool, as it encourages exploration, because the dozens of powerful primitive operators (all of which extend to vectors and matrices) make experimenting fun. The fact that the J interpreter is free, and runs on my Android phone, my Windows desktop, and my MacBook, is a big plus.

    “Civilization advances by extending the number of important operations which we can perform without thinking of them.”
    ― Alfred North Whitehead


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Trackback this post  |  Subscribe to the comments via RSS Feed

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 4,325 other followers


Recent Posts

Blog Stats

  • 1,575,155 hits
November 2018
« Oct    

CS Teaching Tips

%d bloggers like this: