Thoughts of Recent Graduates

A few recent graduates of our MCS and PhD programs share recollections of their time at Iowa, as well as what they are currently working on.

Andy Berns, PhD 2012

Image of Berns; Computer Science assistant professor - University of Northern Iowa; in Real-Time Embedded Systems Laboratory

Andy Berns is a 2012 PhD graduate. He is currently an Assistant Professor in Computer Science at University of Northern Iowa, Cedar Falls, Iowa. He also manages the Department's Real-Time Embedded Systems Lab. As a PhD student, Berns was a UI Presidential Scholar.

Can you tell us what you've been up to since graduating with a PhD in 2012?

After spending the spring of 2013 teaching at the University of Iowa, I became an assistant professor in the Department of Computer Science at the University of Wisconsin-La Crosse (UWL) in the fall of 2013. At UWL, I had the chance to work with some great faculty members and students, I taught a variety of courses from introductory computer science to algorithms to software engineering, I supervised several Masters of Software Engineering projects, and I helped advise students groups like the cybersecurity club. In the fall of 2016 I moved to my undergraduate alma mater, University of Northern Iowa (UNI) and became an assistant professor there. Here also, I  have the pleasure of teaching a variety of courses, as well as managing the Real-Time Embedded Systems Laboratory. I really enjoy working at a regional comprehensive university where I have the opportunity to teach a variety of courses while still performing my own research with the assistance of our students.

Can you tell us a bit about your dissertation?

My dissertation (Self-Stabilizing Overlay Networks) looked at how we can build overlay networks (networks built using logical links) that are capable of eventually operating correctly no matter what transient fault occurs, or what arbitrary initial state the distributed system is in. Common examples of overlay networks include BitTorrent and other peer-to-peer file sharing programs. With the growth of the Internet, many overlay networks now consist of a large number of computers, and these computers are of course prone to failure and lack a central point of control. Self-stabilizing overlay networks aim to give systems such as these a way to quickly form a correct network to allow, for instance, efficient communication or resource discovery. My dissertation presented a generic framework for self-stabilizing overlay network creation, as well as a time- and space-efficient algorithm for creating a particular network.

What advice can you give current graduate students in the CS department?

My first piece of advice is to start thinking about your goals early on in your graduate school career and work at tailoring your experience towards these goals. For instance, many regional comprehensive universities would like to see evidence that you can be a good teacher and also evidence that you have a growing research agenda that can involve the students at their institution. Some other types of schools may look for more evidence of a strong research agenda, or may care more about evidence of good teaching. My advice is to think about what you want to do, and then talk with your advisors to help them guide you in reaching those goals!

My second piece of advice, though, would be to be open to other opportunities that you may not have thought about! While in graduate school you may find your goals change. While you are searching for jobs, you may find openings from a variety of institutions in a variety of places, and might even find industry jobs that sound more appealing to you than academic jobs. Don't hesitate to explore these opportunities, even if they aren't exactly what you were planning on earlier.

Advisors: Sukumar Ghosh | Sriram Pemmaraju


Tyler Jensen, MCS 2011

'11 MCS Alum Tyler Jensen at Kiew Lom View Point outside of Pai, a small backpackers paradise in Northern Thailand.

Tyler Jensen is a 2011 MCS graduate. He is the Co-Founder & CTO at SpareChange Inc.

When did you graduate from Iowa and what degree(s) did you get?

I graduated from the University of Iowa with a BS/MCS in Computer Science in the winter of 2011. I took advantage of the combined 5 year MCS program but ended up completing it in 4 ½ years.

What has kept you busy since you graduated and what are you up to now?

