  I survey recent progress on a classic and challenging problem in social
choice: the fair division of indivisible items. I discuss how a computational
perspective has provided interesting insights into and understanding of how to
divide items fairly and efficiently. This has involved bringing to bear tools
such as those used in knowledge representation, computational complexity,
approximation methods, game theory, online analysis and communication
complexity
