Welcome to the Department of Computer Science


Are you an employer looking to recruit CS students?
Please submit your job postings to our Job Board.
To set up on-campus recruitment events, please vist the website of the CS Student Activities Committee.

Highlighted Events
2014 PI Summer Graduate Program -- Modern Applications of Representation Theory
July 20-August 6, 2014

This program is for graduate students from both IMA Participating Institutions as well as other U.S. universities. We expect to be able to fund up to 35 students from IMA Participating Institutions and 15 students from other U.S. universities. A main portion of this program consists of a three-week summer school for graduate students to be held in Summer 2014 on the campus of the University of Chicago. It will focus on modern applications of representation theory discovered largely within approximately the last 10 years. Details here.


The Center launches a summer research program for undergraduates in the Theory of Computing and Machine Learning.

Deadline for applications: April 24.

Greater Chicago Area Systems Research (GCASR) 2014 hosted by the Department of Computer Science

It is our pleasure to invite you to join us for the 3rd Greater Chicago Area Systems Research (GCASR) Workshop. This workshop is a great opportunity for leading-edge systems researchers in Chicago to get acquainted, share results, and find synergies.

Andrew Drucker joins CS faculty


Andrew Drucker is an outstanding addition to our faculty, and we’re delighted to welcome him. His research is in the theory of computing with powerful contributions to both classical and quantum complexity theory, where he has attacked central questions in both domains in highly original ways. Andrew joins us from the Institute for Advanced Study, where he was a member of Avi Wigderson’s group---one of the foremost postdoctoral programs in the theory of computing. He received his Ph.D. in Computer Science from Massachusetts Institute of Technology, advised by Scott Aaronson.


Andrew’s work is in computational complexity theory – the study of the intrinsic resource requirements of computational tasks. His work has addressed several broad and related themes, including the power of interactive and quantum proof systems; the inherent limitations of popular paradigms for algorithm design, such as kernelization; and the study of synergies that arise when multiple computations are performed jointly. This research sheds light on the inherent barriers algorithmic practitioners face, and helps guide the community toward attainable progress on real-world problems.

Matthew Wachs joins CS

Matthew Wachs is a lecturer in the Computer Science Department at the University of Chicago.

Matthew received his Ph.D. in Computer Science from Carnegie Mellon University, where he performed research on operating systems and storage systems. He received a Bachelor of Arts in Computer Science, and a Bachelor of Arts in Mathematics, from Cornell University.

Before joining the University of Chicago, Matthew has been involved in the teaching of courses on operating systems, computer architecture, programming languages, and theory. At Carnegie Mellon, he has mentored and served on the thesis committees of several Masters students.

Matthew has performed research on a variety of topics. His thesis focused on providing quality of service for storage workloads that share a storage system. He has worked on tracing parallel applications, developing a technique that allows inter-node dependencies to be determined automatically. He has explored the use of virtualization to allow file systems implemented in one operating system to be used by programs running in another. He has also developed algorithms to efficiently update the results of graph analyses as the graphs evolve over time, with applications in social network analysis.

Shan Lu Joins CS Faculty

Shan Lu has an incredibly diverse background in teaching, research, volunteerism, mentorship and much more.

Shan will be leaving the Department of Computer Sciences at the University of Wisconsin, where she has been a faculty member since 2009, to join the Computer Science Department at the University of Chicago.

She has received many awards and honors for her research and education work, including an Alfred P. Sloan Research Fellowship, a Distinguished Alumni Educator Award from Computer Science Department of University of Illinois, and a National Science Foundation CAREER Award. She has published many refereed conference papers and journal articles, and has taught operating systems and distributed systems classes in University of Wisconsin, all of which you can read more about below.

Shan has tirelessly served the computer science research community by participating and serving conference program committees, professional societies, Ph.D. dissertation committees, community outreach through volunteerism and mentorships, and much more.

To learn more about Shan and her many accomplishments, click here to read her complete curriculum vitae.

Shan received her Ph.D. in Computer Science from the University of Illinois at Urbana-Champaign in Urbana, IL. She received her B.S. in Computer Science from University of Science & Technology of China.

Dr. Lu’s research focuses on improving the dependability and efficiency of software systems. Her past and current work aims to understand, detect, mitigate, and fix defects in large software systems through a combination of program analysis, software engineering, and system techniques. Her work has had a tangible impact in both industry and academia. Some of her work has been used by more than 70 academic and industrial research groups.  One of her papers was among the top cited papers in operating system, hardware/architecture, and software engineering conferences in the last few years

Aaron Elmore Joins CS Faculty


Aaron has a substantial background in research focusing on Database-as-a-Service, Multi-tenant Database Systems, and Self-Managed Elastic Systems. After receiving his BS in Electronic Commerce Technologies from DePaul University, graduating Magna Cum Laude, he continued on to get his Master’s Degree in Computer Science from the University of Chicago. He completed a PhD in Computer Science from the University of California in Santa Barbara. Aaron is currently a postdoctoral associate with the database group at MIT.

Aaron joins the University of Chicago with significant industry experience as well as teaching experience educating on topics such as Programming Methods, Database Systems, Advanced Topics in Distributed Systems, and Advanced Topics in Databases.

With a wide-ranging career in computer science, Aaron’s experience is noteworthy. Most recently, he held a Software Engineering internship at Trifacta in San Francisco, CA, focusing on tools for interactive data analytics resulting in two patents applications. At Amazon Web Services, he developed an internal, distributed, automated, deployment for monitoring service configurations. He was also a Research Intern at Microsoft Research, building on scale-out performance for a cloud computing programming mode.

During his doctorate he worked on research for the National Center for Ecological Analysis and Synthesis (NCEAS) and Distributed Systems Lab, UCSB, both in Santa Barbara, CA.

Aaron has also worked at the Computation Institute, Customore, and 1SYNC/GS1US in Chicago, IL.

Throughout his career, Aaron has received numerous grants including the SIGMOD Student Travel Grant, a UCSB Senate Travel Grant, and an Amazon Research Grant.

He has also received awards and honors including Outstanding Computer Science Graduate Student at UCSB, Outstanding Teaching Assistant at UCSB, the Computer Science Merit Fellowship, and Top of the Class honors at DePaul University.


Aaron’s research focused on the development of self-managed and elasticity primitives to enable the transformation of traditional and main-memory databases into a scalable data platform. While recent research and industrial efforts have examined making scalable databases through restricting use cases, these solutions do not fully address the needs of systems hosting many dynamic and relational database applications without gross over-provisioning of resources.

The primitives he developed addressed the efficient management of dynamic database applications without static provisioning or manual administration. This includes methods for providing live database migration for load-balancing, modeling workloads and the impact of colocation for database placement, and enabling live reconfiguration of partitioned databases for fine grained re-partitioning to alleviate hotspots.

Aaron’s approach focused on building lightweight solutions that maintain system guarantees, leveraging machine learning techniques to build scalable empirical models, and verifying solutions through real-world evaluations.

Ravi Chugh Joins CS Faculty

Ravi Chugh joins the University of Chicago with remarkable teaching experience over the past ten years, having taught at the University of California, San Diego in La Jolla, CA, and the University of Pennsylvania in Philadelphia, PA.

He has been an instructor, teaching assistant, and guest lecturer for various high school, undergraduate, and graduate courses, including Principles and Paradigms of Programming Languages, C# Programming, Hardware and Software Algorithms, Mathematical Foundations of Computer Science, Advanced Compilers, and Algorithmic Software Verification.

Ravi’s primary research interests in computer science are in Programming Languages, Verification, Program Analysis, and Compilers. He has pursued research in these areas at UC San Diego, Mozilla Research in San Francisco, CA, and Microsoft Research in Redmond, WA.

Earlier in his career, Ravi also worked at Microsoft Corporation in Redmond, WA as a Software Design Engineer Intern, working on Windows Live Local, as well as a Program Manager Intern on Internet Explorer.

Ravi received his Ph.D. in Computer Science from UC San Diego in 2013 and his M.S.E. and B.S.E. degrees in Computer Science from the University of Pennsylvania in 2007, where he graduated summa cum laude.

Ravi’s current work is rooted in developing techniques that will work with and improve modern scripting languages, and thus has the opportunity to make a timely impact in practice. In particular, these efforts will help give application designers expressive specification languages to declare their intended security policies, tools that help them design and implement software that satisfies these policies, dynamic monitoring techniques that are robust in the face of dynamically loaded code and data, and error reporting mechanisms that give clear feedback to developers and users. The result will be a better platform for developing large, reliable, and secure systems.