After graduating I spent an amazing 4 years at Microsoft in Seattle, Washington working on 1st party mobile apps for Windows Phone and then switching to hyper-scale cloud services across Xbox Live and finally Microsoft Azure. Eventually I decided I wanted to travel and focus my skills on making a more positive impact on the world. I jumped at the chance to start my own company, SpareChange, after hearing an idea from a former colleague while we were at a computing conference at Twitter. Rather spontaneously I quit my job and moved to Chiang Mai, Thailand which is a popular spot for “digital nomads” who run various sorts of businesses remotely while taking advantage of Thailand’s low cost of living and excellent internet infrastructure. This was my first time leaving North America and it was quite the experience! If you ever have the chance to immerse yourself in a different culture, absolutely seize it. After a half year of developing an initial version of my app and traveling around Southeast Asia, I moved back to Seattle to be closer to my business partner and find networking opportunities to promote our app and raise funding. In April of 2017 we launched publicly on the Apple App Store and Google Play Store and will begin looking for investors shortly. It has been a wild ride, and I could not have done it without the opportunities the CS department afforded me.

What does SpareChange do?

SpareChange logo

SpareChange (gosparechange.com) lets you make tax-deductible donations to any of the 1.9+ million registered non-profits in the United States. Specifically, you can attach micro-donations to different types of transactions so you don’t even have to think about giving back to your community. For example, you can donate $1.00 every time you take an Uber, or $2.00 every time you buy gas. We noticed it’s difficult to navigate the world of non-profits. If you want to make a donation to someone, often times you have to sign up with them individually, enter in your payment info, etc. for every single one. Even worse, a majority of donations today are made by cash or check. With our platform, you can donate to any non-profit using modern payment solutions such as your credit card, bank account, and eventually Apple Pay, Google Wallet and Paypal. I like to describe it as the Venmo of non-profit donations.

Tell us about some of your favorite experiences as a student in the CS dept at Iowa?

Most of my favorite experiences as a CS student were in extra-curricular activities. I was Vice-President of the ACM for 2 years and had a blast meeting other students interested in computing, planning events and organizing the University of Iowa Computing Conference where I got to design and run the annual coding competition. When I was in grad school I absolutely loved being a teaching assistant and helping new students learn the basics of programming. Being a TA was probably one of the most rewarding experiences of my life. I also had the pleasure of being a research assistant for Professor Stump and Tinelli where I got hands on experience designing and implementing the initial version of StarExec.

What advice do you have for our students?

Take risks. If you’re young and in technology, the world is your oyster. Do bold things while you don’t have a family to support or anyone who relies on you. If you fail who cares, there is a massive shortage of good tech workers out there and jobs really aren’t that difficult to come by. I think a lot of people just assume that you get a job, work until you’re 65, then retire and die. There’s way more to life than that, but it’s up to you to truly live it.


Valerie Galluzzi, PhD 2015

Valerie Galluzzi - 2015 PhD graduate.  Assistant Professor in Computer Science and Software Engineering at Rose-Hulman Institute of Technology, Terre Haute, Indiana.

Can you tell us what you've been up to since you graduated with a PhD in Computer Science in 2015?

I have been working as an Assistant Professor in the department of Computer Science and Software Engineering at Rose-Hulman Institute of Technology. So far the first year of working as a faculty member has been a roller coaster ride, but I am very happy to be working at the top undergraduate engineering school in the country. I had always wanted to go to a faculty position in a small teaching school, and it is great to be in a place where I can get to know top-quality students. In my first year here I was able to help students start WOLFPAC (Women Of Like Fields Passionate About Computing), a club for women in computing that got national press. I was also able to start a multi-disciplinary course on the Internet of Things, which I will teach again this winter.

Can you tell us a bit about your dissertation?

My dissertation, Automatic Recognition of Healthcare Worker Hand Hygiene, focused on automatically recognizing whether healthcare workers were washing their hands. As part of my work, healthcare workers in intensive care units would wear wristbands with accelerometers in them during their normal hospital shift. I designed machine learning methods that could determine when they washed their hands during that time period and for how long. I also did work on finding out whether we could recognize correct hand hygiene technique.

Now that you are a professor yourself, do you have any advice for graduate students who might be interested in taking the academic career route?

The most important thing is to figure out whether you would like to focus on teaching or research. A professor at a teaching-intensive school is judged heavily on the quality of their teaching and pedagogy, while a professor at a research-intensive school will be judged heavily on the number of grants they receive and publications they write, as well as their work with graduate students. If you are interested in working in a teaching-intensive position, I would recommend that you pursue working as an in-class teaching assistant during your graduate studies. If you can have a “sole responsibility” course where you put together all course materials that is an excellent opportunity to take. When applying for academic positions at teaching-intensive schools the hiring committee will be very interested in your teaching experience and your teaching statement, which talks about your teaching philosophy. A teaching philosophy is not easy to get overnight—it is something you will build through experiences in class.

If you are interested in working in a research-intensive position, I would still recommend gaining experience as an in-class teaching assistant because classroom teaching is an important part of those positions. However, I would recommend focusing more on research as you will have to figure out what your research agenda will be after graduation—after all, you will be expected to lead a research lab! If possible I recommend helping your advisor to write grants and finding a way to lead a group within the lab. You should also focus on publishing in as many high quality venues as possible since your publication history will be very important to the hiring committee. You may also consider doing postdoctoral work with another lab after graduation to increase your number of publications and widen your scientific network.

Above all you must make sure that your advisor is supportive of your decision. I was fortunate as the first question my advisor, Ted Herman, asked me was “Where do you want to go after graduation?”. I was able to work towards my goal of a position at a teaching-intensive institution from the start because he was supporting me and giving me the right opportunities. If you haven’t told your advisor or they don’t support this choice it will be difficult to get the opportunities you need (e.g., teaching assistantships) to fill out your resume. The preparation for a research scientist at an industry lab is far different from the preparation necessary for academia.

Advisor: Ted Herman | CompEpi


Donald Curtis, PhD 2011

Donald Curtis, PhD 2011

Can you describe your dissertation research briefly and for a lay audience?

My dissertation research was on the spread of diseases that can happen as a result of interactions between healthcare workers in a hospital. I used anonymized computer login data for actual healthcare workers to build graphs to represent interactions that could allow disease spread. Using simulations I studied how disease spread on the graphs and compared it with popular disease graphs proposed by other researchers. I also studied targeted vaccination policies, where you want minimize disease spread by "targeting" a small set of individuals to vaccinate. This problem is important for cases of limited vaccine supply or where the cost of vaccination is high.

What are you doing now in a professional capacity?

Currently I work at Google as a Software Engineer. My work entails a lot of programming on a topic that is quite a bit different from my dissertation research, but I use the the critical thinking and communication skills I learned while researching everyday. And there have been a few times when my research has been quite handy.

Can you tell us a little bit about a problem/project that you are currently working on?

I'm currently working on WebRTC (https://webrtc.org/) which is an open-source project supported by Google that makes it remarkably easy to do real-time audio/video communication. Our team works on the open-source implementation of WebRTC which is part of Google Chrome and enables real-time communication on the web. Google Hangouts uses WebRTC and there are lots of other projects outside of Google that also build on top of the technology.

Advisor: Sriram Pemmaraju | CompEpi


Jason Fries, PhD 2015

Jason Fries - 2015 PhD graduate; currently postdoctoral fellow with Stanford University's Mobilize Center

What are you working on now?

I'm working on 2 primary projects (1) developing tools and methods using a new formalism for distant supervision called "data programming" and (2) modeling outcomes associated with joint replacement surgeries.

Chris Re's group is developing a well-known system called DeepDive (http://deepdive.stanford.edu), a new type of data processing system that extracts entities and relations from unstructured "dark data" like text, tables, images, and figures. DeepDive is used in several high-impact applications including monitoring human trafficking on the "dark" web, automatically constructing databases of paleontological data, and extracting gene-phenotype and other biological relationships from scientific literature.

DeepDive scales nicely as a system, but development cycles can be long as users iterate on distant supervision rules for labeling input data. This has motivated some interesting theoretical work in Chris's lab on programmatically supervising and de-noising data, a machine learning paradigm called "data programming" (https://arxiv.org/abs/1605.07723). I've been collaborating on building their next generation data processing system Snorkel and developing lightweight NLP systems for extracting biomedical relations from clinical text.

My second project focuses on osteoarthritis (OA). A common clinical endpoint of OA is total joint replacement so we’re looking at how to use electronic medical record (EMR) data to better predict post-operative recovery. Unstructured patient notes are quite useful in this capacity, so it's a great use case for data programming. Ultimately these models help lay the foundation for a more ambitious goal of deploying a near real-time implant surveillance system, where medical devices can be monitored and scored quantitatively using patient EMR data.

My overall goals during my postdoctoral fellowship are to (a) closely integrate research discoveries and tools into clinical settings and (b) develop a strong, empirical argument why structured data systems are important, even in the age of deep learning and automatic feature engineering. Both of these goals are a continuation of what I started during my PhD in CS at Iowa. My ultimate goal is to transition into an academic position or a research scientist in the hospital/healthcare field within the next 2 years.

Can you tell us a bit about your dissertation?

My dissertation looked at information extraction methods for population health surveillance. While some aspects of human health are reasonably well captured by primary care systems (e.g., hospitals, clinics), examining the ways in which behavior and everyday life impact health requires analyzing alternate data streams like social media or wearables and smartphones. For example, in endemic sexually transmitted infections it's useful to know prevalence rates of behaviors like safe sex practices, illegal drug use, etc. in order to tailor public health interventions. This information is hard to collect and definitely not a standard component of the EMR. The first part of my dissertation looked at sexual behavior surveillance of individuals using Craigslist to find anonymous sexual partners. I presented ways of algorithmically collecting survey-like information on risk behaviors, population demographic data, and travel patterns in near real-time and at city-level geographic resolution. The last part of my dissertation looked at a collection of 15 million clinical notes from the UIHC's EMR system, where I worked on representation learning and recurrent neural network methods for named entity recognition.

Do you have any advice for our current graduate students?

Take as many statistics courses as you can, as early as you can. Also, definitely take Calculus III! I skipped the advanced math courses and really regretted it later in grad school where my time and choices were more constrained. From the CS side, probabilistic graphical models and more generally probabilistic approaches to AI (e.g., Bayesian networks) are extremely useful in many different fields. Finally don't shy away from building toy distributed systems on Amazon EC2 or other compute infrastructures. Being able to quickly analyze large datasets is immensely valuable and the norm in any "data scientist" type of job.

Advisor: Alberto Segre | CompEpi


Andrew Reynolds, PhD 2013

Andrew Reynolds, PhD 2013

Can you describe your dissertation research briefly and for a lay audience?

My dissertation focused primarily on automatically discovering bugs in software and hardware systems. This technology was used by the Intel Corporation for testing the correctness of prototypes of hardware designs.

What are you doing now in a professional capacity?

I am currently a post-doctoral researcher at EPFL in Lausanne, Switzerland working on the Satisfiability Modulo Theories (SMT) solver CVC4.

Can you tell us about an interesting problem that you are currently working on?

I have recently worked on techniques for automating inductive reasoning. While computers are typically very good at deductive reasoning tasks such as solving Sudoku puzzles, they lack support for tasks where inductive reasoning (and hence, some form of creativity) is required. The techniques I have developed for automating induction in CVC4 are being used to prove non-trivial properties of functional programs, and to assist users of interactive theorem proving environments.

Advisor: Cesare Tinelli | Computational Logic Center


Geoffrey Fairchild, PhD 2014

Geoffrey Fairchild, PhD 2014 alumnus, in New Mexico

Can you describe your dissertation research briefly and for a lay audience?

My dissertation focused primarily on automatically discovering bugs in software and hardware systems. This technology was used by the Intel Corporation for testing the correctness of prototypes of hardware designs.

What are you doing now in a professional capacity?

I am currently a post-doctoral researcher at EPFL in Lausanne, Switzerland working on the Satisfiability Modulo Theories (SMT) solver CVC4.

Can you tell us about an interesting problem that you are currently working on?

I have recently worked on techniques for automating inductive reasoning. While computers are typically very good at deductive reasoning tasks such as solving Sudoku puzzles, they lack support for tasks where inductive reasoning (and hence, some form of creativity) is required. The techniques I have developed for automating induction in CVC4 are being used to prove non-trivial properties of functional programs, and to assist users of interactive theorem proving environments.

