Spring 2023
Brown University
Offered by Brown University, this course intertwines game theory and computational considerations. With emphasis on strategic agent behavior, system design, and computational tractability, students delve into auction theory, bidding strategies, computational advertising, and automated negotiation. Knowledge in Java, Python, and certain mathematical areas is essential.
This course examines topics in game theory and mechanism design through the lens of computation. Like such a course in an economics department, the focus is the design and analysis of systems utilized by self-interested agents. Students investigate how the potential for strategic agent behavior can/should influence system design, and the ramifications of conflicts of interest between system designers and participating agents. Unlike a traditional economics course, however, emphasis on computational tractability is paramount, so that simplicity may trump other design desiderata. Students will learn to analyze competing designs using the tools of theoretical computer science. They will also use artificial intelligence to build autonomous agents for computational advertising markets, wireless spectrum auctions, automated negotiation, and prediction markets.
There are two primary learning outcomes intended for students taking this course. Students should be able to:
Mathematical maturity and programming experience are necessary for success in this course. The following are specific areas in which basic expertise is assumed, along with suggested courses for acquiring said expertise.
Some knowledge of Java and Python is assumed; neither language is taught.
For students wishing to enroll in the graduate section of this course, CSCI 2440, knowledge of Markov decision processes and linear programming is also assumed.
This course has no formal prerequisites. However, a sufficient level of mathematical maturity is required, as is knowledge of programming. For the most part, labs and homework assignments will be in Python, while the final project will be in Java. All assignments are programmed in pairs. If you worry that your programming skills are not up to snuff, take this opportunity to pair with someone who can help you get up to speed.
No data.
Spring 2019
Carnegie Mellon University
Fall 2022
Stanford University