CS Alumni take first place in Social New Venture Challenge

Joe Flesh (AB'12) and Declan Frye (AB'10), both CS majors, won the Social New Venture Challenge with their startup Purple Binder. Joe and Declan are the CEO and CTO, respectively, of Purple Binder, and they participated in the SNVC in a team with three current SSA students. More details here.

Pete Vilter (Class of 2015), a current CS undergrad who is on the team that placed second in the Social New Venture Challenge.

UChicago continues winning streak at programming tournament

Bill Waldrep, a fourth-year in computer science, recently took the $5,000 top prize in the Illinois Technology Association’s third annual Fall Challenge, a programming skills tournament for technology students attending targeted Illinois universities.

Waldrep also is a member of the Whiteboard Erasers, the UChicago computer programming team that took first place in November in the Mid-Central USA regional of the Association of Computing Machinery/International Collegiate Programming Contest. The team will compete next summer in the World Finals in St. Petersburg, Russia.

This is the third consecutive year that a UChicago student has won the ITA Fall Challenge. Last year’s winner was Louis Wasserman, SB’12, while the 2010 champion was Michael Lusignan, a graduate student in computational neuroscience.

Read the full text of the article here.

Computer programming team advances to World Finals again

For the first time, the University of Chicago computer programming team has won the Mid-Central USA regional contest. The victory automatically qualifies the team, named Whiteboard Erasers, for the Association of Computing Machinery/International Collegiate Programming Contest World Finals in St. Petersburg, Russia, June 30 to July 4, 2013.

In previous years, UChicago has qualified for the World Finals in a wild-card slot after placing second or third in the regional. The Whiteboard Erasers consists of Naren Hazareesingh, third-year in computer science; Bill Waldrep, fourth-year in computer science; and Kevin Wang, third-year in physics.

The team solved all eight problems at the regional, held Nov. 3 in the Ryerson Physical Laboratory building. Only one other team solved all eight problems, though not as quickly. This team, UChicago’s Conjurers of Cheap Tricks, placed second. All other teams in the region solved seven problems or fewer.

Read the full text of the article here.

Haryadi Gunawi works to usher in a new age of computation

Published in the Physical Science Division's Inquiry Fall/Winter 2012 issue

Whether you realize it or not, you’re proba- bly already a consumer of cloud computing, points out Haryadi Gunawi, the Neubauer Family assistant professor of computer sci- ence. Search engines, webmail, and social- networking sites all store information and computing power in the cloud, the hard- ware and software systems users access over a network. Even so, Gunawi argues, the potential of the cloud has yet to be fully tapped—and he intends to help tap it.

The dominant paradigm in the late 20th century was the personal computer; every- thing a user needed was on his or her PC. As the importance of networking grew, us- ers accessed information and programs run- ning on remote computers. More and more computing functions were transferred off the personal computer and into the cloud. Today the personal computer is in decline as the rise of smartphones, tablets, and other Internet-enabled devices rely on the cloud. Now even slow and inexpensive de- vices can draw on enormous data storage and processing power.

The cloud will democratize computing, says Gunawi. “In the old days, if you wanted to build big software systems, you needed lots of infrastructure to begin with,” he says. “You needed lots of people and lots of machines.” Today a small software firm can rent as much storage or computing power as it needs, on demand, from services like Amazon. “You can become successful without taking on too much risk in the beginning.”

Not everyone is sold on the cloud yet. Data security is a real issue because, in the cloud, so many users share the same com- puters; banks in particular are hesitant to trust their records to anyone else. System reliability is another challenge. As Gunawi points out, the software must run on hun- dreds of thousands of machines—personal com- puters, laptops, smartphones, tablets—each with its own quirks and possible failure points. “Not to mention that as the complexity of the soft- ware goes up, you’re going to have more bugs.”

The reliability of a cloud-based system can make or break its owners. The online bookmark- ing service Mag.nolia permanently lost its users’ data in 2009 and was forced to shut down a year later. Recurring data outages by Research in Mo- tion, which makes the BlackBerry smartphone, have battered the company’s sales.

