The University of Chicago Masters Program in Computer Science students push boundaries and innovate across many facets of industry. Whether it’s developing seamless UX interfaces, engineering software at Fortune 500 companies, working in big data or keeping networks secure, our students use their applied-skills education from the MPCS to problem-solve, create, and elevate the computer science field. Learn from their stories and discover how a CS background can prepare you for cutting-edge internships.
David Huang is a current MPCS student in the 12-Course Program. He speaks with us about his current internship with Professor Haraydi Gunawi, his experience participating in the COVID-19 Practicum Project, and his overall experience so far in the MPCS.
What MPCS Program are you completing?
I’m completing the MS in CS as a Full-Time student. I am currently amidst completing the 12-Course track with a specialization in Data Analytics.
Please tell us about your internship this summer with Professor Gunawi. We would like details about the research/project, technical skills used, and how you feel this will prepare you for work post MPCS.
My internship with Professor Gunawi revolves around supporting the computer science systems research community. The work’s overarching goal is to both help develop and foster a platform that provides the computer science systems research community a means of both sharing research experiments, and reproducing research experiments. My role is to find top papers, and reproduce them. Through the work of my fellow student peers and mine, we’ll contribute to a library of reproducible experiments. This work is all staged on the Chameleon Cloud platform headed by UC Computer Scientist Kate Keahey. With Chameleon Cloud, researchers and students alike can instantiate hardware via cloud to reproduce experiments exactly as intended by research publishers. The ultimate goal of this project is to provide the systems research community a platform (Chameleon) to run published experiments for the intended purposes of reproducing, disseminating, and verifying scientific research and experiments.
Earlier this Spring, you participated in a COVID Practicum Project. Could you tell us a little bit about that, why you decided to participate, tech skills used, and what you learned from being involved in the Practicum?
This past Spring, I participated in a COVID Practicum Project in hopes of applying the knowledge I’ve been accumulating for both science, and more importantly, for the greater good. The project I found myself working on was both incredibly novel and groundbreaking. Led by UC PhD candidate Austin Clyde, Reinforcement Learning for Molecular Modeling, RLMM for short, was my first foray into a real-world software development. Working with a team of fellow student developers, I helped contribute ideas for RLMM’s design and assisted wherever I could with the development of RLMM. With RLMM entirely coded in Python, the knowledge I gained from Intermediate Python was immensely useful. Lacking a background in chemistry, I didn’t understand much of the underlying science. However, I learned what I could from reviewing papers and consulting the limitless resources found on the web, and I’m proud to say that I was a member of the RLMM practicum team. What this experience has shown me is that beyond CS, I’d like to specialize in another branch of knowledge in the future. CS is only as useful as it is applied. I am still currently involved with the project’s development as it continues to mature.
What motivated you to apply and enroll in the MPCS?
On a whim, I sat through a couple of CS courses in my senior year of college (too little, too late). While brief, my encounter with CS was radically influential upon both my stint in industry and my return to academia. Prior to MPCS, I sought out a job that would allow me to continue down a path that involved coding and served as a data analyst within the financial services industry. I loved the parts of my job that involved scripting analytics and querying databases, but it left me unfulfilled as I outgrew my role. I applied to a handful of master’s programs and ultimately had to decide between a few well-respected and renown programs. MPCS, with its location in Chicago, incredible staff, and range of resources, made the most sense for me and I don’t regret enrolling in MPCS one bit. I consider this past year spent as a student of MPCS to be one of my best thus far.
What have been your favorite MPCS courses? Most influential instructors? Why?
Oh, that’s a pretty tough question. Favorite Courses (thus far): Algorithms (MPCS), Fundamentals of Deep Learning (TTIC), Time-Series Analysis and Stochastic Processes (MPCS), and Functional Programming (MPCS)
So far, Algorithms, Deep Learning, and Time-Series/Stochastic, have been some of most challenging courses I’ve taken to-date. But they’ve also been the courses in which were most eye-opening. Algorithms is undoubtedly a challenging course for anyone lacking prior exposure to algorithms, but it instilled me in a deep appreciation for the thrill of learning tough topics and solving tough problems. Deep Learning was definitely the most challenging course I’ve taken so far. In order to keep up, I had to read many scientific papers and learn a lot of math in a short span of time. I still don’t entirely grasp all that I’ve learned, but I continue to revisit the topics studied in the course with incremental progress each time. Lastly Time-Series/Stochastic Processes was an incredibly interesting class that combined real-world phenomona, tricky math, and computational efficiency into a very stressful quarter, but I also find myself revisiting the material from this course again and again.
Most Influential Instructors: Gerry Brady
I consider Gerry Brady to be one of the most influential instructors for me. As the instructor for both introductory courses of Discrete Math and Algorithms, Professor Brady set the tone for MPCS for me. From her, I garnered a work-ethic to push hard to learn everything as best as I can, and it’s okay if I don’t get it immediately. Just keep pushing.
How has your MPCS education helped you achieve your professional goals?
This is also a tough question… Only because I currently haven’t a clear idea as to what I’d like to pursue post-grad. However, MPCS has definitely helped shape and define my interests. Additionally, the challenges MPCS continues to provide me has bolstered both my problem-solving abilities and my confidence to tackle seemingly unsurmountable problems.
What is a piece of advice you’d give someone considering applying to MPCS?
If you know you are interested in CS, do it! There are many sub-branches within computer science, but be aware that underlying it all is math and theory. However, MPCS offers a wide-range of courses taught by very knowledgeable instructors, so you can delve as wide or as deep as you’d like. MPCS allows students to take courses from both the undergrad College and from the Toyota Technological Institute at Chicago. The possibilities are all available!