This textbook connects three vibrant areas at the interface between economics and computer science: algorithmic game theory, computational social choice, and fair division. It thus offers an interdisciplinary treatment of collective decision making from an economic and computational perspective. Part I introduces to algorithmic game theory, focusing on both noncooperative and cooperative game theory. Part II introduces to computational social choice, focusing on both preference aggregation (voting) and judgment aggregation. Part III introduces to fair division, focusing on the division of both a single divisible resource ("cake-cutting") and multiple indivisible and unshareable resources ("multiagent resource allocation"). In all these parts, much weight is given to the algorithmic and complexity-theoretic aspects of problems arising in these areas, and the interconnections between the three parts are of central interest.