Gunawi is addressing shortcoming with an initiative called UCARE (University of Chicago Systems Research on Availability, Reliability, and Elasticity). In the past, he says, it was enough to test software on a few different machines to verify its reliability. The proliferation of comput- ing devices has created more opportunities for failure. UCARE aims to analyze today’s systems and point the way forward to a safer, more reli- able cloud.

One aspect of UCARE is writing drill-capa- ble software, which tests itself by deliberately introducing errors into its system. The goal is to identify weaknesses and known failure points, he says, so operators know how to respond to an actual failure without losing users’ data. Gu- nawi also goes a step further than most testers: “Whatever you do with offline testing,” he says, “it’s not enough.” He’s developing ways to put real failures in actual data in live systems. “If you don’t test your systems online that often, then suddenly you get into a panic situation because you’ve never been there before.”

The future is sooner than you think: Gunawi estimates that cloud computing will become the norm within five years, as storage technology and software become more reliable. Humans are “thirsty for data,” he says, and he’s interested to see how their demands evolve. As he puts it, “This is an exciting new era for computing.”

Wasserman wins Illinois Technology Association’s 2011 Fall Challenge prize.

Check out the University's web story on Louis Wasserman and innovation in programming at http://www.uchicago.edu/features/20120528_wasserman/.

Foster wins CityLIGHTS award

Ian Foster is the winner of ITA's CityLIGHTS Technologist of the Year Award for 2012 (http://www.illinoistech.org/page.aspx/citylights). This award is presented each year "to the individual whose talent has championed true technology innovation, either through new application of existing technology or the development of technology to achieve a truly unique product or service". Congratulations, Ian!

Two new assistant professors to join the department

Haryadi Gunawi and Hank Hoffmann will be joining the Computer Science Department as assistant professors. Dr. Gunawi is currently a Computing Innovation Fellows Project post-doc at UC Berkeley, working with Joe Hellerstein on cloud reliability and cloud storage. Dr. Hoffmann is at CSAIL at MIT, and has worked on a number of projects involving parallel computing, including the SEEC system, which allows applications to adjust their behavior in response to changing resources at run time.

Haryadi Gunawi Hank Hoffman

Our graduate students' plans for next year include:

Morgan Sonderegger has accepted an appointment at McGill University as assistant professor in the Department of Linguistics.

Sravana Reddy will be a Neukom Postdoctoral Fellow at Dartmouth College next year.

Ross Girshick will be starting a 2-year postdoc position with Jitendra Malik at UC Berkeley this summer.

Josh Grochow will be a postdoc in the Computer Science Department at the University of Toronto.

UChicago to host North American programming contest April 14-15

Update: The contest result are in! Read more here.

Computer programming teams from across North America will compete for $12,000 in prize money, including a $4,500 grand prize, at the University of Chicago Invitational Programming contest April 14 and 15. The invitational is a tuneup for the 22 North American teams that qualified for the 2012 World Finals of the International Collegiate Programming Contest, which the Association for Computing Machinery will hold May 17 in Warsaw, Poland.

Various institutions have held regional invitationals in previous years, but the UChicago event will be the first to include all World Finals teams from the ICPC North American Super-Region.

Computer Science ACM Teams Place Highly in Regional International Collegiate Programming Contest

The regional phase of the ACM's International Collegiate Programming Contest (ICPC) took place on November 5th and the University of Chicago sent three teams that all placed amongst the top 20 teams in the region (out of 141 teams in Arkansas, Illinois, Kentucky, Missouri, and Tennessee). We were not able to announce the results earlier because the Regional Judges did not certify the results until today.

Our teams and their ranks are:

WHITEBOARD ERASERS Joe DiCapua, Naren Hazareesingh, Kevin Wang Placed 1st in the Chicago site, and 2nd regionally.

TERMINAL 1337NESS Michael Lucy, Rafael Turner, Damon Wang Placed 3rd in the Chicago site, and 9th regionally

NOT YET Naftali Harris, Matt Lee, and Bill Waldrep Placed 5th in the Chicago site, and 16th regionally

We congratulate the exceptionally talented students in our ICPC teams, as well as their coach, Borja Sotomayor, and Louis Wasserman, their assistant coach.

The full regional standings can be found here.

This year's problem set can be found here.

