Adjunct Professor, Masters Program in Computer Science
- Fellow, VP at Symantec
Michael is currently a Distinguished Engineer at Symantec Corporation and an Adjunct Associate Professor of Computer Science at the University of Chicago.
Michael has a long and distinguished career in the computer industry. He co-authored one of the first commercial C compilers for the original IBM PC.
Later, Mike founded Geodesic Systems, a maker of self-healing software. At Geodesic, he raised venture capital, and helped create strategic partnerships and OEM relationships with companies like Sun and IBM. He also led the design and implementation of Great Circle, a product that automatically increased the performance and reliability of binary computer programs, receiving both substantial commercial use and industry recognition, such as Software Development Magazine’s Jolt Award.
After Geodesic was acquired by VERITAS, Mike became Chief Technologist for VERITAS' Performance Management division.
When VERITAS was acquired by Symantec, Mike joined Symantec Research Labs, where he developed anti-rootkit technology deployed to tens of millions of computer systems. At SRL and served as a chief architect for Advanced Concepts, which was Symantec’s internal startup organization. Currently, he is a Distinguished Engineer for Symantec.Cloud, providing leadership and technical expertise for Symantec’s entry into the Cloud space.
Mike is a member of the ANSI/ISO C++ Standards Committee and is widely published in academic and trade journals. He has spoken frequently in both university and industry settings. He is also a member of the board of directors of the Spertus Institute and the Visiting Committee for the Physical Sciences Division at the University of Chicago.
MASTERS PROGRAM ENDORSEMENT
“The CSPP provides a solid background in computer science with a focus on the skills necessary for professional success. Most of the engineers I encounter professionally picked up most of their CS and programming knowledge “on the street,” and their lack of theoretical grounding makes it difficult for them to ever become architects. By the same token, many computer scientists lack the practical programming and process skills to shine professionally. In my opinion, the CSPP does a superlative job of developing both a solid grounding in computer science and the practical coding and process skills so necessary for professional success.
Finally, the student body at the CSPP is very diverse, ranging from strong programmers who are already architects to people still developing fundamental programming skills. I design each lecture to be sure that each student finds something that is new and challenging to them as well as something that is accessible and reinforcing."
Michael first worked as a professional programmer in the 1970s and is still advancing in his career today. His class contains close examination of concrete examples of projects that have succeeded and failed to help deduce timeless principles. Many of these are followed up long-term so students can understand how to create software for a changing world.
His goal is to not just provide textbook knowledge about C++, but also to talk about what is seen in the industry, when companies hire engineers, and other upcoming trends.
Michael provided us an example of how he incorporates real world lessons into the classroom. "As just one example, I started teaching C++11 in the C++ sequence starting in 2010. My students could go back to their employers or potential employers as the domain experts in this “whole new language” that all of their engineers will be adopting, with extensive knowledge of the pitfalls and motivation gleaned from our years designing C++11 in standards meetings. New and important skills like this can help MPCS students become critical resources to their professional organizations."
- Boehm, Spertus, Garbage Collection in the Next C++ Standard. ISMM, 2009. http://www.hpl.hp.com/techreports/2009/HPL-2009-360.html
- Over 30 C++ Standards Proposals at http://www.open-std.org/jtc1/sc22/wg21/docs/papers/, including
- Spertus, Use Cases for Compile-Time Reflection, N3403=12-0093, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3403.pdf
- Spertus, Type Traits and Base Classes, N2965=09-0155, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2965.html
- (this proposal was recently added as a g++4.7 extension)
- Spertus, Seymour, Class Member Initializers, N2426-07-0296, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2426.htm
- (This proposal is now part of C++11)
- Schneider, Spertus. A Simple, Fast, and Compact Static Dictionary. ISAAC 2009, Honolulu, Hawaii, 2009. Proceedings. Volume 5878 of Lecture Notes in Computer Science, pages 852-861, Springer, 2009.
- Gustavo Rodriguez-Rivera, Mike Spertus, and Charles Fiterman, "A Non-Fragmenting Non-Moving, Garbage Collector", ISMM98 International Symposium on Memory Management. http://www.cs.purdue.edu/homes/grr/ISMM98-grr-mps-cef.pdf
University of Chicago, B.S./M.S. Mathematics, 1984
Cohen Prize for best overall undergraduate mathematics performance
Meyer Prize for best performance on Masters examination
- Princeton, Stanford, UCSD, Berkeley, Graduate Student and Visiting Scholar in Mathematics