University of Chicago Masters Program in Computer Science faculty are leaders in tech and among the foremost authorities in their respective fields. In addition to teaching and applying tech solutions to solve challenging problems, our faculty also run successful businesses, work for Fortune 500 companies and dedicate themselves to advancing the field of Computer Science, each day. MPCS faculty supply their students with the applied skills and real-world projects they need to problem-solve, create, and build successful careers with top employers around the world. Learn from the experiences and expertise of our distinguished MPCS faculty, get an insider’s look into their classrooms and discover how a CS education can prepare you for a cutting-edge career in technology.
Mike Spertus, MPCS Adjunct Professor, teaches the Big Data, C++, and Advanced C++ courses in the Masters Program in Computer Science and is a Fellow and Chief Scientist for Cyber Security Services at Symantec. In this profile, he describes his teaching philosophy, why it’s important to focus on the problems, and what advice he’d give to someone looking to make a career in Computer Science.
Tell us about your Computer Science career and how it impacts your teaching.
What I love the most is developing interesting Computer Science and deploying it widely in the real world to help people. Besides being at the University of Chicago, I work at Symantec, the world’s largest cybersecurity company. Cyber Security is a fascinating and important problem with huge impact in the real world (as anyone who reads the news can see!). I make a point of using examples from my work to illustrate to my students how they can “apply theory to practice”.
I share with my Big Data students my practical experiences as the Chief Architect for one of the world’s largest Security Data Lakes at Symantec, combining petabytes of security telemetry from a diverse sensor net of over one hundred million endpoint and network sensors. We felt honored to hear that this “Authoritative Data Lake” was recently recognized as the winner of Hortonworks Data Hero Data Scientist Award and has been instrumental in unearthing previously unknown attacks such as the Dragonfly attacks on the Energy Sector. Likewise, I have recently been focusing on new cybersecurity analytics built on Big Data that have resulted both in papers and helping people directly by catching thousands of attacks against our customers.
Furthermore, I share my experiences with my C++ students as a long-time member of the C++ Standards Committee, where I represent Symantec. I have submitted over 50 standards proposals, a number of which are now part of the C++ language.
How did you get your start in computer science?
I was fortunate to be able to start programming in 1968, when I was 6 years old, long before home computers existed. Our family had a business that mass produced photo frames and used computers for many purposes. We had a computer terminal in our house where we could dial in to mainframe time-sharing services to program in BASIC, Fortran, and Cobol (and, of course, play computer games). Today’s broadband connections are one hundred thousand times faster than the 110 baud modem we used to dial in, but at that time, it seemed unbelievably fast!
When I was in high school, I first wrote fundraising software at the Jewish United Fund and then designed computerized factory equipment for our family business.
What does a great day at the MPCS look like for you?
When you learn something you can use. In other words, when I feel like I have provided value to my students. Of course, they are a bright lot, and I learn a lot from them as well.
What do you enjoy most about teaching computer science?
I love teaching, and I love Computer Science.
Why teach at the MPCS?
As someone who spends most of their time in the industry, my “secret weapon” has been applying Computer Science to production systems. That is exactly what the MPCS is about: Teaching Computer Science to talented students who will work as professional software engineers.
Describe your teaching philosophy.
“Turning Hackers into Computer Scientists.”
Many students come into the program with or quickly develop excellent programming skills just from hands-on experience. While such hacking skills are no doubt extremely valuable, they can only take you so far without Computer Science. I try to show how the seemingly abstract results of Computer Science form the basis for a much deeper approach to creating software that is more performant, flexible, robust, maintainable, powerful, scalable, and cleaner than anything they might have imagined before.
What is your favorite concept or topic to teach? Why?
I like to engage students in applying things outside the classroom. For example, I often have my C++ students propose questions for the ISO C++ committee and have those questions answered by committee experts.
If there were just three bits of knowledge you would like each student to walk away with, what would they be?
1. How to approach practical problems like a computer scientist.
2. Focus on the problems. Computers and their tools are always changing. In 40 years of practical programming, all of my knowledge of particular “hot” technologies has repeatedly become worthless. What I have learned about how to think about the core problems of programming is just as relevant as ever.
3. Appreciate what you are doing. There is little that is as exciting and important in far-reaching ways as Computer Science right now. This is a great opportunity to change the world. Indeed, I joined a cybersecurity company because I understood that it would change our lives, and we have certainly seen that. I feel privileged to have the opportunity to work in such a field.
What about the future of the computer science industry most excites you?
Having seen firsthand how wrong the last 50 years of predictions were, I don’t want to take out a crystal ball, so I guess I’m most excited to know that I will constantly be surprised.
What is a piece of advice you’d give someone considering applying to UChicago’s Masters Program in Computer Science or career advice for someone who’s pursuing a job in this area of CS?
Make sure you are doing it for the right reasons. Too many people who aren’t really computer scientists at heart go into software because it is a hot field. Go into it because it fits you. If it does, MPCS is a great program to get a deep understanding.