Undergrads interested in this competition should absolutely contact Borja Sotomayor borja@cs.uchicago.edu.

Louis Wasserman wins first place

Louis Wasserman (4th year in the College and assistant coach of the CS Department's ACM-ICPC team) won first place on November 4 at the Illinois Technology Association's Fall Challenge competition. Congratulations, Louis!

Chicago Plan Chosen Among Final Three in Simons Foundation Search for Institute for the Theory of Computing

The Simons Foundation informed us on September 28 that the University of Chicago/TTIC proposal for an Institute for the Theory of Computing has been selected to be one of the final three proposals that they will consider. Last December, after an initial "letter of intent" phase, seven major institutions and consortia across the country were invited to submit full proposals to host the new Institute which will benefit from a $6M/year grant from the Simons Foundation. The three finalists will host site visits in the coming months before the final decision is made.

Enthusiastically supported by President Robert Zimmer and PSD Dean Robert Fefferman, the Chicago plan involves major institutional commitments. The plan has been spearheaded by CS faculty members Laszlo Babai, Alexander Razborov, Stuart Kurtz, and our former faculty member Lance Fortnow (Northwestern University).

The Institute's mission will be to further the core intellectual agenda of the Theory of Computing, the mathematical study of the fundamental nature, power, and limitations of efficient computation, as well as the manifold interactions of this field with other disciplines, ranging from mathematics and statistics to the sciences and engineering.

Computer Science Team Wins Award

Nick Seltzer, Lamont Samuels, John Reppy, and Gordon Kindlmann won Best VIS Poster award at the VisWeek 2011 meeting for their poster: Diderot: A Parallel DSL for Computing on Multi-Dimensional Tensor Fields. Congratulations!

Chien and Lafferty receive named professorships

Andrew A. Chien, the former vice president and director of Intel Research, has been named the William Eckhardt Professor in Computer Science and a senior scientist at Argonne National Laboratory.


His current research interests include cloud and grid computing applications, system software and architecture, and computer architecture for exascale computers, which would far exceed the capabilities of today’s petascale computers.

Chien began his faculty career in 1990 as a member of the Computer Science Department at the University of Illinois at Urbana-Champaign and the National Center for Supercomputing Applications. In 1998 he left Illinois for the University of California-San Diego, where he held the SAIC (Science Applications International Corporation) Chair of Computer Science and Engineering.

An active entrepreneurial leader, he also founded Entropia Inc., an early grid computing company, and served as its chief technology officer and chaired its board of directors. Then he created UCSD’s Center for Networked Systems and served as its founding director before moving to Intel in 2005. As director of Intel Research, Chien led Intel’s global internal and external efforts in disruptive and long-range research, launching notable initiatives in parallel programming, cloud computing and exascale computing technologies.

Chien is a fellow of the Association for Computing Machinery, the Institute for Electrical and Electronic Engineers, and the American Association for the Advancement of Science. He has served on the National Science Foundation’s CISE Directorate Advisory Committee, the Computing Research Association’s Board of Directors and numerous prestigious editorial boards, including the Communications of the Association for Computing Machinery.

He holds three degrees from the Massachusetts Institute of Technology — a bachelor’s in electrical engineering and a master’s and doctorate in computer science.

John Lafferty, who specializes in machine learning, which combines the power of statistics and computation, has joined the UChicago faculty as the Louis Block Professor in Computer Science and Statistics.

John Lafferty

He comes to UChicago from Carnegie Mellon University, where he co-directed the doctoral program in computational and statistical learning and had been a faculty member since 1994.

Lafferty’s research focuses on nonparametric methods, sparsity, analysis of high-dimensional data, graphical models, information theory, and applications in language processing, computer vision and information retrieval.

Lafferty received his doctoral degree in mathematics from Princeton University, where he had been a member of the Program in Applied and Computational Mathematics. He served on the mathematics faculty at Harvard University, then became a research staff member of the IBM Thomas J. Watson Research Center, where he worked on statistical natural language processing.

An associate editor of the Journal of Machine Learning Research, Lafferty also served as a general co-chair of the 2010 Neural Information Processing Systems Foundation conference. His research has been supported by the National Science Foundation, Advanced Research and Development Activity of the U.S. intelligence community, Defense Advanced Research Projects Agency, Air Force Office of Scientific Research and Google.