Thursday, December 28, 2006

A Second (Occasional) Contributor

Hello, from a second (occasional) contributor. Leo has seen fit to grant me posting rights as well, so I thought I would introduce myself. I won't make you read to the bottom of the article to find out who I am: I am Aaron Greenhouse. I'm not completely sure what role Leo has in mind for me here, but I think I am best seen here as the skeptical consumer of mathematical results. Let me clarify, by giving my background. I have a doctorate in Computer Science from Carnegie Mellon University. My dissertation was in the realm of applying program analysis techniques to software engineering. Specifically, analysis of Java programs for race conditions. I am now a Member of the Technical Staff at the Carnegie Mellon University Software Engineering Institute. I can post the details of my current work at a later point if anyone is interested.

I am not, nor do I pretend to be, a mathematician, although I do have a mathematical background of sorts. I have an undergraduate minor in mathematics from Brandeis University. This was a bit of accident. All I really wanted to do was to take a course on Complex Analysis. But to do that I needed to take the multi-variable calculus course. I had taken that in high school, so I figured I would take the advanced version of the course at university. I'm not sure that was a good idea, because the professor—even though he was the undergraduate program coordinator for the department—hadn't taught undergraduates in several years. He frequently had catastrophic subscript and other notational errors one hour into proofs. But I made it through the course.

At some point I realized the minor only required five classes, so I figured I would take the Algebra course to acquire the minor. Another mistake. The professor was a specialist in Algebraic Number Theory, so you can guess where all his examples where drawn from. This did not help my comprehension. I only took one semester of Algebra, and then rounded out my minor with a very interesting course on nonlinear dynamic analysis that didn't make my head hurt as much.

My mathematics in graduate school were focused on programming language semantics. I took two courses from John Reynolds and a course from Stephen Brookes. I feel comfortable reading just about any paper from POPL, ICFP, and related conferences. But I frequently have the feeling that there is some higher level of understanding just outside my grasp that I find very frustrating.

So let's return to my claim that I am the
skeptical consumer of mathematical results. Basically, I am not interesting the beauty of the result for the sake of the beauty. I am interesting in what it can do for me as a practitioner. I am not so stubborn as to want practical results immediately, but I would like to be convinced in less technical speak of what is the potential of the result. I seem to have a certain level of mathematical abstraction beyond which I cannot grasp. (This is actually quite interesting because Software Engineering and Programming Languages are all about abstraction.) Here's my point more concretely. I can read the axioms and some basic theorems about, for example, algebraic groups. I can nod my head, and say to myself, yes I understand what they mean. But then on the next page the textbook makes some comment like "and we see that the following property trivially follows." Except that, to me, it isn't trivial. The author won't even bother to present the proof of the property because the author thinks it is so obvious, and I'm left scratching my head in wonder.

Any way, so to summarize: I have, what I believe to be, a more advanced than many mathematical education. But yet I have a clearly defined limit of where it will take me, even though I would like to understand the overall implications of certain advanced concepts so that I can apply them.

No comments: