CS 4501/ECON 4559: Markets, Mechanisms, and Machines
University of Virginia, Spring 2019

Meetings: Tuesdays and Thursdays, 9:30-10:45AM, MEC 213.

Prerequisites: Computer Science majors should register for the CS 4501 course, which has CS 2150 as a prerequisite. Economics majors should register for the ECON 4559 course, which has ECON 3010 or 3110 and ECON 3720 or 4720 as a prerequisite.

Communication: Course materials will be posted on the course website: We will use slack ( for most communications with the class, and encourage you to use it for asking questions and discussions with the course staff and your classmates.

Course Staff and Office Hours

David Evans (Professor of Computer Science)
Office hours: Thursdays, 11am-noon (after class), Rice 507

Denis Nekipelov (Professor of Economics)
Office hours: Mondays, 10-11am, 254 Monroe Hall

Joseph Roessler (Economics PhD Student)
Office hours: Fridays, 10:30am-noon, Monroe Basement

Mainuddin Ahmad Jonas (CS PhD Student)
Office hours: Wednesdays, 5-6:30pm, Rice 442

Course Description

Many modern systems that were designed to help people ranging from Internet search platforms to car navigation or restaurant recommendation apps rely on learning from its user past behavior to improve future user experience. They use these past data to make inferences regarding the choices that users will make in the future. The building blocks of these system include Machine Learning tools for prediction, Econometrics techniques to identify what causes humans to make particular choices and algorithms from Computer Science to provide fast and efficient matchings between users and their choices. Users in these systems can interact with each other that requires concepts from Game Theory to analyze their behavior and be able to forecast the evolution of these systems in the short and long run. Finally, users may care about how exactly these systems use and exploit their personal information to make those predictions and inferences. The analysis of user privacy combines the concepts from Economics of Information and formal privacy concepts from Computer Science Theory while concepts from Cryptography can be used to design systems that are protected from privacy breaches.

This course will present a collection of topics from Economics and Computer Science that constitute the building blocks of modern user-facing electronic systems. Many examples will come from modern digital advertising platforms that have both created huge success in user reach and effectiveness for advertisers and, at the same time, have generated a trail user privacy concerns.


The main assignments for the class will be a series of projects where students will work in small teams to analyze data from real electronic platforms (e.g.,Yahoo!’s Webscope data, Zillow’s housing market data, and data from the United States Census).

For most assignments, students will be grouped into teams of two or four students, including students in both the CS and ECON sections of the course in each team. The project teams and assignments will emulate the work of real interdisciplinary teams at leading companies. It will be the team’s responsibility to distribute the tasks, communicate with each other and explain in the project report what part of the project was completed by what team member.

For the final project, students will have an opportunity to define their own open-ended project to answer an interesting question about the world using methods and techniques from the class.

In addition to the project assignments, there will be reading assignments and other preparation assignments for classes, and there may be some individual problem sets or quizzes (we hope that these will not be necessary, but will use them if it seems like they will be helpful for improving engagement in the class, or if there are students who are not contributing fully to team assignments).


The due dates for the projects are below. Unless specified different, projects will be due at the beginning of class on the due date.

Tuesday, 22 January: Project 1: Warm-up, predictions from data
Tuesday, 5 February: Project 2: Housing market predictions
Tuesday, 19 February: Project 3: Stable matching
Thursday, 7 March: Project 4: Game theory auctions
Thursday, 28 March: Project 5
Thursday, 11 April: Final Project Proposal
Tuesday, 30 April: Final Project Report and Presentation


Grading will be based primarily on your performance on project assignments, with adjustments for outstanding contributions to the class. For team projects, everyone in a team will normally receive the same grade, except in situations where there are problems or where not all team members contribute fully to the project. All students are expected to be present at the final project proposal and final project presentation.

Grades will be calculated with several different weightings, where your grade is based primarily on whichever weighting results in the highest score. The range of possible weightings is:

  • Project 1: 0-5%
  • Project 2: 5-15%
  • Project 3: 10-15%
  • Project 4: 10-15%
  • Project 5: 10-15%
  • Final Project: 20-65%
  • Class Contribution: 0-25%

Spend your energy focusing on what you are learning, instead of worrying about your grade.


We believe strongly in the value of a community of trust, and expect all of the students in this class to contribute to strenghtening and enhancing that community.

As a student at the University of Virginia, you are trusted to be honorable and expected to behave in ways that merit that trust. We take advantage of this trust to provide a better learning environment for everyone. The course will be better for everyone if everyone can assume everyone else is trustworthy, and we start from the assumption that all students at the university deserve to be trusted.

For most assignments in this course, you will be encouraged to discuss ideas and work with others to develop your ideas, and often expected to work in a team. We expect you to be honest, fair, and respectful with your teammates, and to contribute fully to your team to the best of your ability. We also expect you to notify the course staff if there are any problems with your team, or if you have teammates that are not behaving honorably.

You will always be expected to credit any collaborators and properly cite any resources you use. The honor expectations for each assignment should be clearly stated and make it unambiguous what is and is not permitted. If it is ever unclear what is considered acceptable on an assignment, please check with the course staff.

Expectations and Accommodations

If you anticipate any issues related to the format, materials, or requirements of this course, please meet with one of the instructors outside of class so we can explore potential options. Students with disabilities may also wish to work with the Student Disability Access Center to discuss a range of options to removing barriers in this course, including official accommodations. Please visit their website for information on this process and to apply for services online: