Associate Teaching Professor Brian Stuart, PhD brings a wealth of computer science and machine learning knowledge to the College of Computing & Informatics (CCI). Before arriving at the College in 2014, Stuart used his talents to develop tools to benefit society, such as building software to run cotton gins, prototyping surgical instruments, and researching and developing data storage solutions. Stuart also authored a textbook titled Principles of Operating Systems. He teaches classes including Computing and Informatics Design I & II, Introduction to Computer Science, Computer Programming I & II, and Operating Systems. His research interests include machine learning, networking, robotics, image processing, data storage, operating systems, data communications, distributed/operating systems, accelerated computer programming and computer graphics. He’s currently working on a project to develop a functional scale, 3D printed model of the Electronic Numerical Integrator and Computer (ENIAC), the world’s first general purpose computer. In his spare time, Stuart keeps a “computing museum” and creates music.
CCI: How were you first introduced to computer science?
Brian Stuart: There were three particular early introductions that were especially formative. First, I remember coming across a couple of manuals dating from the early '60s that my dad had in the attic when I was a kid. The second was one weekend when I was visiting some relatives. My cousin had recently purchased an Altair 8800, and I spent nearly the whole weekend playing with that machine. I was hooked and had no choice but to get a computer for myself, which ended up happening a few months later. Finally, about a year after that, I attended a sort of summer science camp held at a nearby university. During those several weeks, I got a chance to do some programming on a PDP-11/45 and also to use an analog computer. Of course, that was all about 40 years ago, so who knows how much I remember correctly.
CCI: What kind of work were you involved in before Drexel?
BS: My first position out of college was in telecommunications where I did hardware design, embedded programming, digital signal processing (DSP) programming, simulation of DSP devices and automated testing software. At the same time, I did my MS in electrical engineering [at Notre Dame University] where my thesis was on multi-processor computer architectures. Then, I went on to do my PhD in computer science [at Purdue University] where my dissertation was on an automata theoretic model of machine learning. Next, I taught for several years at Rhodes College in Memphis and also did some consulting which included developing software to manage a cotton gin and developing a prototype surgical instrument. While in Memphis, I also worked in telemetry, image processing, robotics, automotive electronics, and taught at the University of Memphis. Immediately before coming to Drexel, I spent four years doing research and development in data storage.
CCI: What are your favorite classes to teach and why?
BS: That's a tough question. The truth is I enjoy most classes I teach for all sorts of different reasons. Most days if you ask me that, I'll say the most recent class I've been teaching. In that spirit, I'll highlight a special topics course I taught for graduate students in Winter Quarter and to undergraduates in Spring Quarter. It's titled “The Evolution of Computing,” and it's a study of the history of the field of computing. I've had a fascination with early computing technology and the early theory of computing ever since I stumbled across a copy of the manual for the Harvard Mark I back in college. Our field is very unusual because it is so new and has developed so fast. Only this year did the last living member of the original ENIAC development team pass away. Because of the speed of progress in the field, many of the early developments have been lost. Another effect of the rapid growth is that many things we think of as new really aren't. Between getting to share the fascinating story of how our field started, and helping students to put their other studies into context, this course has been a blast to teach.
CCI: How can students better apply the knowledge they learn in the classroom?
BS: One of my recommendations is that students take on independent projects; these kinds of experiences give a student the chance to see how techniques explored in the classroom are used in larger contexts. On the other hand, I would be doing students an injustice if I didn't say that this is actually not the best question to ask. The reality is that the purpose of a college education isn't knowledge. Knowledge in the sense of a collection of facts is present in many forms. If I need to bring knowledge to bear on a project, I can access it through those references rather than hire a recent college grad. The real value in a college education is in understanding the way in which the facts were discovered and in learning how to ask the questions that advance the field. When I interviewed candidates in industry, that's what I was looking for more so than any particular knowledge. My general advice to students is to focus on understanding and on learning how to learn more than gaining knowledge or skills.
CCI: What projects are you currently working on?
BS: Recently as part of preparing an exhibit on the Forth programming language, I revived one of my senior projects from college. It's been a blast to see this operating system running again after 33 years. However, the projects that have been taking most of my focus for the past year or so are all centered around the ENIAC. One part of that work has resulted in a simulator of the ENIAC that models its operation at the level of individual pulses. One of the next steps currently under study is the way in which the ENIAC was a bridge between calculating machines and stored-program computers. Another direction currently in development is creating a functional scale model of the machine built around the simulator and 3D printed components.
CCI: Tell us about your computer collection.
BS: I do have a few fun specimens in my collection, but it's not a particularly large collection. The machine in the collection that I've probably invested the most time and effort into restoring is a PDP-8/M manufactured c 1974 by Digital Equipment Corporation. The collection also includes a few other examples of DEC's architectures including the PDP-11, the VAX, and the Alpha. The oldest artifact in my collection is an adding machine made in the 1920s that my grandfather used in the company he started. The collection also includes the first computers I ever owned and equipment I built for my master's thesis. Another of my favorite categories contains a few examples of laboratory computers made by Hewlett-Packard. Along with the PDP-8, I've brought my analog computer into class to show to my students. Of course, as with every collector, the most interesting artifacts are the ones I'm still looking for.