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.
William Conner, MPCS Assistant Clinical Professor, teaches Networks and Introduction to Computer Security in the Masters Program in Computer Science. In this profile, he explains why he chose to teach at the MPCS, what he enjoys most about teaching, and why security topics are so interesting.
Which course(s) do you teach?
I teach Networks (MPCS 54001) and Introduction to Computer Security (MPCS 56511). MPCS 56511 is a survey course that introduces a breadth of security topics to students. Students will be able to apply this knowledge to more secure practices in their industry positions. They will also become more familiar with the concepts and terminology thrown around by their in-house security team (if their company has such a team).
I'm also looking forward to teaching new classes, including Application Security, Network Security, and Applied Cryptography. Application Security will be a course that focuses on secure development practices with an emphasis on Web applications. Network Security will focus on network protocols and tools used to secure computer networks. Applied Cryptography will cover some theoretical aspects of cryptography for a solid foundation, but will mostly focus on the practical engineering aspects.
Students completing all four courses (or even three of four) should be positioned to apply for entry-level roles in information security engineering jobs in both government and industry.
How did you get your start in computer science?
Although I had never written a computer program before, I chose to major in Computer Science before I started my freshman year of college. It seemed like an exciting career to pursue at the time.
Why teach at the MPCS?
The MPCS seemed like a great opportunity to utilize my experience from industry in an academic setting. The fact that the program emphasizes a balance between theory and practice seemed like a great match for my teaching interests.
What does a great day teaching at the MPCS look like for you?
A class that runs over the scheduled end time due to great questions and class discussion about the topics in that day’s lecture materials.
What do you enjoy most about teaching computer science?
The part about teaching that I enjoy most is revealing how technologies actually work “under the hood”.
Describe your teaching philosophy.
My teaching philosophy centers around combining theory and practice, which aligns well with the overall goals of the MPCS. Since the field changes so rapidly, I want my students to have solid theoretical foundations that will allow them to easily adapt to any new technologies as they progress in their careers. On the other hand, I want students to gain practical experience with their projects that will prepare them for the tech job market. Furthermore, their projects will reinforce the theories that they have learned.
What is your favorite concept or topic to teach? Why?
Security is my favorite topic to teach. Due to the adversarial nature of the subject, security topics often spark interesting discussions during the lecture. Security is also the field to which I have dedicated the past ten years of my career. And students love to talk about it: For example, during one lecture, students were discussing how they had heard about several vulnerabilities with Internet-of-Things (IoT) devices, even though IoT was not one of the topics planned for that particular lecture. I was able to expand on that discussion to introduce the Mirai malware that was used to create a botnet of IoT devices that launched some very large distributed denial-of-service (DDoS) attacks. Those Mirai botnet DDoS attacks received some mainstream press coverage in 2016.
If there were just three bits of knowledge you would like each student to walk away with, what would they be?
- Basic foundations of the subject
- Practical experience in the subject (acquired through project work)
- Where to find the answers to future questions on the subject after the course has ended
What about the future of the computer science industry most excites you?
The same thing that has excited me for the past fifteen years: the cat-and-mouse game of computer security. In particular, I will be interested in seeing how the game continues to play out with new applications and platforms.
What is a piece of advice you’d give someone considering applying to UChicago’s Masters Program in Computer Science?
Consider how the courses offered by the MPCS match up with your technical interests and/or how the MPCS can help you further your career goals.
Do you have any career advice for someone who's pursuing a job in this area of CS?
Always be open (and prepared) to seize opportunities. The field changes quickly and you should be ready to change with it.