For more than half of my life I have been using and programming computers; the thought-processes and analytical style used in computer programming come naturally to me. I have considerable practical experience with a variety of languages, operating systems, hardware platforms and networks, and I have been employed as a consultant and a programmer by universities and businesses. As a youngster, I spent my time writing editors, designing operating systems, and developing new programming languages. Fifteen of my programs have been distributed over the Internet, complete with extensive documentation and commented source code.
In 1984, after graduating from Williams college, I was hired as a consultant by the User Services division of the University Computing Center of the University of Rochester. I was responsible for answering questions concerning the
VAX/VMSsystem from the entire campus and the associated Strong Memorial Hospital, from students, faculty, staff, doctors and medical researchers. I taught computer-related minicourses from introductory to advanced levels, and wrote on-line and printed documentation for a variety of software products.
At the end of my first year as a consultant, I was promoted to
VAX/VMSgroup leader, one of the youngest department members to hold such a position. As group leader, I supervised three system programmers and two consultants. The system and consulting staff had not worked well together in the past, but we overcame these problems and my group quickly became a model for other sections of the computing center.
During a departmental reorganization, I was moved to the ailing Consulting Group, where I was put in charge of eight computer consultants in an attempt to raise the quality of the consulting services. One important step in this direction was to incorporate microcomputer consulting into the predominantly mainframe-oriented group. At the end of my fourth year at the computing center, with this process well under way, I left to pursue a graduate degree in mathematics.
In my second year of graduate study at Brown University, I was offered the position of Department Computing Coordinator as part of my financial support. I was responsible for the installation and maintenance of all departmental computing equipment and networking, was active in planning computing policy and recommending hardware and software purchases, and was expected to answer faculty questions concerning their computers.
While at Brown, I had the opportunity to work with Thomas Banchoff, who is well known for his influence in the field of computer graphics, particularly its applications to visualizing higher-dimensional phenomena. I have written graphics programs to model polyhedral surfaces in three- and four-space that were specifically designed to analyze self-intersection and to perform level-set and slicing computations. These programs were instrumental in developing the examples that appear in my thesis and subsequent work. For another project I wrote an object-based user interface to a sophisticated differential geometry graphics program. This interface allows users far more flexibility to create and manipulate graphical objects "on the fly" than did the original one, and I continue to use it today.
At the Geometry Center, I participated in several software-development projects. For the Pisces project, I designed an adaptive-mesh algorithm for computing level sets of function graphs in arbitrary dimension and co-dimension that pays particular attention to singularities of the level set. For the Geomview project, I developed the StageTools package, a set of external modules that provide a scripting language that makes creating videos and MPEG movies easier to do in Geomview, particularly those movies that involve deformations of parametric surfaces over time, or parametric surfaces in higher-dimensional spaces, and continue to update and maintain these modules today.
For over a year, I supervised the Web projects at the Center. This involved overseeing their entire web, from its day-to-day maintenance to planning future initiatives, and included coordinating the efforts of several staff members and student programmers. I was responsible for a major restructuring of the Geometry Center web site, and for initiating several of the efforts of the Center including the electronic reference section of their web, the "Topological Zoo", several interactive applications, and a project to develop a web browser plug-in with mathematical display capabilities. I am very interested in the issues surrounding the electronic communication of mathematics, and am playing an important role in a joint venture between the Geometry Center and the MAA to develop a totally electronic journal, Communications in Visual Mathematics, specifically designed to address some of these issues. My own research papers, written in hypertext, may be considered pioneering work in this area (see the URL <
The Geometry Center provided me with the opportunity to investigate the use of technology in the classroom. The multi-variable calculus course that I taught in connection with the UMTYMP program of the University of Minnesota incorporated an extensive computer-based laboratory component where students used hypertext materials and mathematical software to investigate the material presented in the course. See my statement of teaching philosophy and list of courses taught for more information. I continue to use web pages and interactive demonstrations in my classes at Union; see my on-line course materials (particularly the
Math 53notes in the spring of 1999) for examples.
As a text preparation tool, I have been using TeX (a computer typesetting program designed for setting mathematical text) for over ten years, and have used it to produce documents from a few pages to over one hundred pages in length. I have written several extensive macro packages in TeX, including: an object-oriented programming package for TeX, a package for creating annotated critical editions of historical texts, a package that makes including diagrams in TeX documents much easier, and a mail-merge facility.
I have generated computer-based artwork for over ten books and papers, most notably Beyond the Third Dimension: Geometry, Computer Graphics, and Higher Dimensions, by T. F. Banchoff (Scientific American Library, W. H. Freeman and Co., New York, 1990), which contains over 200 illustrations. We produced the draft manuscript and all the artwork in-house and on time (much to the publisher's surprise), at a lower cost and with greater accuracy than the publisher could have. The article "Illustrating Beyond the Third Dimension" that appeared in Leonardo, special issue on Visual Mathematics, 25 (1992) 273-280, describes this process in more detail.
Physical scientists have long used the power of the computer to analyze their numerical data and model real-world problems. With the advent of such programs as
Mathematica, mathematicians have the ability to use this same power to analyze algebraic information. Recent advances in graphics technology, and the availability of relatively low-cost graphics workstations, are making it possible to apply this power not just algebraically, but also graphically. Information that was never before visible becomes clear, and interrelationships that went unnoticed can be seen, when properly displayed. Graphical analysis not only clarifies known results, but also motivates new theorems and suggests proofs.
Computer Languages:C, perl, Tcl/TK, TeX, HTML, fnorse (a graphics language), PostScript, Pascal, FORTRAN, BASIC, 6502 and 68000 assembly languages, CHIP-8
Environments:Sun workstations, SGI workstations, Linux, Unix, VAX/VMS, Macintosh, Commodore Amiga, IBM PC, VM/CMS, HP workstations, DEC VAXstations.
Programming Projects:3D and 4D graphics, fractals, cellular automata, editors, operating systems, language compilers, system utilities, web CGI scripts, web log analysis tools, MPEG movie tools, communications programs, bulletin board programs, databases, games, and mathematical function plotters. I have distributed more than fifteen programs over the Internet.