Earlier this week I received a text message from my oldest son, who just started his second year at Northeastern University. He wrote to tell me that he’ll be using MATLAB in one his classes. I don’t know if he was excited, but I certainly was! This put me in a reflective mood, thinking about my own career path, engineering education, and how MATLAB has been woven throughout. So I’d like to present a rough timeline of thirty years of engineering education and MATLAB as seen through my own personal perspective.
I arrived at Georgia Tech as an electrical engineering (EE) student. That year I took a required engineering programming course using Fortran, as well as a data structures and algorithms course using Pascal. Cleve’s Fortran-based MATLAB was being distributed informally to his network of academic colleagues on mag tape reels, but learning about MATLAB was still a few years away for me.
Jack started The MathWorks based on the twin ideas that MATLAB would be very useful in controls engineering and that the new IBM PC would eventually catch on among engineers.
I only remember one undergraduate EE course in which we used a software package. It was some flavor of Spice, the circuit simulator.
By that time I had decided to go straight into graduate school as soon as I finished my Bachelor’s degree. I wanted to become a professor.
In a two-week period over the summer, I went from collecting my diploma to starting classes in the Ph.D. program at Georgia Tech. I connected with my thesis advisor and was soon working on active research projects in image processing. I flirted briefly with writing image processing programs in Pascal. Then I switched to C after reading a book about it (while I was supposed to be paying attention in my Calculus of Variations class).
Jim McClellan joined the Georgia Tech faculty in the Digital Signal Processing research group. He was an early MATLAB convert. He got a few grad students together to make a group purchase. I still have my disks:
MATLAB quickly became popular in the DSP group. It did not yet have image display capabilities, though, and I continued to write my image processing code in C.
I wrote a package of “Digital Signal Processing Utilities” for my thesis advisor to use in his undergraduate DSP class. (The fact that I spent a term working enthusiastically on this project instead of my thesis research was an early but unrecognized clue about my eventual career path.) This software was revised by other students later and then incorporated into the book Introduction to Digital Signal Processing: A Computer Laboratory Textbook by Smith and Mersereau. Computer-based textbooks were becoming more common at this time because of the increasing availability of PC labs on campuses, but textbook authors still shied away from relying on commercial software in their textbooks. Home-brew software was common. That started to change rapidly with ...
... the publication of The Student Edition of MATLAB. This book came with a limited-capability version of MATLAB intended for student use. The availability of this inexpensive MATLAB version dramatically accelerated the popularity of MATLAB for use in engineering education. Today there are more than 1400 MATLAB and Simulink based books listed on the MathWorks web site.
I finished my Ph.D. and joined the faculty of the University of Illinois at Chicago. For office equipment I requested a Sun Sparcstation and a copy of MATLAB. MATLAB 4 was released at around this time, although it took a while for MATLAB 4 to be ported to all of the various platforms. MATLAB 4 sported a new graphics system that, among other things, finally had image display. I began to use MATLAB more often for my own research work, and I used the Student Edition in a course.
Around this time I received a letter from MathWorks announcing the imminent release of a new product called “Simulab.” I really wish I had kept this letter. It would have been a collector’s item, because Simulab had to be renamed to Simulink before it was released.
Three years later, academia wasn’t working for me as well as I’d hoped. I tried desperately to think of something I might be good at for a commercial company. MATLAB came to mind.
I eagerly signed up to be a beta tester for the first version of the Image Processing Toolbox. Just after the beta program ended, I interviewed for a job at MathWorks. When the job offer came, I carefully and thoughtfully considered it (for about a minute) and said yes. I left academia and the Chicago cold for software development and the Boston cold. MathWorks at that time had about 190 employees. (Today the number is more than 2200.)
Throughout my MathWorks career I’ve continued to be engaged with engineering education. For several years I was on our internal “advisory group” for education. In the mid-1990s I attended the first IEEE International Conference on Image Processing (ICIP). For a special session on education I coauthored (with Mike Orchard) a paper on using MATLAB and C for teaching image processing. I was a cheerleader for the idea of removing limitations from the Student Version of MATLAB so that it could handle image processing problems well. (Today's Student Version includes the complete Image Processing Toolbox!)
Sometime around 2001 or so, Rafael Gonzalez (lead author of Digital Image Processing) visited MathWorks and I had a chance to meet him. He immediately bent my ear about the idea of writing a MATLAB based textbook on image processing. In 2004, the first edition of Digital Image Processing Using MATLAB was finally published. A few years later, when I was visiting universities with my son who was about to graduate high school, I would sometimes sneak away during the campus tour to see if the university library had the book.
In 2006 the ICIP conference was held in Atlanta, my old stomping ground. I was eager to attend, and I arranged to give a special session on software development tools and techniques that I learned at MathWorks and that I thought would be useful to engineering researchers. I was able to reconnect with many of my academic colleagues and had a really great time. Over the next couple of years I traveled around to 7-8 universities to give that talk, mostly to graduate departments.
At one of those university visits, I met up with my thesis advisor. He told me that he felt engineering students knew less about programming today than they used to. Engineering programming was getting squeezed out of the curriculum. Increasingly, students these days receive only a very brief introduction to programming, often using MATLAB. This is consistent with the trends that we have seen at MathWorks.
During the last couple of years I’ve been much more involved in the design of MATLAB, and as a result I’ve been doing somewhat less image processing work. We are trying to understand our users and their needs better at all levels, including our student users who come to MATLAB with relatively little or no programming experience. We are working hard to make the MATLAB experience as good as we can for all of our users.
It’s been a true joy of my MathWorks career that the tools I help to design and build have had (and continue to have) such a beneficial impact on engineering and science education worldwide. To all the students out there just now settling down to your fall classes, I offer my best wishes for your success. Have fun and keep up with the school work!
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.