Advisor: Cesare Tinelli | Computational Logic Center


Harley Eades, PhD 2014

"My dissertation explored the design and mathematical analysis of dependently typed functional programming languages. These are programming languages of the future because they come equipped with the ability to verify the correctness of programs using mathematical logic. Verifying the correctness of software is important especially for software that controls safety critical devices like cars, planes, and nuclear power plants."

"I am now an assistant professor of computer science in the Department of Computer and Information Sciences  at Georgia Regents University Augusta (GRU). At GRU I teach all of the theoretical computer science courses, and work on research applying logic and category theory to various areas of computer science."

Advisor: Aaron Stump | Computational Logic Center


Austin Laugesen, MCS 2012

Austin Laugesen, MCS 2012

"I work for the [Microsoft Windows Phone Services] Engineering team doing program management. It is my responsibility to determine what gets built and why. I manage projects and also connections between different teams. I don’t manage people.

I don’t do a whole lot of coding currently. But, the stronger I am technically the easier it gets to do my job.

My most useful experiences as an MCS student were the guided independent research projects I did with Prof. Stump on compiler construction and with Prof. Chipara on sensor networks."


Duckki Oe, PhD 2012

“I developed optimized automated reasoning software (namely, SAT/SMT solvers), and verified its correctness using formal theorem provers based on type theory.”

“I'm a postdoctoral associate at MIT. I'm working as a member of a 3-institution (Princeton, Yale, MIT) team on a DARPA-commissioned project, developing verified operating system and applications for a remotely controlled unmanned vehicle.”

Advisor: Aaron Stump | Computational Logic Center


Yelena Mejova, PhD 2012

Yelena Mejova, PhD 2012

“I am a Scientist at the Qatar Computing Research Institute (QCRI), living in Doha, Qatar. At QCRI I develop methods for linking the online social media world to the "real" world. We track dietary habits of social media users to estimate obesity and diabetes rates, and to discover the importance of social connections in health. We also attempt to expand the "filter bubble" of online users by personalizing recommendations of less-popular news items. As a researcher, I get to travel all over the world and meet amazing people -- I highly recommend it! Previously, I was a Postdoc at Yahoo! Labs in Barcelona”

“My PhD research was on opinion extraction and sentiment analysis of social media text.”

Advisor: Padmini Srinivasan | Web Mining


Chris Hlady, PhD 2011

Chris with his wife Megan in Olympic National Park, WA.

“My PhD research involved modeling healthcare workers, patients, and infectious diseases and building a realistic simulation of a hospital to answer questions about efficient use of resources and the spread of hospital-acquired infections.”

“I work as a software development engineer at Amazon.com. My team designs, builds and maintains the AmazonLocal website, and the Scalable, redundant back-end service used by the website and out mobile applications.”

Advisor: Alberto Segre | CompEpi


Imran Pirwani, PhD 2008

Imran with the 1986 Turing Award Winner, Robert Tarjan.

"My PhD research focused on approximation algorithms for various optimization problems inspired by applications on wireless sensor networks.

I work at Apple Inc., in Cupertino, CA, as a software engineer in the Maps Team. I am involved in research and development spanning aspects of mapping such as search, data processing and mining, geometry, traffic and more broadly, optimization.

The algorithmic tools and skills which I learned as a graduate student have been extremely useful to me as a professional at Apple Inc."

Advisor: Sriram Pemmaraju | Algorithms Research Group


Charan Varadan, MCS 2006

"I work as a Portfolio Risk and Margin Analyst working with hedge fund clients and asset managers investing in Asia.

A significant amount of my work involves working with large amounts of data. I use concepts I learned in Software Engineering, Database Systems, and Algorithms in my daily work.

The MCS program was flexible enough that I was able to concurrently take outside-the-department courses in Numerical Analysis, Economics, and Statistics. This helped me in pursuing a degree in quantitative finance, subsequently."