I have been studying algorithms to compute the Levenshtein edit distance between two strings, which is defined as the minimum number of “edits” required to transform one string into another string. This is useful for a variety of things, from DNA sequence alignment to spell correction to address validation. I am studying it to resolve misspelled and OCR’ed scientific names of…
A brief history of the Pratt parsing algorithm The history of programming language parsers is dominated by the thorny challenge of parsing expressions, mathematical expressions in particular, taking into account the precedence of operators in the expressions. Modern formal language theory began with the work of Noam Chomsky in the 1950s, in which Chomsky lays out a mathematical framework for…
This article is an expanded version of the math part of an article I cowrote with marine biologist Dr. Andrew Rhyne about how many well-meaning public health professionals have misinterpreted the math behind test efficiency, Bayes’ Theorem. This misinterpretation has lead to dangerous public policy positions. Anyone with a math allergy is invited to read that article instead. I and Dr. Andrew…
This short article is for those students, programmers, and computer scientists who already have a basic idea of what a parser is and does but who want to know what that mysterious reference to “IELR(1)” means in the Bison parser generator manual . The IELR(1) Parsing Algorithm The IELR(1) parsing algorithm was developed in 2008 by Joel E. Denny as part of his Ph.D. research under the…
In this third installment of our n part series, “Defining the Wolfram Language,” we begin to study the properties, namely the arity, affix, associativity, and precedence, of the Mathematica operators we found in Part 1 . If we ended Part 1 proud of our accomplishment—perhaps even a little smug—then we will get reacquainted with our humility in this article.
In programming languages, an operator is a symbol used to represent a specific operation such as subtraction of integers or dereferencing a pointer. The symbols + , * , and ! are commonly used as operators in many programming languages, for example. In this article we define some basic programming language terminology that allows us to categorize operators according to their different properties.…
Finding All Wolfram Language Operators In this second article, Part 1 of an n part series on Defining the Wolfram Language , we start getting our hands dirty hunting down every single operator in Mathematica and each operator’s linguistic properties. To my knowledge, nobody outside of Wolfram has created such an exhaustive list before.
Using computers to do automatic translation has a long and rich history in computer science. A course in compiler construction is a veritable survey of topics in computer science running the gamut from formal languages to data structures and algorithms to Hopfcroft’s algorithm to minimize deterministic automata. One of the first things a student learns in a compiler construction course is…
Euclid in The School of Athens This is a very special fresco painting by Italian Renaissance artist Raphael in the Vatican Museum called The School of Athens . It depicts the great philosophers of ancient Greece, famously with Plato pointing up and Aristotle pointing down.
The story begins with one of those little mundane activities that fill every professor’s day. Right before the spring semester began I was evaluating various textbook options for the next time I teach undergraduate real analysis. Stephen Abbott’s Understanding Analysis published by Springer seemed to be exactly the kind of book I was looking for.
Do you need to ask your professor for an extension on a due date or to reschedule a quiz? A little thought before you click send on that email can make a big difference. Here is some advice.
The Mathematics Community on Google+ had our second ever Hangout On Air last week. I was joined by Luis Guzman , Jason Davison , and Amy Robinson in a conversation that ranged from fluid dynamics to applying the mathematics of networks to map our ideas to JPEG image compression.
While the target audience of this article is my fantastic calculus students, other math teachers might enjoy it as well. Sneaky Continuous Functions When students in first semester calculus first start learning about limits, they are often asked to determine limits using the graph of a function, which we will call the graphical method, and also by constructing a table of values of the function,…
Susan Meisenhelder offers a scathing critique of MOOCs in her article “MOOC Mania” published in the latest issue of Thought & Action . ( Here is a link to a ~5mb pdf of her article. ) The evidence so far suggests that MOOCs are great for a very specific kind of student looking for a very specific kind of product, but that MOOCs are really awful for some of the very groups that they are…
It’s over. Getting my internet fix in the hotel lobby at midnight, walking 18 miles a day through the convention center, sitting in uncomfortable chairs for hours, getting dinner in a local restaurant and realizing halfway through the meal that every single person dining there is also a mathematician, randomly bumping into an old friend or mentor or student–it ended today at around…
I love the exhibit hall. I love books, and the exhibit hall is full of some of my favorite kinds of books. I spend hours picking through the texts, flipping through their pages. The AMS sold me on a great book directed at undergraduates on Fourier analysis and an advanced text on Riemannian manifolds. In fact, they managed to photograph me mid-purchase ! I also learned they are selling their first…
The best part of the Joint Meetings is networking with like-minded people. I ran into many old friends and colleagues. Today (Thursday) several math bloggers and Google+‘ers organized an impromptu meeting for lunch. I stuck a sign on the message board inviting other math bloggers to join us, and a cohort of tumblr bloggers discovered it and joined us. Such is the power of the JMM message…
Today I learned about connections between musical rhythm and knot theory, abstract algebra and dance, a Navy ship from the mid 1800s called the U.S.S. Constellation, and some great undergraduate real analysis pedagogy. In today’s post, I’ll share with you some of the most interesting mathematical ideas I heard today.
I am in Baltimore to attend the 2014 Joint Mathematics Meetings , the largest gathering of mathematicians in the world involving the American Mathematical Society , the Mathematics Association of America , and many other professional societies related to the mathematics profession. There will be over 2500 talks given on topics ranging from the mathematics of pop-up books (#489) to the density of…
A colleague who had been worried about one of her star students who had been missing from class for a couple of weeks came into my office. “She committed suicide yesterday.” She needed to talk through it. She told me that she and two other professors had gone to the Student Services people a few days earlier—on a weekend—concerned about the student. She told me about all the ways they had tried to…
--> I am an R&D-oriented computer scientist, mathematician, and software engineer with broad experience. I have particular interests in compilers, programming languages, and virtual machines; computer vision and machine learning; and algorithm design and mathematical programming.