Outline

 In several modern applications, one has to design algorithms in the presence of self-interested agents. Classic examples include keyword search auctions, school choice, voting, and network routing.  This course is a survey of basic results in game theory, with a focus on existence and computational aspects. The latter is particularly relevant in the age of big data, when there could easily be a large number of agents that are affected by the algorithm. We will view the field of algorithmic game theory through the lens of Theoretical Computer Science, with an emphasis on principled algorithms. Though the course is largely theoretical in nature, almost all problems considered have significant practical motivation which will also be highlighted. 

Topics covered include: